From 1def961b3af11a5720a0360977c229f2cf1d10d0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Wed, 12 Nov 2014 14:58:42 +0100 Subject: [PATCH] Imported Upstream version 3.3.5 --- AUTHORS | 67 +- COPYING.LESSER | 655 +- ChangeLog | 18946 +++--- GNUmakefile | 2 +- INSTALL | 12 +- Makefile.am | 35 +- Makefile.in | 878 +- NEWS | 1005 +- README | 53 +- THANKS | 35 +- TODO | 2 - aclocal.m4 | 844 +- build-aux/ar-lib | 15 +- build-aux/compile | 10 +- build-aux/config.guess | 184 +- build-aux/config.rpath | 2 +- build-aux/config.sub | 97 +- build-aux/depcomp | 455 +- build-aux/gendocs.sh | 15 +- build-aux/install-sh | 14 +- build-aux/ltmain.sh | 4 +- build-aux/mdate-sh | 15 +- build-aux/missing | 414 +- build-aux/pmccabe2html | 20 +- build-aux/snippet/arg-nonnull.h | 2 +- build-aux/snippet/c++defs.h | 2 +- build-aux/snippet/warn-on-use.h | 2 +- build-aux/test-driver | 139 + build-aux/texinfo.tex | 414 +- build-aux/useless-if-before-free | 2 +- build-aux/vc-list-files | 2 +- build-aux/ylwrap | 247 + cfg.mk | 215 +- config.h.in | 868 +- configure | 59891 +++++++++---------- configure.ac | 498 +- doc/Makefile.am | 884 +- doc/Makefile.in | 1754 +- doc/TODO | 56 +- doc/abstract-api.texi | 820 +- doc/alert-printlist.c | 148 +- doc/alerts.texi | 3 + doc/algorithms.texi | 576 +- doc/certtool.cfg | 98 +- doc/cha-auth.texi | 118 + doc/cha-bib.texi | 25 +- doc/cha-cert-auth.texi | 428 +- doc/cha-cert-auth2.texi | 535 +- doc/cha-crypto.texi | 66 + doc/cha-functions.texi | 19 + doc/cha-gtls-app.texi | 743 +- doc/cha-gtls-examples.texi | 20 +- doc/cha-internals.texi | 49 +- doc/cha-intro-tls.texi | 163 +- doc/cha-library.texi | 44 +- doc/cha-preface.texi | 4 +- doc/cha-shared-key.texi | 30 +- doc/cha-support.texi | 25 +- doc/cha-tokens.texi | 469 + doc/cha-upgrade.texi | 36 +- doc/common.c | 64 +- doc/common.h | 4 +- doc/compat-api.texi | 135 +- doc/core.c.texi | 178 +- doc/credentials/Makefile.in | 756 +- doc/credentials/openpgp/Makefile.in | 595 +- doc/credentials/srp/Makefile.in | 595 +- doc/credentials/x509/Makefile.in | 595 +- doc/credentials/x509/cert-ecc.pem | 30 +- doc/credentials/x509/key-ecc.pem | 44 +- doc/crypto-api.texi | 78 +- doc/cyclo/Makefile.in | 595 +- doc/cyclo/cyclo-gnutls.html | 18 +- doc/dane-api.texi | 309 + doc/doc.mk | 29 + doc/dtls-api.texi | 24 +- doc/enums.texi | 439 +- doc/enums/dane_cert_type_t | 9 + doc/enums/dane_cert_usage_t | 17 + doc/enums/dane_match_type_t | 11 + doc/enums/dane_query_status_t | 13 + doc/enums/dane_state_flags_t | 11 + doc/enums/dane_verify_flags_t | 11 + doc/enums/dane_verify_status_t | 11 + doc/enums/gnutls_alert_description_t | 2 + doc/enums/gnutls_certificate_import_flags | 29 + doc/enums/gnutls_certificate_print_formats_t | 2 + doc/enums/gnutls_certificate_status_t | 12 +- .../gnutls_certificate_verification_profiles_t | 29 + doc/enums/gnutls_certificate_verify_flags | 21 +- doc/enums/gnutls_cipher_algorithm_t | 10 + doc/enums/gnutls_handshake_description_t | 4 +- doc/enums/gnutls_kx_algorithm_t | 4 +- doc/enums/gnutls_mac_algorithm_t | 4 + doc/enums/gnutls_ocsp_cert_status_t | 12 + doc/enums/gnutls_ocsp_print_formats_t | 9 + doc/enums/gnutls_ocsp_resp_status_t | 17 + doc/enums/gnutls_ocsp_verify_reason_t | 19 + doc/enums/gnutls_params_type_t | 2 +- doc/enums/gnutls_pin_flag_t | 17 + doc/enums/gnutls_pkcs11_token_info_t | 8 +- doc/enums/gnutls_pkcs11_url_type_t | 29 + doc/enums/gnutls_pkcs12_bag_type_t | 16 + doc/enums/gnutls_pkcs_encrypt_flags_t | 10 +- doc/enums/gnutls_privkey_flags_t | 15 + doc/enums/gnutls_protocol_t | 14 +- doc/enums/gnutls_pubkey_flags_t | 13 + doc/enums/gnutls_sec_param_t | 14 +- doc/enums/gnutls_sign_algorithm_t | 4 + doc/enums/gnutls_srtp_profile_t | 13 + doc/enums/gnutls_tpmkey_fmt_t | 11 + doc/enums/gnutls_vdata_types_t | 11 + doc/enums/gnutls_x509_crl_reason_t | 25 + doc/errcodes.c | 177 +- doc/error_codes.texi | 19 +- doc/examples/Makefile.am | 15 +- doc/examples/Makefile.in | 879 +- doc/examples/ex-alert.c | 34 +- doc/examples/ex-cert-select-pkcs11.c | 258 +- doc/examples/ex-cert-select.c | 366 +- doc/examples/ex-client-anon.c | 172 +- doc/examples/ex-client-dtls.c | 210 +- doc/examples/ex-client-psk.c | 190 +- doc/examples/ex-client-resume.c | 245 +- doc/examples/ex-client-srp.c | 189 +- doc/examples/ex-client-x509.c | 370 +- doc/examples/ex-crq.c | 102 +- doc/examples/ex-ocsp-client.c | 469 +- doc/examples/ex-pkcs11-list.c | 56 +- doc/examples/ex-pkcs12.c | 218 +- doc/examples/ex-serv-anon.c | 263 +- doc/examples/ex-serv-dtls.c | 683 +- doc/examples/ex-serv-pgp.c | 273 +- doc/examples/ex-serv-psk.c | 331 +- doc/examples/ex-serv-srp.c | 276 +- doc/examples/ex-serv-x509.c | 316 +- doc/examples/ex-session-info.c | 220 +- doc/examples/ex-verify-ssh.c | 212 +- doc/examples/ex-verify.c | 209 +- doc/examples/ex-x509-info.c | 163 +- doc/examples/examples.h | 25 +- doc/examples/print-ciphersuites.c | 87 +- doc/examples/tcp.c | 57 +- doc/examples/udp.c | 59 +- doc/examples/verify.c | 127 +- doc/functions/dane_cert_type_name | 11 + doc/functions/dane_cert_type_name.short | 1 + doc/functions/dane_cert_usage_name | 12 + doc/functions/dane_cert_usage_name.short | 1 + doc/functions/dane_match_type_name | 12 + doc/functions/dane_match_type_name.short | 1 + doc/functions/dane_query_data | 23 + doc/functions/dane_query_data.short | 1 + doc/functions/dane_query_deinit | 9 + doc/functions/dane_query_deinit.short | 1 + doc/functions/dane_query_entries | 11 + doc/functions/dane_query_entries.short | 1 + doc/functions/dane_query_status | 12 + doc/functions/dane_query_status.short | 1 + doc/functions/dane_query_tlsa | 21 + doc/functions/dane_query_tlsa.short | 1 + doc/functions/dane_raw_tlsa | 27 + doc/functions/dane_raw_tlsa.short | 1 + doc/functions/dane_state_deinit | 9 + doc/functions/dane_state_deinit.short | 1 + doc/functions/dane_state_init | 14 + doc/functions/dane_state_init.short | 1 + doc/functions/dane_state_set_dlv_file | 12 + doc/functions/dane_state_set_dlv_file.short | 1 + doc/functions/dane_strerror | 15 + doc/functions/dane_strerror.short | 1 + doc/functions/dane_verification_status_print | 19 + doc/functions/dane_verification_status_print.short | 1 + doc/functions/dane_verify_crt | 45 + doc/functions/dane_verify_crt.short | 1 + doc/functions/dane_verify_crt_raw | 40 + doc/functions/dane_verify_crt_raw.short | 1 + doc/functions/dane_verify_session_crt | 32 + doc/functions/dane_verify_session_crt.short | 1 + doc/functions/gnutls_alpn_get_selected_protocol | 18 + .../gnutls_alpn_get_selected_protocol.short | 1 + doc/functions/gnutls_alpn_set_protocols | 24 + doc/functions/gnutls_alpn_set_protocols.short | 1 + .../gnutls_anon_allocate_client_credentials | 2 +- .../gnutls_anon_allocate_client_credentials.short | 2 +- .../gnutls_anon_allocate_server_credentials | 2 +- .../gnutls_anon_allocate_server_credentials.short | 2 +- .../gnutls_anon_set_server_params_function | 2 +- .../gnutls_anon_set_server_params_function.short | 2 +- .../gnutls_certificate_allocate_credentials | 2 +- .../gnutls_certificate_allocate_credentials.short | 2 +- .../gnutls_certificate_client_get_request_status | 3 +- ...gnutls_certificate_client_set_retrieve_function | 37 + ..._certificate_client_set_retrieve_function.short | 1 + doc/functions/gnutls_certificate_get_crt_raw | 24 + doc/functions/gnutls_certificate_get_crt_raw.short | 1 + doc/functions/gnutls_certificate_get_issuer | 2 +- doc/functions/gnutls_certificate_get_issuer.short | 2 +- doc/functions/gnutls_certificate_get_peers | 4 +- doc/functions/gnutls_certificate_get_peers.short | 2 +- .../gnutls_certificate_get_peers_subkey_id | 17 + .../gnutls_certificate_get_peers_subkey_id.short | 1 + ...gnutls_certificate_server_set_retrieve_function | 26 + ..._certificate_server_set_retrieve_function.short | 1 + doc/functions/gnutls_certificate_set_dh_params | 5 +- doc/functions/gnutls_certificate_set_key | 13 +- doc/functions/gnutls_certificate_set_key.short | 2 +- ...gnutls_certificate_set_ocsp_status_request_file | 23 + ..._certificate_set_ocsp_status_request_file.short | 1 + ...ls_certificate_set_ocsp_status_request_function | 32 + ...tificate_set_ocsp_status_request_function.short | 1 + .../gnutls_certificate_set_openpgp_key_file | 2 +- .../gnutls_certificate_set_openpgp_key_file.short | 2 +- .../gnutls_certificate_set_openpgp_key_file2 | 2 +- .../gnutls_certificate_set_openpgp_key_file2.short | 2 +- .../gnutls_certificate_set_openpgp_key_mem | 2 +- .../gnutls_certificate_set_openpgp_key_mem.short | 2 +- .../gnutls_certificate_set_openpgp_key_mem2 | 2 +- .../gnutls_certificate_set_openpgp_key_mem2.short | 2 +- .../gnutls_certificate_set_openpgp_keyring_mem | 2 +- ...nutls_certificate_set_openpgp_keyring_mem.short | 2 +- .../gnutls_certificate_set_params_function | 2 +- .../gnutls_certificate_set_params_function.short | 2 +- doc/functions/gnutls_certificate_set_pin_function | 20 + .../gnutls_certificate_set_pin_function.short | 1 + .../gnutls_certificate_set_rsa_export_params | 3 +- .../gnutls_certificate_set_rsa_export_params.short | 2 +- doc/functions/gnutls_certificate_set_trust_list | 20 + .../gnutls_certificate_set_trust_list.short | 1 + doc/functions/gnutls_certificate_set_verify_flags | 9 +- .../gnutls_certificate_set_verify_flags.short | 2 +- doc/functions/gnutls_certificate_set_x509_crl | 2 +- doc/functions/gnutls_certificate_set_x509_key | 7 +- doc/functions/gnutls_certificate_set_x509_key_file | 12 +- .../gnutls_certificate_set_x509_key_file2 | 38 + .../gnutls_certificate_set_x509_key_file2.short | 1 + doc/functions/gnutls_certificate_set_x509_key_mem2 | 34 + .../gnutls_certificate_set_x509_key_mem2.short | 1 + .../gnutls_certificate_set_x509_simple_pkcs12_file | 12 +- .../gnutls_certificate_set_x509_simple_pkcs12_mem | 15 +- .../gnutls_certificate_set_x509_system_trust | 4 +- .../gnutls_certificate_set_x509_system_trust.short | 2 +- .../gnutls_certificate_set_x509_trust_file | 7 +- .../gnutls_certificate_set_x509_trust_file.short | 2 +- doc/functions/gnutls_certificate_type_get_name | 2 +- .../gnutls_certificate_type_get_name.short | 2 +- doc/functions/gnutls_certificate_type_list | 4 +- .../gnutls_certificate_verification_status_print | 23 + ...tls_certificate_verification_status_print.short | 1 + doc/functions/gnutls_certificate_verify_peers | 36 + .../gnutls_certificate_verify_peers.short | 1 + doc/functions/gnutls_certificate_verify_peers2 | 25 +- doc/functions/gnutls_certificate_verify_peers3 | 31 + .../gnutls_certificate_verify_peers3.short | 1 + doc/functions/gnutls_cipher_decrypt | 3 + doc/functions/gnutls_cipher_decrypt2 | 3 + doc/functions/gnutls_cipher_get_block_size | 3 +- doc/functions/gnutls_cipher_get_iv_size | 13 + doc/functions/gnutls_cipher_get_iv_size.short | 1 + doc/functions/gnutls_cipher_get_tag_size | 12 + doc/functions/gnutls_cipher_get_tag_size.short | 1 + doc/functions/gnutls_cipher_suite_get_name | 2 +- doc/functions/gnutls_cipher_suite_get_name.short | 2 +- doc/functions/gnutls_compression_get_name | 2 +- doc/functions/gnutls_compression_get_name.short | 2 +- doc/functions/gnutls_credentials_get | 27 + doc/functions/gnutls_credentials_get.short | 1 + doc/functions/gnutls_db_check_entry | 4 +- doc/functions/gnutls_db_check_entry_time | 12 + doc/functions/gnutls_db_check_entry_time.short | 1 + .../gnutls_db_get_default_cache_expiration | 8 + .../gnutls_db_get_default_cache_expiration.short | 1 + doc/functions/gnutls_dh_params_export2_pkcs3 | 23 + doc/functions/gnutls_dh_params_export2_pkcs3.short | 1 + doc/functions/gnutls_dh_params_generate2 | 4 +- doc/functions/gnutls_dh_params_generate2.short | 2 +- doc/functions/gnutls_dh_set_prime_bits | 7 +- doc/functions/gnutls_digest_get_id | 13 + doc/functions/gnutls_digest_get_id.short | 1 + doc/functions/gnutls_digest_get_name | 12 + doc/functions/gnutls_digest_get_name.short | 1 + doc/functions/gnutls_digest_list | 13 + doc/functions/gnutls_digest_list.short | 1 + doc/functions/gnutls_dtls_cookie_send | 6 +- doc/functions/gnutls_dtls_cookie_send.short | 2 +- doc/functions/gnutls_dtls_cookie_verify | 6 +- doc/functions/gnutls_dtls_cookie_verify.short | 2 +- doc/functions/gnutls_dtls_get_data_mtu | 2 +- doc/functions/gnutls_dtls_prestate_set | 5 +- doc/functions/gnutls_dtls_prestate_set.short | 2 +- doc/functions/gnutls_dtls_set_data_mtu | 3 + doc/functions/gnutls_dtls_set_timeouts | 2 + doc/functions/gnutls_error_is_fatal | 11 +- doc/functions/gnutls_est_record_overhead_size | 25 + .../gnutls_est_record_overhead_size.short | 1 + doc/functions/gnutls_fingerprint | 2 +- doc/functions/gnutls_fips140_mode_enabled | 12 + doc/functions/gnutls_fips140_mode_enabled.short | 1 + doc/functions/gnutls_global_deinit | 3 - doc/functions/gnutls_global_init | 22 +- doc/functions/gnutls_global_set_audit_log_function | 11 +- doc/functions/gnutls_global_set_log_level | 2 +- doc/functions/gnutls_global_set_mem_functions | 4 + doc/functions/gnutls_global_set_mutex | 7 +- .../gnutls_handshake_description_get_name | 12 + .../gnutls_handshake_description_get_name.short | 1 + doc/functions/gnutls_handshake_set_hook_function | 31 + .../gnutls_handshake_set_hook_function.short | 1 + ...gnutls_handshake_set_post_client_hello_function | 7 +- ..._handshake_set_post_client_hello_function.short | 2 +- .../gnutls_handshake_set_private_extensions | 2 +- doc/functions/gnutls_handshake_set_random | 22 + doc/functions/gnutls_handshake_set_random.short | 1 + doc/functions/gnutls_handshake_set_timeout | 15 + doc/functions/gnutls_handshake_set_timeout.short | 1 + doc/functions/gnutls_hash_output | 3 +- doc/functions/gnutls_heartbeat_allowed | 16 + doc/functions/gnutls_heartbeat_allowed.short | 1 + doc/functions/gnutls_heartbeat_enable | 21 + doc/functions/gnutls_heartbeat_enable.short | 1 + doc/functions/gnutls_heartbeat_get_timeout | 17 + doc/functions/gnutls_heartbeat_get_timeout.short | 1 + doc/functions/gnutls_heartbeat_ping | 24 + doc/functions/gnutls_heartbeat_ping.short | 1 + doc/functions/gnutls_heartbeat_pong | 15 + doc/functions/gnutls_heartbeat_pong.short | 1 + doc/functions/gnutls_heartbeat_set_timeouts | 22 + doc/functions/gnutls_heartbeat_set_timeouts.short | 1 + doc/functions/gnutls_hex_encode | 2 + doc/functions/gnutls_hmac_init | 3 + doc/functions/gnutls_hmac_output | 3 +- doc/functions/gnutls_hmac_set_nonce | 15 + doc/functions/gnutls_hmac_set_nonce.short | 1 + doc/functions/gnutls_init | 9 + doc/functions/gnutls_key_generate | 2 +- doc/functions/gnutls_load_file | 18 + doc/functions/gnutls_load_file.short | 1 + doc/functions/gnutls_mac_get_key_size | 2 +- doc/functions/gnutls_mac_get_nonce_size | 13 + doc/functions/gnutls_mac_get_nonce_size.short | 1 + doc/functions/gnutls_mac_list | 5 +- doc/functions/gnutls_ocsp_req_print | 4 +- doc/functions/gnutls_ocsp_resp_check_crt | 2 + doc/functions/gnutls_ocsp_resp_get_single | 28 +- doc/functions/gnutls_ocsp_resp_print | 4 +- .../gnutls_ocsp_status_request_enable_client | 23 + .../gnutls_ocsp_status_request_enable_client.short | 1 + doc/functions/gnutls_ocsp_status_request_get | 19 + doc/functions/gnutls_ocsp_status_request_get.short | 1 + .../gnutls_ocsp_status_request_is_checked | 18 + .../gnutls_ocsp_status_request_is_checked.short | 1 + doc/functions/gnutls_openpgp_crt_check_hostname | 2 +- doc/functions/gnutls_openpgp_crt_check_hostname2 | 20 + .../gnutls_openpgp_crt_check_hostname2.short | 1 + doc/functions/gnutls_openpgp_crt_export2 | 18 + doc/functions/gnutls_openpgp_crt_export2.short | 1 + doc/functions/gnutls_openpgp_crt_verify_ring | 4 + doc/functions/gnutls_openpgp_privkey_export2 | 22 + doc/functions/gnutls_openpgp_privkey_export2.short | 1 + ...gnutls_openpgp_privkey_get_subkey_creation_time | 2 +- ..._openpgp_privkey_get_subkey_creation_time.short | 2 +- ...utls_openpgp_privkey_get_subkey_expiration_time | 16 + ...penpgp_privkey_get_subkey_expiration_time.short | 1 + .../gnutls_openpgp_privkey_get_subkey_pk_algorithm | 2 +- ...s_openpgp_privkey_get_subkey_pk_algorithm.short | 2 +- ...nutls_openpgp_privkey_get_subkey_revoked_status | 2 +- ...openpgp_privkey_get_subkey_revoked_status.short | 2 +- .../gnutls_openpgp_privkey_set_preferred_key_id | 2 +- ...utls_openpgp_privkey_set_preferred_key_id.short | 2 +- doc/functions/gnutls_packet_deinit | 12 + doc/functions/gnutls_packet_deinit.short | 1 + doc/functions/gnutls_packet_get | 16 + doc/functions/gnutls_packet_get.short | 1 + doc/functions/gnutls_pcert_import_openpgp | 2 +- doc/functions/gnutls_pcert_import_openpgp.short | 2 +- doc/functions/gnutls_pcert_import_openpgp_raw | 2 +- .../gnutls_pcert_import_openpgp_raw.short | 2 +- doc/functions/gnutls_pcert_import_x509 | 2 +- doc/functions/gnutls_pcert_import_x509.short | 2 +- doc/functions/gnutls_pcert_import_x509_raw | 2 +- doc/functions/gnutls_pcert_import_x509_raw.short | 2 +- doc/functions/gnutls_pkcs11_add_provider | 5 + doc/functions/gnutls_pkcs11_crt_is_known | 29 + doc/functions/gnutls_pkcs11_crt_is_known.short | 1 + doc/functions/gnutls_pkcs11_deinit | 2 + doc/functions/gnutls_pkcs11_get_pin_function | 14 + doc/functions/gnutls_pkcs11_get_pin_function.short | 1 + doc/functions/gnutls_pkcs11_get_raw_issuer | 25 + doc/functions/gnutls_pkcs11_get_raw_issuer.short | 1 + doc/functions/gnutls_pkcs11_init | 7 +- doc/functions/gnutls_pkcs11_obj_export | 5 +- doc/functions/gnutls_pkcs11_obj_export2 | 20 + doc/functions/gnutls_pkcs11_obj_export2.short | 1 + doc/functions/gnutls_pkcs11_obj_export3 | 22 + doc/functions/gnutls_pkcs11_obj_export3.short | 1 + doc/functions/gnutls_pkcs11_obj_import_url | 8 +- doc/functions/gnutls_pkcs11_obj_import_url.short | 2 +- doc/functions/gnutls_pkcs11_obj_list_import_url2 | 24 + .../gnutls_pkcs11_obj_list_import_url2.short | 1 + doc/functions/gnutls_pkcs11_obj_set_pin_function | 17 + .../gnutls_pkcs11_obj_set_pin_function.short | 1 + doc/functions/gnutls_pkcs11_privkey_generate | 4 +- doc/functions/gnutls_pkcs11_privkey_generate.short | 2 +- doc/functions/gnutls_pkcs11_privkey_generate2 | 30 + .../gnutls_pkcs11_privkey_generate2.short | 1 + .../gnutls_pkcs11_privkey_set_pin_function | 17 + .../gnutls_pkcs11_privkey_set_pin_function.short | 1 + doc/functions/gnutls_pkcs11_privkey_status | 14 + doc/functions/gnutls_pkcs11_privkey_status.short | 1 + doc/functions/gnutls_pkcs11_reinit | 3 + doc/functions/gnutls_pkcs11_set_pin_function | 6 +- doc/functions/gnutls_pkcs11_set_pin_function.short | 2 +- doc/functions/gnutls_pkcs11_token_get_flags | 3 +- doc/functions/gnutls_pkcs11_token_get_random | 18 + doc/functions/gnutls_pkcs11_token_get_random.short | 1 + doc/functions/gnutls_pkcs11_token_set_pin | 2 +- doc/functions/gnutls_pkcs12_export2 | 23 + doc/functions/gnutls_pkcs12_export2.short | 1 + doc/functions/gnutls_pkcs12_simple_parse | 60 + doc/functions/gnutls_pkcs12_simple_parse.short | 1 + doc/functions/gnutls_pkcs7_deinit | 1 + doc/functions/gnutls_pkcs7_export2 | 23 + doc/functions/gnutls_pkcs7_export2.short | 1 + doc/functions/gnutls_prf | 15 +- doc/functions/gnutls_prf_raw | 10 +- .../gnutls_priority_certificate_type_list | 2 +- .../gnutls_priority_certificate_type_list.short | 2 +- doc/functions/gnutls_priority_cipher_list | 16 + doc/functions/gnutls_priority_cipher_list.short | 1 + doc/functions/gnutls_priority_compression_list | 2 +- .../gnutls_priority_compression_list.short | 2 +- doc/functions/gnutls_priority_ecc_curve_list | 2 +- doc/functions/gnutls_priority_ecc_curve_list.short | 2 +- doc/functions/gnutls_priority_init | 24 +- doc/functions/gnutls_priority_kx_list | 16 + doc/functions/gnutls_priority_kx_list.short | 1 + doc/functions/gnutls_priority_mac_list | 16 + doc/functions/gnutls_priority_mac_list.short | 1 + doc/functions/gnutls_priority_protocol_list | 2 +- doc/functions/gnutls_priority_protocol_list.short | 2 +- doc/functions/gnutls_priority_set_direct | 2 + doc/functions/gnutls_priority_sign_list | 2 +- doc/functions/gnutls_priority_sign_list.short | 2 +- doc/functions/gnutls_privkey_export_dsa_raw | 25 + doc/functions/gnutls_privkey_export_dsa_raw.short | 1 + doc/functions/gnutls_privkey_export_ecc_raw | 23 + doc/functions/gnutls_privkey_export_ecc_raw.short | 1 + doc/functions/gnutls_privkey_export_rsa_raw | 31 + doc/functions/gnutls_privkey_export_rsa_raw.short | 1 + doc/functions/gnutls_privkey_generate | 27 + doc/functions/gnutls_privkey_generate.short | 1 + doc/functions/gnutls_privkey_import_dsa_raw | 24 + doc/functions/gnutls_privkey_import_dsa_raw.short | 1 + doc/functions/gnutls_privkey_import_ecc_raw | 24 + doc/functions/gnutls_privkey_import_ecc_raw.short | 1 + doc/functions/gnutls_privkey_import_ext | 4 +- doc/functions/gnutls_privkey_import_ext.short | 2 +- doc/functions/gnutls_privkey_import_ext2 | 34 + doc/functions/gnutls_privkey_import_ext2.short | 1 + doc/functions/gnutls_privkey_import_openpgp_raw | 23 + .../gnutls_privkey_import_openpgp_raw.short | 1 + doc/functions/gnutls_privkey_import_pkcs11_url | 17 + .../gnutls_privkey_import_pkcs11_url.short | 1 + doc/functions/gnutls_privkey_import_rsa_raw | 30 + doc/functions/gnutls_privkey_import_rsa_raw.short | 1 + doc/functions/gnutls_privkey_import_tpm_raw | 27 + doc/functions/gnutls_privkey_import_tpm_raw.short | 1 + doc/functions/gnutls_privkey_import_tpm_url | 31 + doc/functions/gnutls_privkey_import_tpm_url.short | 1 + doc/functions/gnutls_privkey_import_url | 20 + doc/functions/gnutls_privkey_import_url.short | 1 + doc/functions/gnutls_privkey_import_x509_raw | 26 + doc/functions/gnutls_privkey_import_x509_raw.short | 1 + doc/functions/gnutls_privkey_set_pin_function | 20 + .../gnutls_privkey_set_pin_function.short | 1 + doc/functions/gnutls_privkey_sign_data | 4 +- doc/functions/gnutls_privkey_sign_hash | 7 +- doc/functions/gnutls_privkey_sign_raw_data | 27 + doc/functions/gnutls_privkey_sign_raw_data.short | 1 + doc/functions/gnutls_privkey_status | 17 + doc/functions/gnutls_privkey_status.short | 1 + doc/functions/gnutls_privkey_verify_params | 14 + doc/functions/gnutls_privkey_verify_params.short | 1 + .../gnutls_psk_allocate_client_credentials | 2 +- .../gnutls_psk_allocate_client_credentials.short | 2 +- .../gnutls_psk_allocate_server_credentials | 2 +- .../gnutls_psk_allocate_server_credentials.short | 2 +- .../gnutls_psk_set_client_credentials_function | 2 +- ...nutls_psk_set_client_credentials_function.short | 2 +- .../gnutls_psk_set_server_credentials_file | 2 +- .../gnutls_psk_set_server_credentials_file.short | 2 +- .../gnutls_psk_set_server_credentials_function | 2 +- ...nutls_psk_set_server_credentials_function.short | 2 +- doc/functions/gnutls_pubkey_export2 | 25 + doc/functions/gnutls_pubkey_export2.short | 1 + doc/functions/gnutls_pubkey_export_dsa_raw | 23 + doc/functions/gnutls_pubkey_export_dsa_raw.short | 1 + doc/functions/gnutls_pubkey_export_ecc_raw | 21 + doc/functions/gnutls_pubkey_export_ecc_raw.short | 1 + doc/functions/gnutls_pubkey_export_ecc_x962 | 19 + doc/functions/gnutls_pubkey_export_ecc_x962.short | 1 + doc/functions/gnutls_pubkey_export_rsa_raw | 19 + doc/functions/gnutls_pubkey_export_rsa_raw.short | 1 + doc/functions/gnutls_pubkey_get_key_id | 2 +- doc/functions/gnutls_pubkey_get_pk_dsa_raw | 23 - doc/functions/gnutls_pubkey_get_pk_dsa_raw.short | 1 - doc/functions/gnutls_pubkey_get_pk_ecc_raw | 21 - doc/functions/gnutls_pubkey_get_pk_ecc_raw.short | 1 - doc/functions/gnutls_pubkey_get_pk_ecc_x962 | 19 - doc/functions/gnutls_pubkey_get_pk_ecc_x962.short | 1 - doc/functions/gnutls_pubkey_get_pk_rsa_raw | 19 - doc/functions/gnutls_pubkey_get_pk_rsa_raw.short | 1 - .../gnutls_pubkey_get_preferred_hash_algorithm | 5 +- ...nutls_pubkey_get_preferred_hash_algorithm.short | 2 +- doc/functions/gnutls_pubkey_import_openpgp_raw | 23 + .../gnutls_pubkey_import_openpgp_raw.short | 1 + doc/functions/gnutls_pubkey_import_tpm_raw | 26 + doc/functions/gnutls_pubkey_import_tpm_raw.short | 1 + doc/functions/gnutls_pubkey_import_tpm_url | 27 + doc/functions/gnutls_pubkey_import_tpm_url.short | 1 + doc/functions/gnutls_pubkey_import_url | 19 + doc/functions/gnutls_pubkey_import_url.short | 1 + doc/functions/gnutls_pubkey_import_x509_crq | 19 + doc/functions/gnutls_pubkey_import_x509_crq.short | 1 + doc/functions/gnutls_pubkey_import_x509_raw | 21 + doc/functions/gnutls_pubkey_import_x509_raw.short | 1 + doc/functions/gnutls_pubkey_print | 24 + doc/functions/gnutls_pubkey_print.short | 1 + doc/functions/gnutls_pubkey_set_pin_function | 20 + doc/functions/gnutls_pubkey_set_pin_function.short | 1 + doc/functions/gnutls_pubkey_verify_data | 7 +- doc/functions/gnutls_pubkey_verify_data2 | 2 +- doc/functions/gnutls_pubkey_verify_hash | 2 +- doc/functions/gnutls_pubkey_verify_hash2 | 6 +- doc/functions/gnutls_pubkey_verify_params | 14 + doc/functions/gnutls_pubkey_verify_params.short | 1 + doc/functions/gnutls_random_art | 2 +- doc/functions/gnutls_random_art.short | 2 +- doc/functions/gnutls_range_split | 23 + doc/functions/gnutls_range_split.short | 1 + doc/functions/gnutls_record_can_use_length_hiding | 18 + .../gnutls_record_can_use_length_hiding.short | 1 + doc/functions/gnutls_record_check_corked | 14 + doc/functions/gnutls_record_check_corked.short | 1 + doc/functions/gnutls_record_check_pending | 2 +- doc/functions/gnutls_record_cork | 15 + doc/functions/gnutls_record_cork.short | 1 + doc/functions/gnutls_record_disable_padding | 4 +- doc/functions/gnutls_record_overhead_size | 12 + doc/functions/gnutls_record_overhead_size.short | 1 + doc/functions/gnutls_record_recv_packet | 23 + doc/functions/gnutls_record_recv_packet.short | 1 + doc/functions/gnutls_record_send | 26 +- doc/functions/gnutls_record_send_range | 27 + doc/functions/gnutls_record_send_range.short | 1 + doc/functions/gnutls_record_set_max_empty_records | 17 + .../gnutls_record_set_max_empty_records.short | 1 + doc/functions/gnutls_record_set_timeout | 15 + doc/functions/gnutls_record_set_timeout.short | 1 + doc/functions/gnutls_record_uncork | 25 + doc/functions/gnutls_record_uncork.short | 1 + doc/functions/gnutls_rehandshake | 4 +- doc/functions/gnutls_rnd_refresh | 14 + doc/functions/gnutls_rnd_refresh.short | 1 + doc/functions/gnutls_rsa_params_export_pkcs1 | 4 +- doc/functions/gnutls_rsa_params_import_pkcs1 | 4 +- doc/functions/gnutls_sec_param_to_symmetric_bits | 14 + .../gnutls_sec_param_to_symmetric_bits.short | 1 + .../gnutls_session_enable_compatibility_mode | 7 +- doc/functions/gnutls_session_force_valid | 13 + doc/functions/gnutls_session_force_valid.short | 1 + doc/functions/gnutls_session_get_data | 12 +- doc/functions/gnutls_session_get_data2 | 14 +- doc/functions/gnutls_session_get_desc | 14 + doc/functions/gnutls_session_get_desc.short | 1 + doc/functions/gnutls_session_get_id | 8 +- doc/functions/gnutls_session_get_id2 | 17 + doc/functions/gnutls_session_get_id2.short | 1 + doc/functions/gnutls_session_get_random | 4 +- doc/functions/gnutls_session_get_random.short | 2 +- doc/functions/gnutls_session_set_id | 18 + doc/functions/gnutls_session_set_id.short | 1 + doc/functions/gnutls_session_set_premaster | 2 +- doc/functions/gnutls_session_set_premaster.short | 2 +- doc/functions/gnutls_session_set_ptr | 2 +- doc/functions/gnutls_set_default_priority | 5 +- doc/functions/gnutls_sign_algorithm_get | 14 + doc/functions/gnutls_sign_algorithm_get.short | 1 + doc/functions/gnutls_sign_algorithm_get_client | 14 + .../gnutls_sign_algorithm_get_client.short | 1 + doc/functions/gnutls_sign_get_hash_algorithm | 14 + doc/functions/gnutls_sign_get_hash_algorithm.short | 1 + doc/functions/gnutls_sign_get_id | 4 +- doc/functions/gnutls_sign_get_pk_algorithm | 14 + doc/functions/gnutls_sign_get_pk_algorithm.short | 1 + doc/functions/gnutls_sign_is_secure | 10 + doc/functions/gnutls_sign_is_secure.short | 1 + .../gnutls_srp_allocate_client_credentials | 2 +- .../gnutls_srp_allocate_client_credentials.short | 2 +- .../gnutls_srp_allocate_server_credentials | 2 +- .../gnutls_srp_allocate_server_credentials.short | 2 +- .../gnutls_srp_set_client_credentials_function | 2 +- ...nutls_srp_set_client_credentials_function.short | 2 +- .../gnutls_srp_set_server_credentials_function | 12 +- ...nutls_srp_set_server_credentials_function.short | 2 +- doc/functions/gnutls_srp_set_server_fake_salt_seed | 35 + .../gnutls_srp_set_server_fake_salt_seed.short | 1 + doc/functions/gnutls_srtp_get_keys | 30 + doc/functions/gnutls_srtp_get_keys.short | 1 + doc/functions/gnutls_srtp_get_mki | 18 + doc/functions/gnutls_srtp_get_mki.short | 1 + doc/functions/gnutls_srtp_get_profile_id | 16 + doc/functions/gnutls_srtp_get_profile_id.short | 1 + doc/functions/gnutls_srtp_get_profile_name | 15 + doc/functions/gnutls_srtp_get_profile_name.short | 1 + doc/functions/gnutls_srtp_get_selected_profile | 16 + .../gnutls_srtp_get_selected_profile.short | 1 + doc/functions/gnutls_srtp_set_mki | 17 + doc/functions/gnutls_srtp_set_mki.short | 1 + doc/functions/gnutls_srtp_set_profile | 17 + doc/functions/gnutls_srtp_set_profile.short | 1 + doc/functions/gnutls_srtp_set_profile_direct | 20 + doc/functions/gnutls_srtp_set_profile_direct.short | 1 + doc/functions/gnutls_store_commitment | 2 +- doc/functions/gnutls_store_commitment.short | 2 +- doc/functions/gnutls_store_pubkey | 6 +- doc/functions/gnutls_store_pubkey.short | 2 +- doc/functions/gnutls_subject_alt_names_deinit | 11 + .../gnutls_subject_alt_names_deinit.short | 1 + doc/functions/gnutls_subject_alt_names_get | 24 + doc/functions/gnutls_subject_alt_names_get.short | 1 + doc/functions/gnutls_subject_alt_names_init | 13 + doc/functions/gnutls_subject_alt_names_init.short | 1 + doc/functions/gnutls_subject_alt_names_set | 20 + doc/functions/gnutls_subject_alt_names_set.short | 1 + doc/functions/gnutls_supplemental_get_name | 2 +- doc/functions/gnutls_supplemental_get_name.short | 2 +- doc/functions/gnutls_tdb_init | 2 +- doc/functions/gnutls_tdb_init.short | 2 +- doc/functions/gnutls_tdb_set_store_commitment_func | 2 +- .../gnutls_tdb_set_store_commitment_func.short | 2 +- doc/functions/gnutls_tpm_get_registered | 14 + doc/functions/gnutls_tpm_get_registered.short | 1 + doc/functions/gnutls_tpm_key_list_deinit | 11 + doc/functions/gnutls_tpm_key_list_deinit.short | 1 + doc/functions/gnutls_tpm_key_list_get_url | 23 + doc/functions/gnutls_tpm_key_list_get_url.short | 1 + doc/functions/gnutls_tpm_privkey_delete | 17 + doc/functions/gnutls_tpm_privkey_delete.short | 1 + doc/functions/gnutls_tpm_privkey_generate | 40 + doc/functions/gnutls_tpm_privkey_generate.short | 1 + doc/functions/gnutls_transport_get_int | 15 + doc/functions/gnutls_transport_get_int.short | 1 + doc/functions/gnutls_transport_get_int2 | 17 + doc/functions/gnutls_transport_get_int2.short | 1 + doc/functions/gnutls_transport_set_int | 14 + doc/functions/gnutls_transport_set_int.short | 1 + doc/functions/gnutls_transport_set_int2 | 18 + doc/functions/gnutls_transport_set_int2.short | 1 + .../gnutls_transport_set_pull_timeout_function | 8 +- doc/functions/gnutls_url_is_supported | 15 + doc/functions/gnutls_url_is_supported.short | 1 + doc/functions/gnutls_verify_stored_pubkey | 8 +- doc/functions/gnutls_verify_stored_pubkey.short | 2 +- doc/functions/gnutls_x509_aia_deinit | 11 + doc/functions/gnutls_x509_aia_deinit.short | 1 + doc/functions/gnutls_x509_aia_get | 28 + doc/functions/gnutls_x509_aia_get.short | 1 + doc/functions/gnutls_x509_aia_init | 13 + doc/functions/gnutls_x509_aia_init.short | 1 + doc/functions/gnutls_x509_aia_set | 23 + doc/functions/gnutls_x509_aia_set.short | 1 + doc/functions/gnutls_x509_aki_deinit | 11 + doc/functions/gnutls_x509_aki_deinit.short | 1 + doc/functions/gnutls_x509_aki_get_cert_issuer | 25 + .../gnutls_x509_aki_get_cert_issuer.short | 1 + doc/functions/gnutls_x509_aki_get_id | 17 + doc/functions/gnutls_x509_aki_get_id.short | 1 + doc/functions/gnutls_x509_aki_init | 13 + doc/functions/gnutls_x509_aki_init.short | 1 + doc/functions/gnutls_x509_aki_set_cert_issuer | 23 + .../gnutls_x509_aki_set_cert_issuer.short | 1 + doc/functions/gnutls_x509_aki_set_id | 15 + doc/functions/gnutls_x509_aki_set_id.short | 1 + doc/functions/gnutls_x509_crl_check_issuer | 7 +- doc/functions/gnutls_x509_crl_deinit | 2 +- doc/functions/gnutls_x509_crl_dist_points_deinit | 11 + .../gnutls_x509_crl_dist_points_deinit.short | 1 + doc/functions/gnutls_x509_crl_dist_points_get | 21 + .../gnutls_x509_crl_dist_points_get.short | 1 + doc/functions/gnutls_x509_crl_dist_points_init | 13 + .../gnutls_x509_crl_dist_points_init.short | 1 + doc/functions/gnutls_x509_crl_dist_points_set | 20 + .../gnutls_x509_crl_dist_points_set.short | 1 + doc/functions/gnutls_x509_crl_export2 | 23 + doc/functions/gnutls_x509_crl_export2.short | 1 + .../gnutls_x509_crl_get_authority_key_gn_serial | 4 +- ...utls_x509_crl_get_authority_key_gn_serial.short | 2 +- doc/functions/gnutls_x509_crl_get_authority_key_id | 2 +- doc/functions/gnutls_x509_crl_get_crt_serial | 3 + doc/functions/gnutls_x509_crl_get_extension_data2 | 22 + .../gnutls_x509_crl_get_extension_data2.short | 1 + doc/functions/gnutls_x509_crl_get_issuer_dn2 | 19 + doc/functions/gnutls_x509_crl_get_issuer_dn2.short | 1 + doc/functions/gnutls_x509_crl_get_issuer_dn_by_oid | 2 +- doc/functions/gnutls_x509_crl_get_number | 2 +- doc/functions/gnutls_x509_crl_iter_crt_serial | 28 + .../gnutls_x509_crl_iter_crt_serial.short | 1 + doc/functions/gnutls_x509_crl_iter_deinit | 9 + doc/functions/gnutls_x509_crl_iter_deinit.short | 1 + doc/functions/gnutls_x509_crl_print | 2 +- doc/functions/gnutls_x509_crl_verify | 15 +- doc/functions/gnutls_x509_crl_verify.short | 2 +- doc/functions/gnutls_x509_crq_export2 | 24 + doc/functions/gnutls_x509_crq_export2.short | 1 + doc/functions/gnutls_x509_crq_get_attribute_by_oid | 11 +- .../gnutls_x509_crq_get_attribute_by_oid.short | 2 +- doc/functions/gnutls_x509_crq_get_attribute_data | 2 +- doc/functions/gnutls_x509_crq_get_attribute_info | 2 +- .../gnutls_x509_crq_get_basic_constraints | 2 +- .../gnutls_x509_crq_get_challenge_password | 4 +- .../gnutls_x509_crq_get_challenge_password.short | 2 +- doc/functions/gnutls_x509_crq_get_dn | 6 +- doc/functions/gnutls_x509_crq_get_dn.short | 2 +- doc/functions/gnutls_x509_crq_get_dn2 | 19 + doc/functions/gnutls_x509_crq_get_dn2.short | 1 + doc/functions/gnutls_x509_crq_get_dn_by_oid | 12 +- doc/functions/gnutls_x509_crq_get_dn_by_oid.short | 2 +- doc/functions/gnutls_x509_crq_get_dn_oid | 2 +- doc/functions/gnutls_x509_crq_get_extension_by_oid | 10 +- .../gnutls_x509_crq_get_extension_by_oid.short | 2 +- doc/functions/gnutls_x509_crq_get_extension_data | 2 +- doc/functions/gnutls_x509_crq_get_extension_data2 | 24 + .../gnutls_x509_crq_get_extension_data2.short | 1 + doc/functions/gnutls_x509_crq_get_extension_info | 2 +- doc/functions/gnutls_x509_crq_get_key_id | 2 +- doc/functions/gnutls_x509_crq_get_key_usage | 2 +- .../gnutls_x509_crq_get_private_key_usage_period | 4 +- ...tls_x509_crq_get_private_key_usage_period.short | 2 +- doc/functions/gnutls_x509_crq_get_subject_alt_name | 2 +- doc/functions/gnutls_x509_crq_print | 2 +- doc/functions/gnutls_x509_crq_set_attribute_by_oid | 11 +- .../gnutls_x509_crq_set_attribute_by_oid.short | 2 +- doc/functions/gnutls_x509_crq_set_dn | 17 + doc/functions/gnutls_x509_crq_set_dn.short | 1 + doc/functions/gnutls_x509_crt_check_hostname | 8 +- doc/functions/gnutls_x509_crt_check_hostname2 | 26 + .../gnutls_x509_crt_check_hostname2.short | 1 + doc/functions/gnutls_x509_crt_check_issuer | 3 +- doc/functions/gnutls_x509_crt_export2 | 22 + doc/functions/gnutls_x509_crt_export2.short | 1 + .../gnutls_x509_crt_get_authority_info_access | 14 +- .../gnutls_x509_crt_get_authority_key_gn_serial | 4 +- ...utls_x509_crt_get_authority_key_gn_serial.short | 2 +- doc/functions/gnutls_x509_crt_get_authority_key_id | 2 +- .../gnutls_x509_crt_get_basic_constraints | 2 +- doc/functions/gnutls_x509_crt_get_ca_status | 2 +- doc/functions/gnutls_x509_crt_get_crl_dist_points | 20 +- .../gnutls_x509_crt_get_crl_dist_points.short | 2 +- doc/functions/gnutls_x509_crt_get_dn2 | 19 + doc/functions/gnutls_x509_crt_get_dn2.short | 1 + doc/functions/gnutls_x509_crt_get_dn_by_oid | 9 +- doc/functions/gnutls_x509_crt_get_dn_oid | 7 +- doc/functions/gnutls_x509_crt_get_expiration_time | 3 + doc/functions/gnutls_x509_crt_get_extension_by_oid | 2 +- doc/functions/gnutls_x509_crt_get_extension_data | 4 +- doc/functions/gnutls_x509_crt_get_extension_data2 | 22 + .../gnutls_x509_crt_get_extension_data2.short | 1 + doc/functions/gnutls_x509_crt_get_extension_info | 2 +- doc/functions/gnutls_x509_crt_get_fingerprint | 3 +- doc/functions/gnutls_x509_crt_get_issuer | 9 +- doc/functions/gnutls_x509_crt_get_issuer_alt_name | 2 +- doc/functions/gnutls_x509_crt_get_issuer_alt_name2 | 2 +- doc/functions/gnutls_x509_crt_get_issuer_dn2 | 19 + doc/functions/gnutls_x509_crt_get_issuer_dn2.short | 1 + doc/functions/gnutls_x509_crt_get_issuer_dn_by_oid | 9 +- doc/functions/gnutls_x509_crt_get_issuer_dn_oid | 7 +- doc/functions/gnutls_x509_crt_get_key_id | 2 +- doc/functions/gnutls_x509_crt_get_key_usage | 2 +- doc/functions/gnutls_x509_crt_get_name_constraints | 31 + .../gnutls_x509_crt_get_name_constraints.short | 1 + doc/functions/gnutls_x509_crt_get_policy | 24 + doc/functions/gnutls_x509_crt_get_policy.short | 1 + .../gnutls_x509_crt_get_preferred_hash_algorithm | 4 +- ...tls_x509_crt_get_preferred_hash_algorithm.short | 2 +- .../gnutls_x509_crt_get_private_key_usage_period | 2 +- ...tls_x509_crt_get_private_key_usage_period.short | 2 +- doc/functions/gnutls_x509_crt_get_proxy | 2 +- doc/functions/gnutls_x509_crt_get_raw_dn | 4 +- doc/functions/gnutls_x509_crt_get_raw_dn.short | 2 +- doc/functions/gnutls_x509_crt_get_raw_issuer_dn | 4 +- .../gnutls_x509_crt_get_raw_issuer_dn.short | 2 +- doc/functions/gnutls_x509_crt_get_signature | 4 +- doc/functions/gnutls_x509_crt_get_signature.short | 2 +- doc/functions/gnutls_x509_crt_get_subject | 9 +- doc/functions/gnutls_x509_crt_get_subject_alt_name | 2 +- .../gnutls_x509_crt_get_subject_alt_name2 | 2 +- doc/functions/gnutls_x509_crt_get_subject_key_id | 2 +- doc/functions/gnutls_x509_crt_list_import2 | 5 +- doc/functions/gnutls_x509_crt_print | 2 +- doc/functions/gnutls_x509_crt_set_authority_key_id | 2 +- doc/functions/gnutls_x509_crt_set_dn | 17 + doc/functions/gnutls_x509_crt_set_dn.short | 1 + doc/functions/gnutls_x509_crt_set_expiration_time | 2 + doc/functions/gnutls_x509_crt_set_extension_by_oid | 2 +- doc/functions/gnutls_x509_crt_set_issuer_alt_name | 23 + .../gnutls_x509_crt_set_issuer_alt_name.short | 1 + doc/functions/gnutls_x509_crt_set_issuer_dn | 17 + doc/functions/gnutls_x509_crt_set_issuer_dn.short | 1 + doc/functions/gnutls_x509_crt_set_name_constraints | 19 + .../gnutls_x509_crt_set_name_constraints.short | 1 + doc/functions/gnutls_x509_crt_set_pin_function | 20 + .../gnutls_x509_crt_set_pin_function.short | 1 + doc/functions/gnutls_x509_crt_set_policy | 23 + doc/functions/gnutls_x509_crt_set_policy.short | 1 + doc/functions/gnutls_x509_crt_set_serial | 8 +- .../gnutls_x509_crt_set_subject_alternative_name | 2 +- ...tls_x509_crt_set_subject_alternative_name.short | 2 +- doc/functions/gnutls_x509_crt_set_subject_key_id | 2 +- doc/functions/gnutls_x509_crt_verify | 3 +- doc/functions/gnutls_x509_crt_verify_data | 3 +- doc/functions/gnutls_x509_crt_verify_hash | 3 +- doc/functions/gnutls_x509_dn_export2 | 23 + doc/functions/gnutls_x509_dn_export2.short | 1 + doc/functions/gnutls_x509_dn_get_rdn_ava | 24 +- doc/functions/gnutls_x509_dn_oid_name | 4 +- doc/functions/gnutls_x509_dn_oid_name.short | 2 +- doc/functions/gnutls_x509_ext_export_aia | 18 + doc/functions/gnutls_x509_ext_export_aia.short | 1 + .../gnutls_x509_ext_export_authority_key_id | 18 + .../gnutls_x509_ext_export_authority_key_id.short | 1 + .../gnutls_x509_ext_export_basic_constraints | 21 + .../gnutls_x509_ext_export_basic_constraints.short | 1 + .../gnutls_x509_ext_export_crl_dist_points | 18 + .../gnutls_x509_ext_export_crl_dist_points.short | 1 + doc/functions/gnutls_x509_ext_export_key_purposes | 17 + .../gnutls_x509_ext_export_key_purposes.short | 1 + doc/functions/gnutls_x509_ext_export_key_usage | 18 + .../gnutls_x509_ext_export_key_usage.short | 1 + .../gnutls_x509_ext_export_name_constraints | 17 + .../gnutls_x509_ext_export_name_constraints.short | 1 + doc/functions/gnutls_x509_ext_export_policies | 18 + .../gnutls_x509_ext_export_policies.short | 1 + ...gnutls_x509_ext_export_private_key_usage_period | 21 + ..._x509_ext_export_private_key_usage_period.short | 1 + doc/functions/gnutls_x509_ext_export_proxy | 27 + doc/functions/gnutls_x509_ext_export_proxy.short | 1 + .../gnutls_x509_ext_export_subject_alt_names | 17 + .../gnutls_x509_ext_export_subject_alt_names.short | 1 + .../gnutls_x509_ext_export_subject_key_id | 18 + .../gnutls_x509_ext_export_subject_key_id.short | 1 + doc/functions/gnutls_x509_ext_import_aia | 20 + doc/functions/gnutls_x509_ext_import_aia.short | 1 + .../gnutls_x509_ext_import_authority_key_id | 19 + .../gnutls_x509_ext_import_authority_key_id.short | 1 + .../gnutls_x509_ext_import_basic_constraints | 19 + .../gnutls_x509_ext_import_basic_constraints.short | 1 + .../gnutls_x509_ext_import_crl_dist_points | 18 + .../gnutls_x509_ext_import_crl_dist_points.short | 1 + doc/functions/gnutls_x509_ext_import_key_purposes | 19 + .../gnutls_x509_ext_import_key_purposes.short | 1 + doc/functions/gnutls_x509_ext_import_key_usage | 24 + .../gnutls_x509_ext_import_key_usage.short | 1 + .../gnutls_x509_ext_import_name_constraints | 29 + .../gnutls_x509_ext_import_name_constraints.short | 1 + doc/functions/gnutls_x509_ext_import_policies | 18 + .../gnutls_x509_ext_import_policies.short | 1 + ...gnutls_x509_ext_import_private_key_usage_period | 20 + ..._x509_ext_import_private_key_usage_period.short | 1 + doc/functions/gnutls_x509_ext_import_proxy | 25 + doc/functions/gnutls_x509_ext_import_proxy.short | 1 + .../gnutls_x509_ext_import_subject_alt_names | 22 + .../gnutls_x509_ext_import_subject_alt_names.short | 1 + .../gnutls_x509_ext_import_subject_key_id | 18 + .../gnutls_x509_ext_import_subject_key_id.short | 1 + doc/functions/gnutls_x509_key_purpose_deinit | 11 + doc/functions/gnutls_x509_key_purpose_deinit.short | 1 + doc/functions/gnutls_x509_key_purpose_get | 19 + doc/functions/gnutls_x509_key_purpose_get.short | 1 + doc/functions/gnutls_x509_key_purpose_init | 13 + doc/functions/gnutls_x509_key_purpose_init.short | 1 + doc/functions/gnutls_x509_key_purpose_set | 16 + doc/functions/gnutls_x509_key_purpose_set.short | 1 + .../gnutls_x509_name_constraints_add_excluded | 18 + ...gnutls_x509_name_constraints_add_excluded.short | 1 + .../gnutls_x509_name_constraints_add_permitted | 18 + ...nutls_x509_name_constraints_add_permitted.short | 1 + doc/functions/gnutls_x509_name_constraints_check | 19 + .../gnutls_x509_name_constraints_check.short | 1 + .../gnutls_x509_name_constraints_check_crt | 22 + .../gnutls_x509_name_constraints_check_crt.short | 1 + doc/functions/gnutls_x509_name_constraints_deinit | 11 + .../gnutls_x509_name_constraints_deinit.short | 1 + .../gnutls_x509_name_constraints_get_excluded | 25 + ...gnutls_x509_name_constraints_get_excluded.short | 1 + .../gnutls_x509_name_constraints_get_permitted | 25 + ...nutls_x509_name_constraints_get_permitted.short | 1 + doc/functions/gnutls_x509_name_constraints_init | 13 + .../gnutls_x509_name_constraints_init.short | 1 + doc/functions/gnutls_x509_policies_deinit | 11 + doc/functions/gnutls_x509_policies_deinit.short | 1 + doc/functions/gnutls_x509_policies_get | 20 + doc/functions/gnutls_x509_policies_get.short | 1 + doc/functions/gnutls_x509_policies_init | 13 + doc/functions/gnutls_x509_policies_init.short | 1 + doc/functions/gnutls_x509_policies_set | 16 + doc/functions/gnutls_x509_policies_set.short | 1 + doc/functions/gnutls_x509_policy_release | 12 + doc/functions/gnutls_x509_policy_release.short | 1 + doc/functions/gnutls_x509_privkey_export2 | 25 + doc/functions/gnutls_x509_privkey_export2.short | 1 + doc/functions/gnutls_x509_privkey_export2_pkcs8 | 34 + .../gnutls_x509_privkey_export2_pkcs8.short | 1 + doc/functions/gnutls_x509_privkey_export_ecc_raw | 2 +- .../gnutls_x509_privkey_export_ecc_raw.short | 2 +- doc/functions/gnutls_x509_privkey_generate | 7 + doc/functions/gnutls_x509_privkey_get_key_id | 2 +- .../gnutls_x509_privkey_get_pk_algorithm2 | 15 + .../gnutls_x509_privkey_get_pk_algorithm2.short | 1 + doc/functions/gnutls_x509_privkey_import2 | 28 + doc/functions/gnutls_x509_privkey_import2.short | 1 + doc/functions/gnutls_x509_privkey_import_openssl | 24 + .../gnutls_x509_privkey_import_openssl.short | 1 + doc/functions/gnutls_x509_privkey_import_pkcs8 | 3 + doc/functions/gnutls_x509_privkey_import_rsa_raw2 | 6 +- doc/functions/gnutls_x509_rdn_get | 6 +- doc/functions/gnutls_x509_rdn_get.short | 2 +- doc/functions/gnutls_x509_rdn_get_by_oid | 8 +- doc/functions/gnutls_x509_rdn_get_by_oid.short | 2 +- doc/functions/gnutls_x509_rdn_get_oid | 6 +- doc/functions/gnutls_x509_rdn_get_oid.short | 2 +- doc/functions/gnutls_x509_trust_list_add_cas | 10 +- doc/functions/gnutls_x509_trust_list_add_cas.short | 2 +- doc/functions/gnutls_x509_trust_list_add_named_crt | 2 +- .../gnutls_x509_trust_list_add_system_trust | 19 + .../gnutls_x509_trust_list_add_system_trust.short | 1 + .../gnutls_x509_trust_list_add_trust_file | 25 + .../gnutls_x509_trust_list_add_trust_file.short | 1 + doc/functions/gnutls_x509_trust_list_add_trust_mem | 24 + .../gnutls_x509_trust_list_add_trust_mem.short | 1 + doc/functions/gnutls_x509_trust_list_deinit | 9 +- doc/functions/gnutls_x509_trust_list_get_issuer | 2 +- doc/functions/gnutls_x509_trust_list_init | 2 +- doc/functions/gnutls_x509_trust_list_remove_cas | 24 + .../gnutls_x509_trust_list_remove_cas.short | 1 + .../gnutls_x509_trust_list_remove_trust_file | 22 + .../gnutls_x509_trust_list_remove_trust_file.short | 1 + .../gnutls_x509_trust_list_remove_trust_mem | 20 + .../gnutls_x509_trust_list_remove_trust_mem.short | 1 + doc/functions/gnutls_x509_trust_list_verify_crt | 12 +- .../gnutls_x509_trust_list_verify_crt.short | 2 +- .../gnutls_x509_trust_list_verify_named_crt | 18 +- .../gnutls_x509_trust_list_verify_named_crt.short | 2 +- doc/gnutls-api.texi | 1805 +- doc/gnutls-guile.html | 374 +- doc/gnutls-guile.info | 239 +- doc/gnutls-guile.pdf | Bin 188570 -> 235655 bytes doc/gnutls-guile.texi | 17 +- doc/gnutls.html | 44116 ++++++++------ doc/gnutls.info | 2485 +- doc/gnutls.info-1 | 8046 ++- doc/gnutls.info-2 | 9390 ++- doc/gnutls.info-3 | 5709 +- doc/gnutls.info-4 | 8076 +-- doc/gnutls.info-5 | 4022 ++ doc/gnutls.pdf | Bin 1502144 -> 1842954 bytes doc/gnutls.texi | 19 +- doc/invoke-certtool.texi | 338 +- doc/invoke-danetool.texi | 278 + doc/invoke-gnutls-cli-debug.texi | 25 +- doc/invoke-gnutls-cli.texi | 238 +- doc/invoke-gnutls-serv.texi | 59 +- doc/invoke-ocsptool.texi | 63 +- doc/invoke-p11tool.texi | 162 +- doc/invoke-psktool.texi | 31 +- doc/invoke-srptool.texi | 35 +- doc/invoke-tpmtool.texi | 163 + doc/latex/Makefile.am | 33 +- doc/latex/Makefile.in | 628 +- doc/manpages/Makefile.am | 1661 +- doc/manpages/Makefile.in | 1850 +- doc/manpages/certtool.1 | 265 +- doc/manpages/danetool.1 | 233 + doc/manpages/gnutls-cli-debug.1 | 20 +- doc/manpages/gnutls-cli.1 | 237 +- doc/manpages/gnutls-serv.1 | 109 +- doc/manpages/gnutls_alert_get.3 | 27 +- doc/manpages/gnutls_alert_get_name.3 | 27 +- doc/manpages/gnutls_alert_get_strname.3 | 27 +- doc/manpages/gnutls_alert_send.3 | 27 +- doc/manpages/gnutls_alert_send_appropriate.3 | 27 +- doc/manpages/gnutls_alpn_get_selected_protocol.3 | 42 + doc/manpages/gnutls_alpn_set_protocols.3 | 48 + .../gnutls_anon_allocate_client_credentials.3 | 31 +- .../gnutls_anon_allocate_server_credentials.3 | 31 +- doc/manpages/gnutls_anon_free_client_credentials.3 | 27 +- doc/manpages/gnutls_anon_free_server_credentials.3 | 27 +- doc/manpages/gnutls_anon_set_params_function.3 | 27 +- doc/manpages/gnutls_anon_set_server_dh_params.3 | 27 +- .../gnutls_anon_set_server_params_function.3 | 31 +- doc/manpages/gnutls_auth_client_get_type.3 | 27 +- doc/manpages/gnutls_auth_get_type.3 | 27 +- doc/manpages/gnutls_auth_server_get_type.3 | 27 +- doc/manpages/gnutls_bye.3 | 27 +- .../gnutls_certificate_activation_time_peers.3 | 27 +- .../gnutls_certificate_allocate_credentials.3 | 31 +- .../gnutls_certificate_client_get_request_status.3 | 30 +- ...utls_certificate_client_set_retrieve_function.3 | 62 + .../gnutls_certificate_expiration_time_peers.3 | 27 +- doc/manpages/gnutls_certificate_free_ca_names.3 | 27 +- doc/manpages/gnutls_certificate_free_cas.3 | 27 +- doc/manpages/gnutls_certificate_free_credentials.3 | 27 +- doc/manpages/gnutls_certificate_free_crls.3 | 27 +- doc/manpages/gnutls_certificate_free_keys.3 | 27 +- doc/manpages/gnutls_certificate_get_crt_raw.3 | 48 + doc/manpages/gnutls_certificate_get_issuer.3 | 31 +- doc/manpages/gnutls_certificate_get_ours.3 | 27 +- doc/manpages/gnutls_certificate_get_peers.3 | 33 +- .../gnutls_certificate_get_peers_subkey_id.3 | 41 + .../gnutls_certificate_send_x509_rdn_sequence.3 | 27 +- .../gnutls_certificate_server_set_request.3 | 27 +- ...utls_certificate_server_set_retrieve_function.3 | 50 + doc/manpages/gnutls_certificate_set_dh_params.3 | 32 +- doc/manpages/gnutls_certificate_set_key.3 | 42 +- ...utls_certificate_set_ocsp_status_request_file.3 | 47 + ..._certificate_set_ocsp_status_request_function.3 | 56 + doc/manpages/gnutls_certificate_set_openpgp_key.3 | 27 +- .../gnutls_certificate_set_openpgp_key_file.3 | 31 +- .../gnutls_certificate_set_openpgp_key_file2.3 | 31 +- .../gnutls_certificate_set_openpgp_key_mem.3 | 31 +- .../gnutls_certificate_set_openpgp_key_mem2.3 | 31 +- .../gnutls_certificate_set_openpgp_keyring_file.3 | 27 +- .../gnutls_certificate_set_openpgp_keyring_mem.3 | 31 +- .../gnutls_certificate_set_params_function.3 | 31 +- doc/manpages/gnutls_certificate_set_pin_function.3 | 44 + .../gnutls_certificate_set_retrieve_function.3 | 27 +- .../gnutls_certificate_set_retrieve_function2.3 | 27 +- .../gnutls_certificate_set_rsa_export_params.3 | 31 +- doc/manpages/gnutls_certificate_set_trust_list.3 | 45 + doc/manpages/gnutls_certificate_set_verify_flags.3 | 38 +- .../gnutls_certificate_set_verify_function.3 | 27 +- .../gnutls_certificate_set_verify_limits.3 | 27 +- doc/manpages/gnutls_certificate_set_x509_crl.3 | 29 +- .../gnutls_certificate_set_x509_crl_file.3 | 27 +- doc/manpages/gnutls_certificate_set_x509_crl_mem.3 | 27 +- doc/manpages/gnutls_certificate_set_x509_key.3 | 34 +- .../gnutls_certificate_set_x509_key_file.3 | 39 +- .../gnutls_certificate_set_x509_key_file2.3 | 62 + doc/manpages/gnutls_certificate_set_x509_key_mem.3 | 27 +- .../gnutls_certificate_set_x509_key_mem2.3 | 58 + ...nutls_certificate_set_x509_simple_pkcs12_file.3 | 39 +- ...gnutls_certificate_set_x509_simple_pkcs12_mem.3 | 44 +- .../gnutls_certificate_set_x509_system_trust.3 | 33 +- doc/manpages/gnutls_certificate_set_x509_trust.3 | 27 +- .../gnutls_certificate_set_x509_trust_file.3 | 36 +- .../gnutls_certificate_set_x509_trust_mem.3 | 27 +- doc/manpages/gnutls_certificate_type_get.3 | 27 +- doc/manpages/gnutls_certificate_type_get_id.3 | 27 +- doc/manpages/gnutls_certificate_type_get_name.3 | 31 +- doc/manpages/gnutls_certificate_type_list.3 | 31 +- .../gnutls_certificate_type_set_priority.3 | 27 +- .../gnutls_certificate_verification_status_print.3 | 47 + doc/manpages/gnutls_certificate_verify_peers.3 | 60 + doc/manpages/gnutls_certificate_verify_peers2.3 | 52 +- doc/manpages/gnutls_certificate_verify_peers3.3 | 55 + doc/manpages/gnutls_check_version.3 | 27 +- doc/manpages/gnutls_cipher_add_auth.3 | 27 +- doc/manpages/gnutls_cipher_decrypt.3 | 30 +- doc/manpages/gnutls_cipher_decrypt2.3 | 30 +- doc/manpages/gnutls_cipher_deinit.3 | 27 +- doc/manpages/gnutls_cipher_encrypt.3 | 27 +- doc/manpages/gnutls_cipher_encrypt2.3 | 27 +- doc/manpages/gnutls_cipher_get.3 | 27 +- doc/manpages/gnutls_cipher_get_block_size.3 | 31 +- doc/manpages/gnutls_cipher_get_id.3 | 27 +- doc/manpages/gnutls_cipher_get_iv_size.3 | 37 + doc/manpages/gnutls_cipher_get_key_size.3 | 27 +- doc/manpages/gnutls_cipher_get_name.3 | 27 +- doc/manpages/gnutls_cipher_get_tag_size.3 | 35 + doc/manpages/gnutls_cipher_init.3 | 27 +- doc/manpages/gnutls_cipher_list.3 | 27 +- doc/manpages/gnutls_cipher_self_test.3 | 40 + doc/manpages/gnutls_cipher_set_iv.3 | 27 +- doc/manpages/gnutls_cipher_set_priority.3 | 27 +- doc/manpages/gnutls_cipher_suite_get_name.3 | 35 +- doc/manpages/gnutls_cipher_suite_info.3 | 27 +- doc/manpages/gnutls_cipher_tag.3 | 27 +- doc/manpages/gnutls_compression_get.3 | 27 +- doc/manpages/gnutls_compression_get_id.3 | 27 +- doc/manpages/gnutls_compression_get_name.3 | 31 +- doc/manpages/gnutls_compression_list.3 | 27 +- doc/manpages/gnutls_compression_set_priority.3 | 27 +- doc/manpages/gnutls_credentials_clear.3 | 27 +- doc/manpages/gnutls_credentials_get.3 | 51 + doc/manpages/gnutls_credentials_set.3 | 27 +- doc/manpages/gnutls_db_check_entry.3 | 31 +- doc/manpages/gnutls_db_check_entry_time.3 | 36 + .../gnutls_db_get_default_cache_expiration.3 | 33 + doc/manpages/gnutls_db_get_ptr.3 | 27 +- doc/manpages/gnutls_db_remove_session.3 | 27 +- doc/manpages/gnutls_db_set_cache_expiration.3 | 27 +- doc/manpages/gnutls_db_set_ptr.3 | 27 +- doc/manpages/gnutls_db_set_remove_function.3 | 27 +- doc/manpages/gnutls_db_set_retrieve_function.3 | 27 +- doc/manpages/gnutls_db_set_store_function.3 | 27 +- doc/manpages/gnutls_deinit.3 | 27 +- doc/manpages/gnutls_dh_get_group.3 | 27 +- doc/manpages/gnutls_dh_get_peers_public_bits.3 | 27 +- doc/manpages/gnutls_dh_get_prime_bits.3 | 27 +- doc/manpages/gnutls_dh_get_pubkey.3 | 27 +- doc/manpages/gnutls_dh_get_secret_bits.3 | 27 +- doc/manpages/gnutls_dh_params_cpy.3 | 27 +- doc/manpages/gnutls_dh_params_deinit.3 | 27 +- doc/manpages/gnutls_dh_params_export2_pkcs3.3 | 47 + doc/manpages/gnutls_dh_params_export_pkcs3.3 | 27 +- doc/manpages/gnutls_dh_params_export_raw.3 | 27 +- doc/manpages/gnutls_dh_params_generate2.3 | 31 +- doc/manpages/gnutls_dh_params_import_pkcs3.3 | 27 +- doc/manpages/gnutls_dh_params_import_raw.3 | 27 +- doc/manpages/gnutls_dh_params_init.3 | 27 +- doc/manpages/gnutls_dh_set_prime_bits.3 | 34 +- doc/manpages/gnutls_digest_get_id.3 | 37 + doc/manpages/gnutls_digest_get_name.3 | 36 + doc/manpages/gnutls_digest_list.3 | 38 + doc/manpages/gnutls_digest_self_test.3 | 39 + doc/manpages/gnutls_dtls_cookie_send.3 | 39 +- doc/manpages/gnutls_dtls_cookie_verify.3 | 41 +- doc/manpages/gnutls_dtls_get_data_mtu.3 | 29 +- doc/manpages/gnutls_dtls_get_mtu.3 | 27 +- doc/manpages/gnutls_dtls_get_timeout.3 | 27 +- doc/manpages/gnutls_dtls_prestate_set.3 | 34 +- doc/manpages/gnutls_dtls_set_data_mtu.3 | 30 +- doc/manpages/gnutls_dtls_set_mtu.3 | 27 +- doc/manpages/gnutls_dtls_set_timeouts.3 | 29 +- doc/manpages/gnutls_ecc_curve_get.3 | 27 +- doc/manpages/gnutls_ecc_curve_get_name.3 | 27 +- doc/manpages/gnutls_ecc_curve_get_size.3 | 27 +- doc/manpages/gnutls_ecc_curve_list.3 | 27 +- doc/manpages/gnutls_error_is_fatal.3 | 38 +- doc/manpages/gnutls_error_to_alert.3 | 27 +- doc/manpages/gnutls_est_record_overhead_size.3 | 49 + doc/manpages/gnutls_fingerprint.3 | 29 +- doc/manpages/gnutls_fips140_mode_enabled.3 | 37 + doc/manpages/gnutls_global_deinit.3 | 30 +- doc/manpages/gnutls_global_init.3 | 49 +- .../gnutls_global_set_audit_log_function.3 | 38 +- doc/manpages/gnutls_global_set_log_function.3 | 27 +- doc/manpages/gnutls_global_set_log_level.3 | 29 +- doc/manpages/gnutls_global_set_mem_functions.3 | 34 +- doc/manpages/gnutls_global_set_mutex.3 | 34 +- doc/manpages/gnutls_global_set_time_function.3 | 27 +- doc/manpages/gnutls_handshake.3 | 27 +- .../gnutls_handshake_description_get_name.3 | 36 + doc/manpages/gnutls_handshake_get_last_in.3 | 27 +- doc/manpages/gnutls_handshake_get_last_out.3 | 27 +- doc/manpages/gnutls_handshake_set_hook_function.3 | 55 + .../gnutls_handshake_set_max_packet_length.3 | 27 +- ...utls_handshake_set_post_client_hello_function.3 | 36 +- .../gnutls_handshake_set_private_extensions.3 | 29 +- doc/manpages/gnutls_handshake_set_random.3 | 46 + doc/manpages/gnutls_handshake_set_timeout.3 | 39 + doc/manpages/gnutls_hash.3 | 27 +- doc/manpages/gnutls_hash_deinit.3 | 27 +- doc/manpages/gnutls_hash_fast.3 | 27 +- doc/manpages/gnutls_hash_get_len.3 | 27 +- doc/manpages/gnutls_hash_init.3 | 27 +- doc/manpages/gnutls_hash_output.3 | 30 +- doc/manpages/gnutls_heartbeat_allowed.3 | 40 + doc/manpages/gnutls_heartbeat_enable.3 | 45 + doc/manpages/gnutls_heartbeat_get_timeout.3 | 41 + doc/manpages/gnutls_heartbeat_ping.3 | 48 + doc/manpages/gnutls_heartbeat_pong.3 | 39 + doc/manpages/gnutls_heartbeat_set_timeouts.3 | 46 + doc/manpages/gnutls_hex2bin.3 | 27 +- doc/manpages/gnutls_hex_decode.3 | 27 +- doc/manpages/gnutls_hex_encode.3 | 29 +- doc/manpages/gnutls_hmac.3 | 27 +- doc/manpages/gnutls_hmac_deinit.3 | 27 +- doc/manpages/gnutls_hmac_fast.3 | 27 +- doc/manpages/gnutls_hmac_get_len.3 | 27 +- doc/manpages/gnutls_hmac_init.3 | 30 +- doc/manpages/gnutls_hmac_output.3 | 30 +- doc/manpages/gnutls_hmac_set_nonce.3 | 39 + doc/manpages/gnutls_init.3 | 36 +- doc/manpages/gnutls_key_generate.3 | 29 +- doc/manpages/gnutls_kx_get.3 | 27 +- doc/manpages/gnutls_kx_get_id.3 | 27 +- doc/manpages/gnutls_kx_get_name.3 | 27 +- doc/manpages/gnutls_kx_list.3 | 27 +- doc/manpages/gnutls_kx_set_priority.3 | 27 +- doc/manpages/gnutls_load_file.3 | 42 + doc/manpages/gnutls_mac_get.3 | 27 +- doc/manpages/gnutls_mac_get_id.3 | 27 +- doc/manpages/gnutls_mac_get_key_size.3 | 29 +- doc/manpages/gnutls_mac_get_name.3 | 27 +- doc/manpages/gnutls_mac_get_nonce_size.3 | 37 + doc/manpages/gnutls_mac_list.3 | 32 +- doc/manpages/gnutls_mac_self_test.3 | 39 + doc/manpages/gnutls_mac_set_priority.3 | 27 +- doc/manpages/gnutls_ocsp_req_add_cert.3 | 27 +- doc/manpages/gnutls_ocsp_req_add_cert_id.3 | 27 +- doc/manpages/gnutls_ocsp_req_deinit.3 | 27 +- doc/manpages/gnutls_ocsp_req_export.3 | 27 +- doc/manpages/gnutls_ocsp_req_get_cert_id.3 | 27 +- doc/manpages/gnutls_ocsp_req_get_extension.3 | 27 +- doc/manpages/gnutls_ocsp_req_get_nonce.3 | 27 +- doc/manpages/gnutls_ocsp_req_get_version.3 | 27 +- doc/manpages/gnutls_ocsp_req_import.3 | 27 +- doc/manpages/gnutls_ocsp_req_init.3 | 27 +- doc/manpages/gnutls_ocsp_req_print.3 | 31 +- doc/manpages/gnutls_ocsp_req_randomize_nonce.3 | 27 +- doc/manpages/gnutls_ocsp_req_set_extension.3 | 27 +- doc/manpages/gnutls_ocsp_req_set_nonce.3 | 27 +- doc/manpages/gnutls_ocsp_resp_check_crt.3 | 43 + doc/manpages/gnutls_ocsp_resp_deinit.3 | 27 +- doc/manpages/gnutls_ocsp_resp_export.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_certs.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_extension.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_nonce.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_produced.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_responder.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_response.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_signature.3 | 27 +- .../gnutls_ocsp_resp_get_signature_algorithm.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_single.3 | 57 +- doc/manpages/gnutls_ocsp_resp_get_status.3 | 27 +- doc/manpages/gnutls_ocsp_resp_get_version.3 | 27 +- doc/manpages/gnutls_ocsp_resp_import.3 | 27 +- doc/manpages/gnutls_ocsp_resp_init.3 | 27 +- doc/manpages/gnutls_ocsp_resp_print.3 | 31 +- doc/manpages/gnutls_ocsp_resp_verify.3 | 27 +- doc/manpages/gnutls_ocsp_resp_verify_direct.3 | 27 +- .../gnutls_ocsp_status_request_enable_client.3 | 47 + doc/manpages/gnutls_ocsp_status_request_get.3 | 43 + .../gnutls_ocsp_status_request_is_checked.3 | 42 + doc/manpages/gnutls_openpgp_crt_check_hostname.3 | 29 +- doc/manpages/gnutls_openpgp_crt_check_hostname2.3 | 44 + doc/manpages/gnutls_openpgp_crt_deinit.3 | 27 +- doc/manpages/gnutls_openpgp_crt_export.3 | 29 +- doc/manpages/gnutls_openpgp_crt_export2.3 | 42 + doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3 | 35 +- .../gnutls_openpgp_crt_get_creation_time.3 | 27 +- .../gnutls_openpgp_crt_get_expiration_time.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_fingerprint.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_key_id.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_key_usage.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_name.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3 | 27 +- .../gnutls_openpgp_crt_get_preferred_key_id.3 | 27 +- .../gnutls_openpgp_crt_get_revoked_status.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_subkey_count.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_creation_time.3 | 27 +- ...gnutls_openpgp_crt_get_subkey_expiration_time.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_fingerprint.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_subkey_id.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_pk_algorithm.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3 | 27 +- .../gnutls_openpgp_crt_get_subkey_revoked_status.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3 | 27 +- doc/manpages/gnutls_openpgp_crt_get_version.3 | 27 +- doc/manpages/gnutls_openpgp_crt_import.3 | 27 +- doc/manpages/gnutls_openpgp_crt_init.3 | 27 +- doc/manpages/gnutls_openpgp_crt_print.3 | 27 +- .../gnutls_openpgp_crt_set_preferred_key_id.3 | 30 +- doc/manpages/gnutls_openpgp_crt_verify_ring.3 | 31 +- doc/manpages/gnutls_openpgp_crt_verify_self.3 | 27 +- doc/manpages/gnutls_openpgp_keyring_check_id.3 | 27 +- doc/manpages/gnutls_openpgp_keyring_deinit.3 | 27 +- doc/manpages/gnutls_openpgp_keyring_get_crt.3 | 27 +- .../gnutls_openpgp_keyring_get_crt_count.3 | 27 +- doc/manpages/gnutls_openpgp_keyring_import.3 | 27 +- doc/manpages/gnutls_openpgp_keyring_init.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_deinit.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_export.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_export2.3 | 46 + .../gnutls_openpgp_privkey_export_dsa_raw.3 | 27 +- .../gnutls_openpgp_privkey_export_rsa_raw.3 | 27 +- .../gnutls_openpgp_privkey_export_subkey_dsa_raw.3 | 27 +- .../gnutls_openpgp_privkey_export_subkey_rsa_raw.3 | 27 +- .../gnutls_openpgp_privkey_get_fingerprint.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_get_key_id.3 | 27 +- .../gnutls_openpgp_privkey_get_pk_algorithm.3 | 27 +- .../gnutls_openpgp_privkey_get_preferred_key_id.3 | 27 +- .../gnutls_openpgp_privkey_get_revoked_status.3 | 27 +- .../gnutls_openpgp_privkey_get_subkey_count.3 | 27 +- ...utls_openpgp_privkey_get_subkey_creation_time.3 | 31 +- ...ls_openpgp_privkey_get_subkey_expiration_time.3 | 40 + ...gnutls_openpgp_privkey_get_subkey_fingerprint.3 | 27 +- .../gnutls_openpgp_privkey_get_subkey_id.3 | 27 +- .../gnutls_openpgp_privkey_get_subkey_idx.3 | 27 +- ...nutls_openpgp_privkey_get_subkey_pk_algorithm.3 | 31 +- ...tls_openpgp_privkey_get_subkey_revoked_status.3 | 31 +- doc/manpages/gnutls_openpgp_privkey_import.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_init.3 | 27 +- doc/manpages/gnutls_openpgp_privkey_sec_param.3 | 27 +- .../gnutls_openpgp_privkey_set_preferred_key_id.3 | 37 +- doc/manpages/gnutls_openpgp_privkey_sign_hash.3 | 27 +- doc/manpages/gnutls_openpgp_send_cert.3 | 27 +- .../gnutls_openpgp_set_recv_key_function.3 | 29 +- doc/manpages/gnutls_packet_deinit.3 | 36 + doc/manpages/gnutls_packet_get.3 | 40 + doc/manpages/gnutls_pcert_deinit.3 | 27 +- doc/manpages/gnutls_pcert_import_openpgp.3 | 31 +- doc/manpages/gnutls_pcert_import_openpgp_raw.3 | 31 +- doc/manpages/gnutls_pcert_import_x509.3 | 31 +- doc/manpages/gnutls_pcert_import_x509_raw.3 | 31 +- doc/manpages/gnutls_pcert_list_import_x509_raw.3 | 27 +- doc/manpages/gnutls_pem_base64_decode.3 | 27 +- doc/manpages/gnutls_pem_base64_decode_alloc.3 | 27 +- doc/manpages/gnutls_pem_base64_encode.3 | 27 +- doc/manpages/gnutls_pem_base64_encode_alloc.3 | 27 +- doc/manpages/gnutls_perror.3 | 27 +- doc/manpages/gnutls_pk_algorithm_get_name.3 | 27 +- doc/manpages/gnutls_pk_bits_to_sec_param.3 | 27 +- doc/manpages/gnutls_pk_get_id.3 | 27 +- doc/manpages/gnutls_pk_get_name.3 | 27 +- doc/manpages/gnutls_pk_list.3 | 27 +- doc/manpages/gnutls_pk_self_test.3 | 39 + doc/manpages/gnutls_pk_to_sign.3 | 27 +- doc/manpages/gnutls_pkcs11_add_provider.3 | 32 +- doc/manpages/gnutls_pkcs11_copy_secret_key.3 | 27 +- doc/manpages/gnutls_pkcs11_copy_x509_crt.3 | 27 +- doc/manpages/gnutls_pkcs11_copy_x509_privkey.3 | 27 +- doc/manpages/gnutls_pkcs11_crt_is_known.3 | 53 + doc/manpages/gnutls_pkcs11_deinit.3 | 29 +- doc/manpages/gnutls_pkcs11_delete_url.3 | 27 +- doc/manpages/gnutls_pkcs11_get_pin_function.3 | 38 + doc/manpages/gnutls_pkcs11_get_raw_issuer.3 | 49 + doc/manpages/gnutls_pkcs11_init.3 | 34 +- doc/manpages/gnutls_pkcs11_obj_deinit.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_export.3 | 32 +- doc/manpages/gnutls_pkcs11_obj_export2.3 | 44 + doc/manpages/gnutls_pkcs11_obj_export3.3 | 46 + doc/manpages/gnutls_pkcs11_obj_export_url.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_get_info.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_get_type.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_import_url.3 | 37 +- doc/manpages/gnutls_pkcs11_obj_init.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_list_import_url.3 | 27 +- doc/manpages/gnutls_pkcs11_obj_list_import_url2.3 | 48 + doc/manpages/gnutls_pkcs11_obj_set_pin_function.3 | 41 + doc/manpages/gnutls_pkcs11_privkey_deinit.3 | 27 +- doc/manpages/gnutls_pkcs11_privkey_export_url.3 | 27 +- doc/manpages/gnutls_pkcs11_privkey_generate.3 | 35 +- doc/manpages/gnutls_pkcs11_privkey_generate2.3 | 54 + doc/manpages/gnutls_pkcs11_privkey_get_info.3 | 27 +- .../gnutls_pkcs11_privkey_get_pk_algorithm.3 | 27 +- doc/manpages/gnutls_pkcs11_privkey_import_url.3 | 27 +- doc/manpages/gnutls_pkcs11_privkey_init.3 | 27 +- .../gnutls_pkcs11_privkey_set_pin_function.3 | 41 + doc/manpages/gnutls_pkcs11_privkey_status.3 | 38 + doc/manpages/gnutls_pkcs11_reinit.3 | 30 +- doc/manpages/gnutls_pkcs11_set_pin_function.3 | 35 +- doc/manpages/gnutls_pkcs11_set_token_function.3 | 27 +- doc/manpages/gnutls_pkcs11_token_get_flags.3 | 30 +- doc/manpages/gnutls_pkcs11_token_get_info.3 | 27 +- doc/manpages/gnutls_pkcs11_token_get_mechanism.3 | 27 +- doc/manpages/gnutls_pkcs11_token_get_random.3 | 42 + doc/manpages/gnutls_pkcs11_token_get_url.3 | 27 +- doc/manpages/gnutls_pkcs11_token_init.3 | 27 +- doc/manpages/gnutls_pkcs11_token_set_pin.3 | 29 +- doc/manpages/gnutls_pkcs11_type_get_name.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_decrypt.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_deinit.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_encrypt.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_get_count.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_get_data.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_get_key_id.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_get_type.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_init.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_set_crl.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_set_crt.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_set_data.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3 | 27 +- doc/manpages/gnutls_pkcs12_bag_set_key_id.3 | 27 +- doc/manpages/gnutls_pkcs12_deinit.3 | 27 +- doc/manpages/gnutls_pkcs12_export.3 | 27 +- doc/manpages/gnutls_pkcs12_export2.3 | 47 + doc/manpages/gnutls_pkcs12_generate_mac.3 | 27 +- doc/manpages/gnutls_pkcs12_get_bag.3 | 27 +- doc/manpages/gnutls_pkcs12_import.3 | 27 +- doc/manpages/gnutls_pkcs12_init.3 | 27 +- doc/manpages/gnutls_pkcs12_set_bag.3 | 27 +- doc/manpages/gnutls_pkcs12_simple_parse.3 | 84 + doc/manpages/gnutls_pkcs12_verify_mac.3 | 27 +- doc/manpages/gnutls_pkcs7_deinit.3 | 27 +- doc/manpages/gnutls_pkcs7_delete_crl.3 | 27 +- doc/manpages/gnutls_pkcs7_delete_crt.3 | 27 +- doc/manpages/gnutls_pkcs7_export.3 | 27 +- doc/manpages/gnutls_pkcs7_export2.3 | 47 + doc/manpages/gnutls_pkcs7_get_crl_count.3 | 27 +- doc/manpages/gnutls_pkcs7_get_crl_raw.3 | 27 +- doc/manpages/gnutls_pkcs7_get_crt_count.3 | 27 +- doc/manpages/gnutls_pkcs7_get_crt_raw.3 | 27 +- doc/manpages/gnutls_pkcs7_import.3 | 27 +- doc/manpages/gnutls_pkcs7_init.3 | 27 +- doc/manpages/gnutls_pkcs7_set_crl.3 | 27 +- doc/manpages/gnutls_pkcs7_set_crl_raw.3 | 27 +- doc/manpages/gnutls_pkcs7_set_crt.3 | 27 +- doc/manpages/gnutls_pkcs7_set_crt_raw.3 | 27 +- doc/manpages/gnutls_prf.3 | 42 +- doc/manpages/gnutls_prf_raw.3 | 37 +- .../gnutls_priority_certificate_type_list.3 | 31 +- doc/manpages/gnutls_priority_cipher_list.3 | 40 + doc/manpages/gnutls_priority_compression_list.3 | 31 +- doc/manpages/gnutls_priority_deinit.3 | 27 +- doc/manpages/gnutls_priority_ecc_curve_list.3 | 31 +- .../gnutls_priority_get_cipher_suite_index.3 | 27 +- doc/manpages/gnutls_priority_init.3 | 51 +- doc/manpages/gnutls_priority_kx_list.3 | 40 + doc/manpages/gnutls_priority_mac_list.3 | 40 + doc/manpages/gnutls_priority_protocol_list.3 | 31 +- doc/manpages/gnutls_priority_set.3 | 27 +- doc/manpages/gnutls_priority_set_direct.3 | 29 +- doc/manpages/gnutls_priority_sign_list.3 | 31 +- doc/manpages/gnutls_privkey_decrypt_data.3 | 27 +- doc/manpages/gnutls_privkey_deinit.3 | 27 +- doc/manpages/gnutls_privkey_export_dsa_raw.3 | 49 + doc/manpages/gnutls_privkey_export_ecc_raw.3 | 47 + doc/manpages/gnutls_privkey_export_rsa_raw.3 | 55 + doc/manpages/gnutls_privkey_generate.3 | 51 + doc/manpages/gnutls_privkey_get_pk_algorithm.3 | 27 +- doc/manpages/gnutls_privkey_get_type.3 | 27 +- doc/manpages/gnutls_privkey_import_dsa_raw.3 | 48 + doc/manpages/gnutls_privkey_import_ecc_raw.3 | 48 + doc/manpages/gnutls_privkey_import_ext.3 | 33 +- doc/manpages/gnutls_privkey_import_ext2.3 | 58 + doc/manpages/gnutls_privkey_import_openpgp.3 | 27 +- doc/manpages/gnutls_privkey_import_openpgp_raw.3 | 47 + doc/manpages/gnutls_privkey_import_pkcs11.3 | 27 +- doc/manpages/gnutls_privkey_import_pkcs11_url.3 | 41 + doc/manpages/gnutls_privkey_import_rsa_raw.3 | 54 + doc/manpages/gnutls_privkey_import_tpm_raw.3 | 51 + doc/manpages/gnutls_privkey_import_tpm_url.3 | 55 + doc/manpages/gnutls_privkey_import_url.3 | 44 + doc/manpages/gnutls_privkey_import_x509.3 | 27 +- doc/manpages/gnutls_privkey_import_x509_raw.3 | 50 + doc/manpages/gnutls_privkey_init.3 | 27 +- doc/manpages/gnutls_privkey_set_pin_function.3 | 44 + doc/manpages/gnutls_privkey_sign_data.3 | 31 +- doc/manpages/gnutls_privkey_sign_hash.3 | 34 +- doc/manpages/gnutls_privkey_sign_raw_data.3 | 51 + doc/manpages/gnutls_privkey_status.3 | 41 + doc/manpages/gnutls_privkey_verify_params.3 | 38 + doc/manpages/gnutls_protocol_get_id.3 | 27 +- doc/manpages/gnutls_protocol_get_name.3 | 27 +- doc/manpages/gnutls_protocol_get_version.3 | 27 +- doc/manpages/gnutls_protocol_list.3 | 27 +- doc/manpages/gnutls_protocol_set_priority.3 | 27 +- .../gnutls_psk_allocate_client_credentials.3 | 31 +- .../gnutls_psk_allocate_server_credentials.3 | 31 +- doc/manpages/gnutls_psk_client_get_hint.3 | 27 +- doc/manpages/gnutls_psk_free_client_credentials.3 | 27 +- doc/manpages/gnutls_psk_free_server_credentials.3 | 27 +- doc/manpages/gnutls_psk_server_get_username.3 | 27 +- doc/manpages/gnutls_psk_set_client_credentials.3 | 27 +- .../gnutls_psk_set_client_credentials_function.3 | 33 +- doc/manpages/gnutls_psk_set_params_function.3 | 27 +- .../gnutls_psk_set_server_credentials_file.3 | 31 +- .../gnutls_psk_set_server_credentials_function.3 | 33 +- .../gnutls_psk_set_server_credentials_hint.3 | 27 +- doc/manpages/gnutls_psk_set_server_dh_params.3 | 27 +- .../gnutls_psk_set_server_params_function.3 | 27 +- doc/manpages/gnutls_pubkey_deinit.3 | 27 +- doc/manpages/gnutls_pubkey_encrypt_data.3 | 27 +- doc/manpages/gnutls_pubkey_export.3 | 27 +- doc/manpages/gnutls_pubkey_export2.3 | 49 + doc/manpages/gnutls_pubkey_export_dsa_raw.3 | 47 + doc/manpages/gnutls_pubkey_export_ecc_raw.3 | 45 + doc/manpages/gnutls_pubkey_export_ecc_x962.3 | 43 + doc/manpages/gnutls_pubkey_export_rsa_raw.3 | 43 + doc/manpages/gnutls_pubkey_get_key_id.3 | 29 +- doc/manpages/gnutls_pubkey_get_key_usage.3 | 27 +- doc/manpages/gnutls_pubkey_get_openpgp_key_id.3 | 41 +- doc/manpages/gnutls_pubkey_get_pk_algorithm.3 | 27 +- doc/manpages/gnutls_pubkey_get_pk_dsa_raw.3 | 56 - doc/manpages/gnutls_pubkey_get_pk_ecc_raw.3 | 54 - doc/manpages/gnutls_pubkey_get_pk_ecc_x962.3 | 52 - doc/manpages/gnutls_pubkey_get_pk_rsa_raw.3 | 52 - .../gnutls_pubkey_get_preferred_hash_algorithm.3 | 34 +- doc/manpages/gnutls_pubkey_get_verify_algorithm.3 | 27 +- doc/manpages/gnutls_pubkey_import.3 | 27 +- doc/manpages/gnutls_pubkey_import_dsa_raw.3 | 27 +- doc/manpages/gnutls_pubkey_import_ecc_raw.3 | 27 +- doc/manpages/gnutls_pubkey_import_ecc_x962.3 | 27 +- doc/manpages/gnutls_pubkey_import_openpgp.3 | 27 +- doc/manpages/gnutls_pubkey_import_openpgp_raw.3 | 47 + doc/manpages/gnutls_pubkey_import_pkcs11.3 | 27 +- doc/manpages/gnutls_pubkey_import_pkcs11_url.3 | 27 +- doc/manpages/gnutls_pubkey_import_privkey.3 | 27 +- doc/manpages/gnutls_pubkey_import_rsa_raw.3 | 27 +- doc/manpages/gnutls_pubkey_import_tpm_raw.3 | 50 + doc/manpages/gnutls_pubkey_import_tpm_url.3 | 51 + doc/manpages/gnutls_pubkey_import_url.3 | 43 + doc/manpages/gnutls_pubkey_import_x509.3 | 27 +- doc/manpages/gnutls_pubkey_import_x509_crq.3 | 43 + doc/manpages/gnutls_pubkey_import_x509_raw.3 | 45 + doc/manpages/gnutls_pubkey_init.3 | 27 +- doc/manpages/gnutls_pubkey_print.3 | 48 + doc/manpages/gnutls_pubkey_set_key_usage.3 | 27 +- doc/manpages/gnutls_pubkey_set_pin_function.3 | 44 + doc/manpages/gnutls_pubkey_verify_data.3 | 34 +- doc/manpages/gnutls_pubkey_verify_data2.3 | 29 +- doc/manpages/gnutls_pubkey_verify_hash.3 | 35 +- doc/manpages/gnutls_pubkey_verify_hash2.3 | 33 +- doc/manpages/gnutls_pubkey_verify_params.3 | 38 + doc/manpages/gnutls_random_art.3 | 33 +- doc/manpages/gnutls_range_split.3 | 47 + doc/manpages/gnutls_record_can_use_length_hiding.3 | 42 + doc/manpages/gnutls_record_check_corked.3 | 38 + doc/manpages/gnutls_record_check_pending.3 | 29 +- doc/manpages/gnutls_record_cork.3 | 39 + doc/manpages/gnutls_record_disable_padding.3 | 31 +- doc/manpages/gnutls_record_get_direction.3 | 27 +- doc/manpages/gnutls_record_get_discarded.3 | 27 +- doc/manpages/gnutls_record_get_max_size.3 | 27 +- doc/manpages/gnutls_record_overhead_size.3 | 36 + doc/manpages/gnutls_record_recv.3 | 27 +- doc/manpages/gnutls_record_recv_packet.3 | 47 + doc/manpages/gnutls_record_recv_seq.3 | 27 +- doc/manpages/gnutls_record_send.3 | 53 +- doc/manpages/gnutls_record_send_range.3 | 51 + doc/manpages/gnutls_record_set_max_empty_records.3 | 41 + doc/manpages/gnutls_record_set_max_size.3 | 27 +- doc/manpages/gnutls_record_set_timeout.3 | 39 + doc/manpages/gnutls_record_uncork.3 | 49 + doc/manpages/gnutls_rehandshake.3 | 31 +- doc/manpages/gnutls_rnd.3 | 27 +- doc/manpages/gnutls_rnd_refresh.3 | 38 + doc/manpages/gnutls_rsa_export_get_modulus_bits.3 | 27 +- doc/manpages/gnutls_rsa_export_get_pubkey.3 | 27 +- doc/manpages/gnutls_rsa_params_cpy.3 | 27 +- doc/manpages/gnutls_rsa_params_deinit.3 | 27 +- doc/manpages/gnutls_rsa_params_export_pkcs1.3 | 27 +- doc/manpages/gnutls_rsa_params_export_raw.3 | 27 +- doc/manpages/gnutls_rsa_params_generate2.3 | 27 +- doc/manpages/gnutls_rsa_params_import_pkcs1.3 | 27 +- doc/manpages/gnutls_rsa_params_import_raw.3 | 27 +- doc/manpages/gnutls_rsa_params_init.3 | 27 +- doc/manpages/gnutls_safe_renegotiation_status.3 | 27 +- doc/manpages/gnutls_sec_param_get_name.3 | 27 +- doc/manpages/gnutls_sec_param_to_pk_bits.3 | 27 +- doc/manpages/gnutls_sec_param_to_symmetric_bits.3 | 38 + doc/manpages/gnutls_server_name_get.3 | 27 +- doc/manpages/gnutls_server_name_set.3 | 27 +- doc/manpages/gnutls_session_channel_binding.3 | 27 +- .../gnutls_session_enable_compatibility_mode.3 | 34 +- doc/manpages/gnutls_session_force_valid.3 | 37 + doc/manpages/gnutls_session_get_data.3 | 39 +- doc/manpages/gnutls_session_get_data2.3 | 41 +- doc/manpages/gnutls_session_get_desc.3 | 38 + doc/manpages/gnutls_session_get_id.3 | 35 +- doc/manpages/gnutls_session_get_id2.3 | 41 + doc/manpages/gnutls_session_get_ptr.3 | 27 +- doc/manpages/gnutls_session_get_random.3 | 35 +- doc/manpages/gnutls_session_is_resumed.3 | 27 +- doc/manpages/gnutls_session_resumption_requested.3 | 27 +- doc/manpages/gnutls_session_set_data.3 | 27 +- doc/manpages/gnutls_session_set_id.3 | 42 + doc/manpages/gnutls_session_set_premaster.3 | 31 +- doc/manpages/gnutls_session_set_ptr.3 | 29 +- doc/manpages/gnutls_session_ticket_enable_client.3 | 27 +- doc/manpages/gnutls_session_ticket_enable_server.3 | 27 +- doc/manpages/gnutls_session_ticket_key_generate.3 | 27 +- doc/manpages/gnutls_set_default_export_priority.3 | 27 +- doc/manpages/gnutls_set_default_priority.3 | 32 +- doc/manpages/gnutls_sign_algorithm_get.3 | 38 + doc/manpages/gnutls_sign_algorithm_get_client.3 | 38 + doc/manpages/gnutls_sign_algorithm_get_requested.3 | 27 +- doc/manpages/gnutls_sign_callback_get.3 | 27 +- doc/manpages/gnutls_sign_callback_set.3 | 27 +- doc/manpages/gnutls_sign_get_hash_algorithm.3 | 38 + doc/manpages/gnutls_sign_get_id.3 | 31 +- doc/manpages/gnutls_sign_get_name.3 | 27 +- doc/manpages/gnutls_sign_get_pk_algorithm.3 | 38 + doc/manpages/gnutls_sign_is_secure.3 | 33 + doc/manpages/gnutls_sign_list.3 | 27 +- .../gnutls_srp_allocate_client_credentials.3 | 31 +- .../gnutls_srp_allocate_server_credentials.3 | 31 +- doc/manpages/gnutls_srp_base64_decode.3 | 27 +- doc/manpages/gnutls_srp_base64_decode_alloc.3 | 27 +- doc/manpages/gnutls_srp_base64_encode.3 | 27 +- doc/manpages/gnutls_srp_base64_encode_alloc.3 | 27 +- doc/manpages/gnutls_srp_free_client_credentials.3 | 27 +- doc/manpages/gnutls_srp_free_server_credentials.3 | 27 +- doc/manpages/gnutls_srp_server_get_username.3 | 27 +- doc/manpages/gnutls_srp_set_client_credentials.3 | 27 +- .../gnutls_srp_set_client_credentials_function.3 | 33 +- doc/manpages/gnutls_srp_set_prime_bits.3 | 27 +- .../gnutls_srp_set_server_credentials_file.3 | 27 +- .../gnutls_srp_set_server_credentials_function.3 | 43 +- .../gnutls_srp_set_server_fake_salt_seed.3 | 59 + doc/manpages/gnutls_srp_verifier.3 | 29 +- doc/manpages/gnutls_srtp_get_keys.3 | 54 + doc/manpages/gnutls_srtp_get_mki.3 | 42 + doc/manpages/gnutls_srtp_get_profile_id.3 | 40 + doc/manpages/gnutls_srtp_get_profile_name.3 | 39 + doc/manpages/gnutls_srtp_get_selected_profile.3 | 40 + doc/manpages/gnutls_srtp_set_mki.3 | 41 + doc/manpages/gnutls_srtp_set_profile.3 | 41 + doc/manpages/gnutls_srtp_set_profile_direct.3 | 44 + doc/manpages/gnutls_store_commitment.3 | 37 +- doc/manpages/gnutls_store_pubkey.3 | 39 +- doc/manpages/gnutls_strerror.3 | 27 +- doc/manpages/gnutls_strerror_name.3 | 27 +- doc/manpages/gnutls_subject_alt_names_deinit.3 | 35 + doc/manpages/gnutls_subject_alt_names_get.3 | 48 + doc/manpages/gnutls_subject_alt_names_init.3 | 37 + doc/manpages/gnutls_subject_alt_names_set.3 | 44 + doc/manpages/gnutls_supplemental_get_name.3 | 31 +- doc/manpages/gnutls_tdb_deinit.3 | 27 +- doc/manpages/gnutls_tdb_init.3 | 31 +- .../gnutls_tdb_set_store_commitment_func.3 | 31 +- doc/manpages/gnutls_tdb_set_store_func.3 | 27 +- doc/manpages/gnutls_tdb_set_verify_func.3 | 27 +- doc/manpages/gnutls_tpm_get_registered.3 | 39 + doc/manpages/gnutls_tpm_key_list_deinit.3 | 35 + doc/manpages/gnutls_tpm_key_list_get_url.3 | 47 + doc/manpages/gnutls_tpm_privkey_delete.3 | 41 + doc/manpages/gnutls_tpm_privkey_generate.3 | 64 + doc/manpages/gnutls_transport_get_int.3 | 39 + doc/manpages/gnutls_transport_get_int2.3 | 41 + doc/manpages/gnutls_transport_get_ptr.3 | 27 +- doc/manpages/gnutls_transport_get_ptr2.3 | 27 +- doc/manpages/gnutls_transport_set_errno.3 | 27 +- doc/manpages/gnutls_transport_set_errno_function.3 | 27 +- doc/manpages/gnutls_transport_set_int.3 | 38 + doc/manpages/gnutls_transport_set_int2.3 | 42 + doc/manpages/gnutls_transport_set_ptr.3 | 27 +- doc/manpages/gnutls_transport_set_ptr2.3 | 27 +- doc/manpages/gnutls_transport_set_pull_function.3 | 27 +- .../gnutls_transport_set_pull_timeout_function.3 | 35 +- doc/manpages/gnutls_transport_set_push_function.3 | 27 +- .../gnutls_transport_set_vec_push_function.3 | 27 +- doc/manpages/gnutls_url_is_supported.3 | 39 + doc/manpages/gnutls_verify_stored_pubkey.3 | 41 +- doc/manpages/gnutls_x509_aia_deinit.3 | 35 + doc/manpages/gnutls_x509_aia_get.3 | 52 + doc/manpages/gnutls_x509_aia_init.3 | 37 + doc/manpages/gnutls_x509_aia_set.3 | 47 + doc/manpages/gnutls_x509_aki_deinit.3 | 35 + doc/manpages/gnutls_x509_aki_get_cert_issuer.3 | 49 + doc/manpages/gnutls_x509_aki_get_id.3 | 41 + doc/manpages/gnutls_x509_aki_init.3 | 37 + doc/manpages/gnutls_x509_aki_set_cert_issuer.3 | 47 + doc/manpages/gnutls_x509_aki_set_id.3 | 39 + doc/manpages/gnutls_x509_crl_check_issuer.3 | 34 +- doc/manpages/gnutls_x509_crl_deinit.3 | 29 +- doc/manpages/gnutls_x509_crl_dist_points_deinit.3 | 35 + doc/manpages/gnutls_x509_crl_dist_points_get.3 | 45 + doc/manpages/gnutls_x509_crl_dist_points_init.3 | 37 + doc/manpages/gnutls_x509_crl_dist_points_set.3 | 44 + doc/manpages/gnutls_x509_crl_export.3 | 27 +- doc/manpages/gnutls_x509_crl_export2.3 | 47 + .../gnutls_x509_crl_get_authority_key_gn_serial.3 | 33 +- .../gnutls_x509_crl_get_authority_key_id.3 | 29 +- doc/manpages/gnutls_x509_crl_get_crt_count.3 | 27 +- doc/manpages/gnutls_x509_crl_get_crt_serial.3 | 30 +- doc/manpages/gnutls_x509_crl_get_dn_oid.3 | 27 +- doc/manpages/gnutls_x509_crl_get_extension_data.3 | 27 +- doc/manpages/gnutls_x509_crl_get_extension_data2.3 | 46 + doc/manpages/gnutls_x509_crl_get_extension_info.3 | 27 +- doc/manpages/gnutls_x509_crl_get_extension_oid.3 | 27 +- doc/manpages/gnutls_x509_crl_get_issuer_dn.3 | 27 +- doc/manpages/gnutls_x509_crl_get_issuer_dn2.3 | 43 + .../gnutls_x509_crl_get_issuer_dn_by_oid.3 | 29 +- doc/manpages/gnutls_x509_crl_get_next_update.3 | 27 +- doc/manpages/gnutls_x509_crl_get_number.3 | 29 +- doc/manpages/gnutls_x509_crl_get_raw_issuer_dn.3 | 27 +- doc/manpages/gnutls_x509_crl_get_signature.3 | 27 +- .../gnutls_x509_crl_get_signature_algorithm.3 | 27 +- doc/manpages/gnutls_x509_crl_get_this_update.3 | 27 +- doc/manpages/gnutls_x509_crl_get_version.3 | 27 +- doc/manpages/gnutls_x509_crl_import.3 | 27 +- doc/manpages/gnutls_x509_crl_init.3 | 27 +- doc/manpages/gnutls_x509_crl_iter_crt_serial.3 | 52 + doc/manpages/gnutls_x509_crl_iter_deinit.3 | 33 + doc/manpages/gnutls_x509_crl_list_import.3 | 27 +- doc/manpages/gnutls_x509_crl_list_import2.3 | 27 +- doc/manpages/gnutls_x509_crl_print.3 | 29 +- doc/manpages/gnutls_x509_crl_privkey_sign.3 | 27 +- .../gnutls_x509_crl_set_authority_key_id.3 | 27 +- doc/manpages/gnutls_x509_crl_set_crt.3 | 27 +- doc/manpages/gnutls_x509_crl_set_crt_serial.3 | 27 +- doc/manpages/gnutls_x509_crl_set_next_update.3 | 27 +- doc/manpages/gnutls_x509_crl_set_number.3 | 27 +- doc/manpages/gnutls_x509_crl_set_this_update.3 | 27 +- doc/manpages/gnutls_x509_crl_set_version.3 | 27 +- doc/manpages/gnutls_x509_crl_sign.3 | 27 +- doc/manpages/gnutls_x509_crl_sign2.3 | 27 +- doc/manpages/gnutls_x509_crl_verify.3 | 42 +- doc/manpages/gnutls_x509_crq_deinit.3 | 27 +- doc/manpages/gnutls_x509_crq_export.3 | 27 +- doc/manpages/gnutls_x509_crq_export2.3 | 48 + .../gnutls_x509_crq_get_attribute_by_oid.3 | 38 +- doc/manpages/gnutls_x509_crq_get_attribute_data.3 | 29 +- doc/manpages/gnutls_x509_crq_get_attribute_info.3 | 29 +- .../gnutls_x509_crq_get_basic_constraints.3 | 29 +- .../gnutls_x509_crq_get_challenge_password.3 | 31 +- doc/manpages/gnutls_x509_crq_get_dn.3 | 33 +- doc/manpages/gnutls_x509_crq_get_dn2.3 | 43 + doc/manpages/gnutls_x509_crq_get_dn_by_oid.3 | 39 +- doc/manpages/gnutls_x509_crq_get_dn_oid.3 | 29 +- .../gnutls_x509_crq_get_extension_by_oid.3 | 37 +- doc/manpages/gnutls_x509_crq_get_extension_data.3 | 29 +- doc/manpages/gnutls_x509_crq_get_extension_data2.3 | 48 + doc/manpages/gnutls_x509_crq_get_extension_info.3 | 29 +- doc/manpages/gnutls_x509_crq_get_key_id.3 | 29 +- doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3 | 27 +- doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3 | 27 +- doc/manpages/gnutls_x509_crq_get_key_usage.3 | 29 +- doc/manpages/gnutls_x509_crq_get_pk_algorithm.3 | 27 +- .../gnutls_x509_crq_get_private_key_usage_period.3 | 35 +- .../gnutls_x509_crq_get_subject_alt_name.3 | 29 +- ...gnutls_x509_crq_get_subject_alt_othername_oid.3 | 27 +- doc/manpages/gnutls_x509_crq_get_version.3 | 27 +- doc/manpages/gnutls_x509_crq_import.3 | 27 +- doc/manpages/gnutls_x509_crq_init.3 | 27 +- doc/manpages/gnutls_x509_crq_print.3 | 29 +- doc/manpages/gnutls_x509_crq_privkey_sign.3 | 27 +- .../gnutls_x509_crq_set_attribute_by_oid.3 | 38 +- .../gnutls_x509_crq_set_basic_constraints.3 | 27 +- .../gnutls_x509_crq_set_challenge_password.3 | 27 +- doc/manpages/gnutls_x509_crq_set_dn.3 | 41 + doc/manpages/gnutls_x509_crq_set_dn_by_oid.3 | 27 +- doc/manpages/gnutls_x509_crq_set_key.3 | 27 +- doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3 | 27 +- doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3 | 27 +- doc/manpages/gnutls_x509_crq_set_key_usage.3 | 27 +- .../gnutls_x509_crq_set_private_key_usage_period.3 | 27 +- doc/manpages/gnutls_x509_crq_set_pubkey.3 | 27 +- .../gnutls_x509_crq_set_subject_alt_name.3 | 27 +- doc/manpages/gnutls_x509_crq_set_version.3 | 27 +- doc/manpages/gnutls_x509_crq_sign.3 | 27 +- doc/manpages/gnutls_x509_crq_sign2.3 | 27 +- doc/manpages/gnutls_x509_crq_verify.3 | 27 +- doc/manpages/gnutls_x509_crt_check_hostname.3 | 35 +- doc/manpages/gnutls_x509_crt_check_hostname2.3 | 50 + doc/manpages/gnutls_x509_crt_check_issuer.3 | 30 +- doc/manpages/gnutls_x509_crt_check_revocation.3 | 27 +- doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3 | 27 +- doc/manpages/gnutls_x509_crt_deinit.3 | 27 +- doc/manpages/gnutls_x509_crt_export.3 | 27 +- doc/manpages/gnutls_x509_crt_export2.3 | 46 + doc/manpages/gnutls_x509_crt_get_activation_time.3 | 27 +- .../gnutls_x509_crt_get_authority_info_access.3 | 41 +- .../gnutls_x509_crt_get_authority_key_gn_serial.3 | 33 +- .../gnutls_x509_crt_get_authority_key_id.3 | 29 +- .../gnutls_x509_crt_get_basic_constraints.3 | 29 +- doc/manpages/gnutls_x509_crt_get_ca_status.3 | 29 +- doc/manpages/gnutls_x509_crt_get_crl_dist_points.3 | 47 +- doc/manpages/gnutls_x509_crt_get_dn.3 | 27 +- doc/manpages/gnutls_x509_crt_get_dn2.3 | 43 + doc/manpages/gnutls_x509_crt_get_dn_by_oid.3 | 36 +- doc/manpages/gnutls_x509_crt_get_dn_oid.3 | 34 +- doc/manpages/gnutls_x509_crt_get_expiration_time.3 | 30 +- .../gnutls_x509_crt_get_extension_by_oid.3 | 29 +- doc/manpages/gnutls_x509_crt_get_extension_data.3 | 31 +- doc/manpages/gnutls_x509_crt_get_extension_data2.3 | 46 + doc/manpages/gnutls_x509_crt_get_extension_info.3 | 29 +- doc/manpages/gnutls_x509_crt_get_extension_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_get_fingerprint.3 | 30 +- doc/manpages/gnutls_x509_crt_get_issuer.3 | 36 +- doc/manpages/gnutls_x509_crt_get_issuer_alt_name.3 | 29 +- .../gnutls_x509_crt_get_issuer_alt_name2.3 | 29 +- .../gnutls_x509_crt_get_issuer_alt_othername_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_get_issuer_dn.3 | 27 +- doc/manpages/gnutls_x509_crt_get_issuer_dn2.3 | 43 + .../gnutls_x509_crt_get_issuer_dn_by_oid.3 | 36 +- doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3 | 34 +- .../gnutls_x509_crt_get_issuer_unique_id.3 | 27 +- doc/manpages/gnutls_x509_crt_get_key_id.3 | 29 +- doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_get_key_usage.3 | 29 +- .../gnutls_x509_crt_get_name_constraints.3 | 55 + doc/manpages/gnutls_x509_crt_get_pk_algorithm.3 | 27 +- doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3 | 27 +- doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3 | 27 +- doc/manpages/gnutls_x509_crt_get_policy.3 | 48 + .../gnutls_x509_crt_get_preferred_hash_algorithm.3 | 33 +- .../gnutls_x509_crt_get_private_key_usage_period.3 | 33 +- doc/manpages/gnutls_x509_crt_get_proxy.3 | 29 +- doc/manpages/gnutls_x509_crt_get_raw_dn.3 | 31 +- doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3 | 31 +- doc/manpages/gnutls_x509_crt_get_serial.3 | 27 +- doc/manpages/gnutls_x509_crt_get_signature.3 | 31 +- .../gnutls_x509_crt_get_signature_algorithm.3 | 27 +- doc/manpages/gnutls_x509_crt_get_subject.3 | 36 +- .../gnutls_x509_crt_get_subject_alt_name.3 | 29 +- .../gnutls_x509_crt_get_subject_alt_name2.3 | 29 +- ...gnutls_x509_crt_get_subject_alt_othername_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_get_subject_key_id.3 | 29 +- .../gnutls_x509_crt_get_subject_unique_id.3 | 27 +- .../gnutls_x509_crt_get_verify_algorithm.3 | 27 +- doc/manpages/gnutls_x509_crt_get_version.3 | 27 +- doc/manpages/gnutls_x509_crt_import.3 | 27 +- doc/manpages/gnutls_x509_crt_import_pkcs11.3 | 27 +- doc/manpages/gnutls_x509_crt_import_pkcs11_url.3 | 27 +- doc/manpages/gnutls_x509_crt_init.3 | 27 +- doc/manpages/gnutls_x509_crt_list_import.3 | 27 +- doc/manpages/gnutls_x509_crt_list_import2.3 | 32 +- doc/manpages/gnutls_x509_crt_list_import_pkcs11.3 | 27 +- doc/manpages/gnutls_x509_crt_list_verify.3 | 27 +- doc/manpages/gnutls_x509_crt_print.3 | 29 +- doc/manpages/gnutls_x509_crt_privkey_sign.3 | 27 +- doc/manpages/gnutls_x509_crt_set_activation_time.3 | 27 +- .../gnutls_x509_crt_set_authority_info_access.3 | 27 +- .../gnutls_x509_crt_set_authority_key_id.3 | 29 +- .../gnutls_x509_crt_set_basic_constraints.3 | 27 +- doc/manpages/gnutls_x509_crt_set_ca_status.3 | 27 +- doc/manpages/gnutls_x509_crt_set_crl_dist_points.3 | 27 +- .../gnutls_x509_crt_set_crl_dist_points2.3 | 27 +- doc/manpages/gnutls_x509_crt_set_crq.3 | 27 +- doc/manpages/gnutls_x509_crt_set_crq_extensions.3 | 27 +- doc/manpages/gnutls_x509_crt_set_dn.3 | 41 + doc/manpages/gnutls_x509_crt_set_dn_by_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_set_expiration_time.3 | 29 +- .../gnutls_x509_crt_set_extension_by_oid.3 | 29 +- doc/manpages/gnutls_x509_crt_set_issuer_alt_name.3 | 47 + doc/manpages/gnutls_x509_crt_set_issuer_dn.3 | 41 + .../gnutls_x509_crt_set_issuer_dn_by_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_set_key.3 | 27 +- doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3 | 27 +- doc/manpages/gnutls_x509_crt_set_key_usage.3 | 27 +- .../gnutls_x509_crt_set_name_constraints.3 | 43 + doc/manpages/gnutls_x509_crt_set_pin_function.3 | 44 + doc/manpages/gnutls_x509_crt_set_policy.3 | 47 + .../gnutls_x509_crt_set_private_key_usage_period.3 | 27 +- doc/manpages/gnutls_x509_crt_set_proxy.3 | 27 +- doc/manpages/gnutls_x509_crt_set_proxy_dn.3 | 27 +- doc/manpages/gnutls_x509_crt_set_pubkey.3 | 27 +- doc/manpages/gnutls_x509_crt_set_serial.3 | 35 +- .../gnutls_x509_crt_set_subject_alt_name.3 | 27 +- .../gnutls_x509_crt_set_subject_alternative_name.3 | 31 +- doc/manpages/gnutls_x509_crt_set_subject_key_id.3 | 29 +- doc/manpages/gnutls_x509_crt_set_version.3 | 27 +- doc/manpages/gnutls_x509_crt_sign.3 | 27 +- doc/manpages/gnutls_x509_crt_sign2.3 | 27 +- doc/manpages/gnutls_x509_crt_verify.3 | 30 +- doc/manpages/gnutls_x509_crt_verify_data.3 | 30 +- doc/manpages/gnutls_x509_crt_verify_hash.3 | 30 +- doc/manpages/gnutls_x509_dn_deinit.3 | 27 +- doc/manpages/gnutls_x509_dn_export.3 | 27 +- doc/manpages/gnutls_x509_dn_export2.3 | 47 + doc/manpages/gnutls_x509_dn_get_rdn_ava.3 | 51 +- doc/manpages/gnutls_x509_dn_import.3 | 27 +- doc/manpages/gnutls_x509_dn_init.3 | 27 +- doc/manpages/gnutls_x509_dn_oid_known.3 | 27 +- doc/manpages/gnutls_x509_dn_oid_name.3 | 31 +- doc/manpages/gnutls_x509_ext_export_aia.3 | 42 + .../gnutls_x509_ext_export_authority_key_id.3 | 42 + .../gnutls_x509_ext_export_basic_constraints.3 | 45 + .../gnutls_x509_ext_export_crl_dist_points.3 | 42 + doc/manpages/gnutls_x509_ext_export_key_purposes.3 | 41 + doc/manpages/gnutls_x509_ext_export_key_usage.3 | 42 + .../gnutls_x509_ext_export_name_constraints.3 | 41 + doc/manpages/gnutls_x509_ext_export_policies.3 | 42 + ...utls_x509_ext_export_private_key_usage_period.3 | 45 + doc/manpages/gnutls_x509_ext_export_proxy.3 | 51 + .../gnutls_x509_ext_export_subject_alt_names.3 | 41 + .../gnutls_x509_ext_export_subject_key_id.3 | 42 + doc/manpages/gnutls_x509_ext_import_aia.3 | 44 + .../gnutls_x509_ext_import_authority_key_id.3 | 43 + .../gnutls_x509_ext_import_basic_constraints.3 | 43 + .../gnutls_x509_ext_import_crl_dist_points.3 | 42 + doc/manpages/gnutls_x509_ext_import_key_purposes.3 | 43 + doc/manpages/gnutls_x509_ext_import_key_usage.3 | 48 + .../gnutls_x509_ext_import_name_constraints.3 | 53 + doc/manpages/gnutls_x509_ext_import_policies.3 | 42 + ...utls_x509_ext_import_private_key_usage_period.3 | 44 + doc/manpages/gnutls_x509_ext_import_proxy.3 | 49 + .../gnutls_x509_ext_import_subject_alt_names.3 | 46 + .../gnutls_x509_ext_import_subject_key_id.3 | 42 + doc/manpages/gnutls_x509_key_purpose_deinit.3 | 35 + doc/manpages/gnutls_x509_key_purpose_get.3 | 43 + doc/manpages/gnutls_x509_key_purpose_init.3 | 37 + doc/manpages/gnutls_x509_key_purpose_set.3 | 40 + .../gnutls_x509_name_constraints_add_excluded.3 | 42 + .../gnutls_x509_name_constraints_add_permitted.3 | 42 + doc/manpages/gnutls_x509_name_constraints_check.3 | 43 + .../gnutls_x509_name_constraints_check_crt.3 | 46 + doc/manpages/gnutls_x509_name_constraints_deinit.3 | 35 + .../gnutls_x509_name_constraints_get_excluded.3 | 49 + .../gnutls_x509_name_constraints_get_permitted.3 | 49 + doc/manpages/gnutls_x509_name_constraints_init.3 | 37 + doc/manpages/gnutls_x509_policies_deinit.3 | 35 + doc/manpages/gnutls_x509_policies_get.3 | 44 + doc/manpages/gnutls_x509_policies_init.3 | 37 + doc/manpages/gnutls_x509_policies_set.3 | 40 + doc/manpages/gnutls_x509_policy_release.3 | 36 + doc/manpages/gnutls_x509_privkey_cpy.3 | 27 +- doc/manpages/gnutls_x509_privkey_deinit.3 | 27 +- doc/manpages/gnutls_x509_privkey_export.3 | 27 +- doc/manpages/gnutls_x509_privkey_export2.3 | 49 + doc/manpages/gnutls_x509_privkey_export2_pkcs8.3 | 58 + doc/manpages/gnutls_x509_privkey_export_dsa_raw.3 | 27 +- doc/manpages/gnutls_x509_privkey_export_ecc_raw.3 | 31 +- doc/manpages/gnutls_x509_privkey_export_pkcs8.3 | 27 +- doc/manpages/gnutls_x509_privkey_export_rsa_raw.3 | 27 +- doc/manpages/gnutls_x509_privkey_export_rsa_raw2.3 | 27 +- doc/manpages/gnutls_x509_privkey_fix.3 | 27 +- doc/manpages/gnutls_x509_privkey_generate.3 | 34 +- doc/manpages/gnutls_x509_privkey_get_key_id.3 | 29 +- .../gnutls_x509_privkey_get_pk_algorithm.3 | 27 +- .../gnutls_x509_privkey_get_pk_algorithm2.3 | 39 + doc/manpages/gnutls_x509_privkey_import.3 | 27 +- doc/manpages/gnutls_x509_privkey_import2.3 | 52 + doc/manpages/gnutls_x509_privkey_import_dsa_raw.3 | 27 +- doc/manpages/gnutls_x509_privkey_import_ecc_raw.3 | 27 +- doc/manpages/gnutls_x509_privkey_import_openssl.3 | 48 + doc/manpages/gnutls_x509_privkey_import_pkcs8.3 | 30 +- doc/manpages/gnutls_x509_privkey_import_rsa_raw.3 | 27 +- doc/manpages/gnutls_x509_privkey_import_rsa_raw2.3 | 33 +- doc/manpages/gnutls_x509_privkey_init.3 | 27 +- doc/manpages/gnutls_x509_privkey_sec_param.3 | 27 +- doc/manpages/gnutls_x509_privkey_sign_data.3 | 27 +- doc/manpages/gnutls_x509_privkey_sign_hash.3 | 27 +- doc/manpages/gnutls_x509_privkey_verify_params.3 | 27 +- doc/manpages/gnutls_x509_rdn_get.3 | 33 +- doc/manpages/gnutls_x509_rdn_get_by_oid.3 | 35 +- doc/manpages/gnutls_x509_rdn_get_oid.3 | 33 +- doc/manpages/gnutls_x509_trust_list_add_cas.3 | 39 +- doc/manpages/gnutls_x509_trust_list_add_crls.3 | 27 +- .../gnutls_x509_trust_list_add_named_crt.3 | 29 +- .../gnutls_x509_trust_list_add_system_trust.3 | 43 + .../gnutls_x509_trust_list_add_trust_file.3 | 49 + .../gnutls_x509_trust_list_add_trust_mem.3 | 48 + doc/manpages/gnutls_x509_trust_list_deinit.3 | 36 +- doc/manpages/gnutls_x509_trust_list_get_issuer.3 | 29 +- doc/manpages/gnutls_x509_trust_list_init.3 | 29 +- doc/manpages/gnutls_x509_trust_list_remove_cas.3 | 48 + .../gnutls_x509_trust_list_remove_trust_file.3 | 46 + .../gnutls_x509_trust_list_remove_trust_mem.3 | 44 + doc/manpages/gnutls_x509_trust_list_verify_crt.3 | 39 +- .../gnutls_x509_trust_list_verify_named_crt.3 | 45 +- doc/manpages/ocsptool.1 | 51 +- doc/manpages/p11tool.1 | 155 +- doc/manpages/psktool.1 | 28 +- doc/manpages/srptool.1 | 41 +- doc/manpages/stamp_mans | 1 + doc/manpages/tpmtool.1 | 201 + doc/ocsp-api.texi | 38 +- doc/pgp-api.texi | 96 +- doc/pkcs11-api.texi | 264 +- doc/pkcs12-api.texi | 81 + doc/printlist.c | 355 +- doc/reference/Makefile.am | 107 +- doc/reference/Makefile.in | 641 +- doc/reference/gnutls-docs.sgml | 28 +- doc/reference/gnutls-sections.txt | 5085 +- doc/reference/html/api-index-2-10-0.html | 87 - doc/reference/html/api-index-2-12-0.html | 165 - doc/reference/html/api-index-2-4-0.html | 121 - doc/reference/html/api-index-2-6-0.html | 51 - doc/reference/html/api-index-2-8-0.html | 87 - doc/reference/html/api-index-3-0.html | 38 - doc/reference/html/api-index-deprecated.html | 39 - doc/reference/html/api-index-full.html | 3601 -- doc/reference/html/gnutls-abstract.html | 4295 +- doc/reference/html/gnutls-crypto.html | 1496 +- doc/reference/html/gnutls-dtls.html | 579 + doc/reference/html/gnutls-gnutls.html | 23656 +++++--- doc/reference/html/gnutls-ocsp.html | 2201 + doc/reference/html/gnutls-openpgp.html | 4904 +- doc/reference/html/gnutls-pkcs11.html | 3075 +- doc/reference/html/gnutls-pkcs12.html | 1659 +- doc/reference/html/gnutls-tpm.html | 452 + doc/reference/html/gnutls-x509.html | 17798 ++++-- doc/reference/html/gnutls.devhelp2 | 1164 - doc/reference/html/home.png | Bin 654 -> 0 bytes doc/reference/html/index.html | 65 - doc/reference/html/index.sgml | 1168 - doc/reference/html/intro.html | 42 +- doc/reference/html/left.png | Bin 459 -> 0 bytes doc/reference/html/right.png | Bin 472 -> 0 bytes doc/reference/html/style.css | 266 - doc/reference/html/up.png | Bin 406 -> 0 bytes doc/reference/tmpl/abstract.sgml | 576 +- doc/reference/tmpl/abstract_int.sgml | 58 + doc/reference/tmpl/accelerated.sgml | 22 + doc/reference/tmpl/aes-padlock.sgml | 74 + doc/reference/tmpl/aes-x86.sgml | 111 + doc/reference/tmpl/algorithms.sgml | 63 + doc/reference/tmpl/anon.sgml | 22 + doc/reference/tmpl/cert.sgml | 31 + doc/reference/tmpl/cert_type.sgml | 28 + doc/reference/tmpl/common.sgml | 238 + doc/reference/tmpl/compat.sgml | 253 + doc/reference/tmpl/context.sgml | 32 + doc/reference/tmpl/crypto-backend.sgml | 373 + doc/reference/tmpl/crypto.sgml | 140 +- doc/reference/tmpl/cryptodev.sgml | 22 + doc/reference/tmpl/debug.sgml | 22 + doc/reference/tmpl/dh_common.sgml | 22 + doc/reference/tmpl/dlopen.sgml | 24 - doc/reference/tmpl/dtls.sgml | 131 + doc/reference/tmpl/ecc.sgml | 36 + doc/reference/tmpl/ecdh_common.sgml | 22 + doc/reference/tmpl/egd.sgml | 22 + doc/reference/tmpl/element.sgml | 22 + doc/reference/tmpl/extra.sgml | 22 - doc/reference/tmpl/filters.sgml | 22 + doc/reference/tmpl/gnettle.sgml | 29 + doc/reference/tmpl/gnutls-unused.sgml | 6960 +-- doc/reference/tmpl/gnutls.sgml | 3563 +- doc/reference/tmpl/gnutls_auth.sgml | 22 + doc/reference/tmpl/gnutls_buffers.sgml | 29 + doc/reference/tmpl/gnutls_cipher.sgml | 22 + doc/reference/tmpl/gnutls_cipher_int.sgml | 94 + doc/reference/tmpl/gnutls_compress.sgml | 35 + doc/reference/tmpl/gnutls_constate.sgml | 22 + doc/reference/tmpl/gnutls_datum.sgml | 22 + doc/reference/tmpl/gnutls_db.sgml | 22 + doc/reference/tmpl/gnutls_dh.sgml | 22 + doc/reference/tmpl/gnutls_dtls.sgml | 44 + doc/reference/tmpl/gnutls_ecc.sgml | 22 + doc/reference/tmpl/gnutls_errors.sgml | 72 + doc/reference/tmpl/gnutls_extensions.sgml | 71 + doc/reference/tmpl/gnutls_global.sgml | 48 + doc/reference/tmpl/gnutls_handshake.sgml | 76 + doc/reference/tmpl/gnutls_hash_int.sgml | 64 + doc/reference/tmpl/gnutls_helper.sgml | 22 + doc/reference/tmpl/gnutls_int.sgml | 619 + doc/reference/tmpl/gnutls_kx.sgml | 22 + doc/reference/tmpl/gnutls_mbuffers.sgml | 28 + doc/reference/tmpl/gnutls_mem.sgml | 32 + doc/reference/tmpl/gnutls_mpi.sgml | 28 + doc/reference/tmpl/gnutls_num.sgml | 30 + doc/reference/tmpl/gnutls_openpgp.sgml | 53 + doc/reference/tmpl/gnutls_pk.sgml | 51 + doc/reference/tmpl/gnutls_record.sgml | 22 + doc/reference/tmpl/gnutls_rsa_export.sgml | 22 + doc/reference/tmpl/gnutls_session_pack.sgml | 22 + doc/reference/tmpl/gnutls_sig.sgml | 46 + doc/reference/tmpl/gnutls_srp.sgml | 29 + doc/reference/tmpl/gnutls_state.sgml | 38 + doc/reference/tmpl/gnutls_str.sgml | 131 + doc/reference/tmpl/gnutls_str_array.sgml | 31 + doc/reference/tmpl/gnutls_supplemental.sgml | 22 + doc/reference/tmpl/gnutls_v2_compat.sgml | 22 + doc/reference/tmpl/gnutls_x509.sgml | 43 + doc/reference/tmpl/gnutlsxx.sgml | 509 + doc/reference/tmpl/gstr.sgml | 40 + doc/reference/tmpl/heartbeat.sgml | 70 + doc/reference/tmpl/int.sgml | 255 + doc/reference/tmpl/keydb.sgml | 34 + doc/reference/tmpl/libtasn1.sgml | 1115 + doc/reference/tmpl/locks.sgml | 26 +- doc/reference/tmpl/main.sgml | 176 + doc/reference/tmpl/max_record.sgml | 28 + doc/reference/tmpl/netdb.sgml | 22 - doc/reference/tmpl/ocsp.sgml | 467 + doc/reference/tmpl/opencdk.sgml | 1801 + doc/reference/tmpl/openpgp.sgml | 441 +- doc/reference/tmpl/openpgp_int.sgml | 31 + doc/reference/tmpl/openssl.sgml | 22 - doc/reference/tmpl/packet.sgml | 22 + doc/reference/tmpl/pakchois.sgml | 24 - doc/reference/tmpl/pakchois11.sgml | 24 - doc/reference/tmpl/parser_aux.sgml | 22 + doc/reference/tmpl/pbkdf2-sha1.sgml | 22 + doc/reference/tmpl/pin.sgml | 22 + doc/reference/tmpl/pkcs11.sgml | 386 +- doc/reference/tmpl/pkcs11_int.sgml | 445 +- doc/reference/tmpl/pkcs12.sgml | 180 +- doc/reference/tmpl/psk.sgml | 22 + doc/reference/tmpl/psk_passwd.sgml | 22 + doc/reference/tmpl/random.sgml | 34 + doc/reference/tmpl/randomart.sgml | 22 + doc/reference/tmpl/safe_renegotiation.sgml | 28 + doc/reference/tmpl/server_name.sgml | 35 + doc/reference/tmpl/session_ticket.sgml | 28 + doc/reference/tmpl/sha-padlock.sgml | 114 + doc/reference/tmpl/sign.sgml | 22 - doc/reference/tmpl/signature.sgml | 28 + doc/reference/tmpl/srp.sgml | 24 + doc/reference/tmpl/srp_passwd.sgml | 22 + doc/reference/tmpl/srtp.sgml | 35 + doc/reference/tmpl/status_request.sgml | 28 + doc/reference/tmpl/stream.sgml | 41 + doc/reference/tmpl/structure.sgml | 22 + doc/reference/tmpl/system.sgml | 105 +- doc/reference/tmpl/tpm.sgml | 120 + doc/reference/tmpl/types.sgml | 78 + doc/reference/tmpl/verify-high.sgml | 22 + doc/reference/tmpl/x509.sgml | 2335 +- doc/reference/tmpl/x509_b64.sgml | 39 + doc/reference/tmpl/x509_int.sgml | 249 + doc/reference/tmpl/x86.sgml | 43 + doc/scripts/Makefile.in | 595 +- doc/scripts/cleanup-autogen.pl | 5 + doc/scripts/gdoc | 142 +- doc/scripts/getfuncs.pl | 102 +- doc/stamp-1 | 8 +- doc/stamp-vti | 8 +- doc/tpm-api.texi | 102 + doc/version-guile.texi | 8 +- doc/version.texi | 8 +- doc/x509-api.texi | 2231 +- extra/INSTALL | 365 - extra/Makefile.am | 8 +- extra/Makefile.in | 828 +- extra/gnutls_openssl.c | 985 +- extra/includes/Makefile.in | 663 +- extra/includes/gnutls/openssl.h | 310 +- extra/openssl_compat.c | 221 +- extra/openssl_compat.h | 8 +- gl/Makefile.am | 1069 +- gl/Makefile.in | 1466 +- gl/accept.c | 52 - gl/alloca.in.h | 10 +- gl/alphasort.c | 27 - gl/argp-ba.c | 34 - gl/argp-eexst.c | 30 - gl/argp-fmtstream.c | 435 - gl/argp-fmtstream.h | 359 - gl/argp-fs-xinl.c | 46 - gl/argp-help.c | 1955 - gl/argp-namefrob.h | 157 - gl/argp-parse.c | 953 - gl/argp-pin.c | 26 - gl/argp-pv.c | 34 - gl/argp-pvh.c | 31 - gl/argp-xinl.c | 46 - gl/argp.h | 650 - gl/arpa_inet.in.h | 140 - gl/asnprintf.c | 10 +- gl/asprintf.c | 10 +- gl/base64.c | 53 +- gl/base64.h | 10 +- gl/basename-lgpl.c | 75 - gl/bind.c | 49 - gl/byteswap.in.h | 10 +- gl/c-ctype.c | 10 +- gl/c-ctype.h | 13 +- gl/close.c | 69 - gl/closedir.c | 67 - gl/connect.c | 56 - gl/dirent-private.h | 40 - gl/dirent.in.h | 258 - gl/dirname-lgpl.c | 86 - gl/dirname.h | 46 - gl/dosname.h | 53 - gl/dup2.c | 160 - gl/errno.in.h | 10 +- gl/error.c | 401 - gl/error.h | 65 - gl/fd-hook.c | 116 - gl/fd-hook.h | 119 - gl/filename.h | 54 - gl/float+.h | 10 +- gl/float.c | 10 +- gl/float.in.h | 10 +- gl/fpucw.h | 108 - gl/frexp.c | 168 - gl/frexpl.c | 35 - gl/fseek.c | 30 - gl/fseeko.c | 153 - gl/fseterr.c | 79 - gl/fseterr.h | 45 - gl/fstat.c | 10 +- gl/ftell.c | 10 +- gl/ftello.c | 10 +- gl/gai_strerror.c | 92 - gl/getaddrinfo.c | 443 - gl/getdelim.c | 10 +- gl/getline.c | 10 +- gl/getopt.c | 1245 - gl/getopt.in.h | 255 - gl/getopt1.c | 170 - gl/getopt_int.h | 135 - gl/getpass.c | 229 - gl/getpass.h | 30 - gl/getpeername.c | 49 - gl/getsubopt.c | 82 - gl/gettext.h | 10 +- gl/gettime.c | 48 - gl/gettimeofday.c | 10 +- gl/glthread/threadlib.c | 73 - gl/hash-pjw-bare.c | 10 +- gl/hash-pjw-bare.h | 10 +- gl/inet_ntop.c | 260 - gl/inet_pton.c | 268 - gl/intprops.h | 13 +- gl/isnan.c | 177 - gl/isnand-nolibm.h | 33 - gl/isnand.c | 19 - gl/isnanf-nolibm.h | 40 - gl/isnanf.c | 20 - gl/isnanl-nolibm.h | 33 - gl/isnanl.c | 20 - gl/itold.c | 10 +- gl/listen.c | 49 - gl/lseek.c | 10 +- gl/m4/00gnulib.m4 | 22 +- gl/m4/absolute-header.m4 | 102 + gl/m4/alloca.m4 | 2 +- gl/m4/alphasort.m4 | 21 - gl/m4/argp.m4 | 61 - gl/m4/arpa_inet_h.m4 | 57 - gl/m4/base64.m4 | 2 +- gl/m4/byteswap.m4 | 2 +- gl/m4/clock_time.m4 | 31 - gl/m4/close.m4 | 33 - gl/m4/closedir.m4 | 25 - gl/m4/dirent_h.m4 | 64 - gl/m4/dirname.m4 | 19 - gl/m4/double-slash-root.m4 | 38 - gl/m4/dup2.m4 | 84 - gl/m4/eealloc.m4 | 31 - gl/m4/environ.m4 | 47 - gl/m4/errno_h.m4 | 2 +- gl/m4/error.m4 | 27 - gl/m4/exponentd.m4 | 2 +- gl/m4/exponentf.m4 | 92 - gl/m4/exponentl.m4 | 98 - gl/m4/extensions.m4 | 2 +- gl/m4/extern-inline.m4 | 41 +- gl/m4/fcntl_h.m4 | 2 +- gl/m4/fdopen.m4 | 2 +- gl/m4/float_h.m4 | 2 +- gl/m4/fpieee.m4 | 2 +- gl/m4/frexp.m4 | 172 - gl/m4/frexpl.m4 | 231 - gl/m4/fseek.m4 | 15 - gl/m4/fseeko.m4 | 6 +- gl/m4/fseterr.m4 | 10 - gl/m4/fstat.m4 | 2 +- gl/m4/ftell.m4 | 2 +- gl/m4/ftello.m4 | 2 +- gl/m4/ftruncate.m4 | 40 - gl/m4/func.m4 | 2 +- gl/m4/getaddrinfo.m4 | 209 - gl/m4/getcwd.m4 | 155 - gl/m4/getdelim.m4 | 2 +- gl/m4/getdtablesize.m4 | 17 - gl/m4/getline.m4 | 2 +- gl/m4/getopt.m4 | 368 - gl/m4/getpagesize.m4 | 2 +- gl/m4/getpass.m4 | 58 - gl/m4/getsubopt.m4 | 20 - gl/m4/gettime.m4 | 13 - gl/m4/gettimeofday.m4 | 10 +- gl/m4/gnulib-cache.m4 | 42 +- gl/m4/gnulib-common.m4 | 64 +- gl/m4/gnulib-comp.m4 | 887 +- gl/m4/hostent.m4 | 49 - gl/m4/include_next.m4 | 55 +- gl/m4/inet_ntop.m4 | 68 - gl/m4/inet_pton.m4 | 68 - gl/m4/intmax_t.m4 | 2 +- gl/m4/inttypes.m4 | 3 +- gl/m4/ioctl.m4 | 41 - gl/m4/isnand.m4 | 96 - gl/m4/isnanf.m4 | 188 - gl/m4/isnanl.m4 | 255 - gl/m4/largefile.m4 | 2 +- gl/m4/ld-output-def.m4 | 2 +- gl/m4/ld-version-script.m4 | 2 +- gl/m4/ldexpl.m4 | 133 - gl/m4/lseek.m4 | 2 +- gl/m4/lstat.m4 | 73 - gl/m4/malloc.m4 | 2 +- gl/m4/malloca.m4 | 15 - gl/m4/manywarnings.m4 | 7 +- gl/m4/math_h.m4 | 353 - gl/m4/memchr.m4 | 2 +- gl/m4/memmem.m4 | 2 +- gl/m4/mempcpy.m4 | 26 - gl/m4/minmax.m4 | 2 +- gl/m4/mmap-anon.m4 | 2 +- gl/m4/mode_t.m4 | 26 - gl/m4/msvc-inval.m4 | 2 +- gl/m4/msvc-nothrow.m4 | 2 +- gl/m4/multiarch.m4 | 2 +- gl/m4/netdb_h.m4 | 2 +- gl/m4/netinet_in_h.m4 | 2 +- gl/m4/nocrash.m4 | 130 - gl/m4/off_t.m4 | 2 +- gl/m4/open.m4 | 91 - gl/m4/opendir.m4 | 25 - gl/m4/pathmax.m4 | 42 - gl/m4/perror.m4 | 63 - gl/m4/pipe.m4 | 15 - gl/m4/printf-frexp.m4 | 38 - gl/m4/printf-frexpl.m4 | 48 - gl/m4/printf.m4 | 2 +- gl/m4/putenv.m4 | 56 - gl/m4/rawmemchr.m4 | 20 - gl/m4/read-file.m4 | 2 +- gl/m4/readdir.m4 | 15 - gl/m4/realloc.m4 | 2 +- gl/m4/scandir.m4 | 21 - gl/m4/select.m4 | 113 - gl/m4/servent.m4 | 51 - gl/m4/setenv.m4 | 160 - gl/m4/signal_h.m4 | 83 - gl/m4/signbit.m4 | 365 - gl/m4/sleep.m4 | 62 - gl/m4/snprintf.m4 | 2 +- gl/m4/socketlib.m4 | 86 - gl/m4/sockets.m4 | 17 - gl/m4/socklen.m4 | 2 +- gl/m4/sockpfaf.m4 | 2 +- gl/m4/ssize_t.m4 | 2 +- gl/m4/stat.m4 | 71 - gl/m4/stdalign.m4 | 5 +- gl/m4/stdarg.m4 | 78 - gl/m4/stdbool.m4 | 2 +- gl/m4/stddef_h.m4 | 2 +- gl/m4/stdint.m4 | 2 +- gl/m4/stdio_h.m4 | 2 +- gl/m4/stdlib_h.m4 | 2 +- gl/m4/strcase.m4 | 2 +- gl/m4/strchrnul.m4 | 50 - gl/m4/strdup.m4 | 36 - gl/m4/strerror.m4 | 96 - gl/m4/strerror_r.m4 | 173 - gl/m4/string_h.m4 | 2 +- gl/m4/strings_h.m4 | 2 +- gl/m4/strndup.m4 | 2 +- gl/m4/strnlen.m4 | 2 +- gl/m4/strtok_r.m4 | 2 +- gl/m4/strverscmp.m4 | 2 +- gl/m4/symlink.m4 | 53 - gl/m4/sys_ioctl_h.m4 | 64 - gl/m4/sys_select_h.m4 | 95 - gl/m4/sys_socket_h.m4 | 2 +- gl/m4/sys_stat_h.m4 | 2 +- gl/m4/sys_time_h.m4 | 2 +- gl/m4/sys_types_h.m4 | 2 +- gl/m4/sys_uio_h.m4 | 2 +- gl/m4/sysexits.m4 | 44 - gl/m4/time_h.m4 | 13 +- gl/m4/time_r.m4 | 2 +- gl/m4/timer_time.m4 | 39 - gl/m4/timespec.m4 | 11 - gl/m4/ungetc.m4 | 2 +- gl/m4/unistd_h.m4 | 5 +- gl/m4/valgrind-tests.m4 | 2 +- gl/m4/vasnprintf.m4 | 2 +- gl/m4/vasprintf.m4 | 2 +- gl/m4/version-etc.m4 | 33 - gl/m4/vfprintf-posix.m4 | 110 - gl/m4/vprintf-posix.m4 | 25 - gl/m4/vsnprintf.m4 | 2 +- gl/m4/warn-on-use.m4 | 2 +- gl/m4/warnings.m4 | 21 +- gl/m4/wchar_h.m4 | 2 +- gl/malloc.c | 10 +- gl/math.c | 3 - gl/math.in.h | 2275 - gl/memchr.c | 10 +- gl/memmem.c | 10 +- gl/mempcpy.c | 28 - gl/minmax.h | 10 +- gl/msvc-inval.c | 16 +- gl/msvc-inval.h | 10 +- gl/msvc-nothrow.c | 10 +- gl/msvc-nothrow.h | 10 +- gl/netdb.in.h | 10 +- gl/netinet_in.in.h | 10 +- gl/opendir.c | 148 - gl/printf-args.c | 10 +- gl/printf-args.h | 10 +- gl/printf-frexp.c | 190 - gl/printf-frexp.h | 23 - gl/printf-frexpl.c | 37 - gl/printf-frexpl.h | 23 - gl/printf-parse.c | 10 +- gl/printf-parse.h | 10 +- gl/progname.c | 92 - gl/progname.h | 62 - gl/rawmemchr.c | 136 - gl/rawmemchr.valgrind | 12 - gl/read-file.c | 10 +- gl/read-file.h | 10 +- gl/readdir.c | 98 - gl/realloc.c | 10 +- gl/recv.c | 49 - gl/recvfrom.c | 58 - gl/scandir.c | 187 - gl/select.c | 547 - gl/send.c | 49 - gl/sendto.c | 50 - gl/setsockopt.c | 65 - gl/shutdown.c | 49 - gl/signal.in.h | 447 - gl/signbitd.c | 64 - gl/signbitf.c | 64 - gl/signbitl.c | 64 - gl/size_max.h | 10 +- gl/sleep.c | 76 - gl/snprintf.c | 10 +- gl/socket.c | 49 - gl/sockets.c | 154 - gl/sockets.h | 62 - gl/stdalign.in.h | 50 +- gl/stdarg.in.h | 35 - gl/stdbool.in.h | 10 +- gl/stddef.in.h | 10 +- gl/stdint.in.h | 13 +- gl/stdio-impl.h | 12 +- gl/stdio.in.h | 19 +- gl/stdlib.in.h | 10 +- gl/str-two-way.h | 10 +- gl/strcasecmp.c | 10 +- gl/strchrnul.c | 142 - gl/strchrnul.valgrind | 12 - gl/strdup.c | 54 - gl/strerror-override.c | 302 - gl/strerror-override.h | 56 - gl/strerror.c | 70 - gl/string.in.h | 10 +- gl/strings.in.h | 10 +- gl/stripslash.c | 45 - gl/strncasecmp.c | 10 +- gl/strndup.c | 10 +- gl/strnlen.c | 10 +- gl/strtok_r.c | 10 +- gl/strverscmp.c | 10 +- gl/sys_select.in.h | 313 - gl/sys_socket.in.h | 13 +- gl/sys_stat.in.h | 10 +- gl/sys_time.in.h | 15 +- gl/sys_types.in.h | 12 +- gl/sys_uio.in.h | 10 +- gl/sysexits.in.h | 72 - gl/tests/Makefile.am | 744 +- gl/tests/Makefile.in | 2735 +- gl/tests/binary-io.h | 5 +- gl/tests/fcntl.in.h | 2 +- gl/tests/fdopen.c | 2 +- gl/tests/fpucw.h | 108 + gl/tests/ftruncate.c | 188 - gl/tests/getcwd-lgpl.c | 125 - gl/tests/getdtablesize.c | 86 - gl/tests/getpagesize.c | 2 +- gl/tests/glthread/lock.c | 1057 - gl/tests/glthread/lock.h | 927 - gl/tests/ignore-value.h | 47 - gl/tests/infinity.h | 60 - gl/tests/init.sh | 4 +- gl/tests/inttypes.in.h | 18 +- gl/tests/ioctl.c | 88 - gl/tests/lstat.c | 97 - gl/tests/macros.h | 6 +- gl/tests/malloca.c | 149 - gl/tests/malloca.h | 133 - gl/tests/minus-zero.h | 74 - gl/tests/nan.h | 70 - gl/tests/open.c | 181 - gl/tests/pathmax.h | 83 - gl/tests/perror.c | 49 - gl/tests/pipe.c | 50 - gl/tests/putenv.c | 194 - gl/tests/randomd.c | 1028 - gl/tests/randoml.c | 1028 - gl/tests/same-inode.h | 33 - gl/tests/setenv.c | 390 - gl/tests/signature.h | 2 +- gl/tests/stat.c | 138 - gl/tests/strerror_r.c | 326 - gl/tests/symlink.c | 57 - gl/tests/sys_ioctl.in.h | 78 - gl/tests/test-accept.c | 56 - gl/tests/test-alloca-opt.c | 2 +- gl/tests/test-argp-2.sh | 113 - gl/tests/test-argp.c | 491 - gl/tests/test-arpa_inet.c | 27 - gl/tests/test-base64.c | 2 +- gl/tests/test-binary-io.c | 2 +- gl/tests/test-bind.c | 58 - gl/tests/test-byteswap.c | 2 +- gl/tests/test-c-ctype.c | 2 +- gl/tests/test-close.c | 45 - gl/tests/test-connect.c | 60 - gl/tests/test-dirent.c | 32 - gl/tests/test-dup2.c | 209 - gl/tests/test-environ.c | 44 - gl/tests/test-errno.c | 2 +- gl/tests/test-fcntl-h.c | 2 +- gl/tests/test-fdopen.c | 39 +- gl/tests/test-fgetc.c | 2 +- gl/tests/test-float.c | 2 +- gl/tests/test-fprintf-posix.h | 153 - gl/tests/test-fputc.c | 2 +- gl/tests/test-fread.c | 2 +- gl/tests/test-frexp.c | 67 - gl/tests/test-frexp.h | 179 - gl/tests/test-frexpl.c | 78 - gl/tests/test-fseek.c | 70 - gl/tests/test-fseek.sh | 5 - gl/tests/test-fseek2.sh | 3 - gl/tests/test-fseeko.c | 74 - gl/tests/test-fseeko.sh | 5 - gl/tests/test-fseeko2.sh | 3 - gl/tests/test-fseeko3.c | 51 - gl/tests/test-fseeko3.sh | 7 - gl/tests/test-fseeko4.c | 73 - gl/tests/test-fseeko4.sh | 5 - gl/tests/test-fseterr.c | 44 - gl/tests/test-fstat.c | 2 +- gl/tests/test-ftell.c | 2 +- gl/tests/test-ftell3.c | 2 +- gl/tests/test-ftello.c | 2 +- gl/tests/test-ftello3.c | 2 +- gl/tests/test-ftello4.c | 2 +- gl/tests/test-ftruncate.c | 60 - gl/tests/test-ftruncate.sh | 3 - gl/tests/test-func.c | 2 +- gl/tests/test-fwrite.c | 2 +- gl/tests/test-getaddrinfo.c | 169 - gl/tests/test-getcwd-lgpl.c | 102 - gl/tests/test-getdelim.c | 2 +- gl/tests/test-getdtablesize.c | 34 - gl/tests/test-getline.c | 2 +- gl/tests/test-getopt.c | 99 - gl/tests/test-getopt.h | 1391 - gl/tests/test-getopt_long.h | 2144 - gl/tests/test-getpeername.c | 56 - gl/tests/test-gettimeofday.c | 2 +- gl/tests/test-iconv.c | 148 + gl/tests/test-ignore-value.c | 84 - gl/tests/test-inet_ntop.c | 56 - gl/tests/test-inet_pton.c | 58 - gl/tests/test-init.sh | 2 +- gl/tests/test-intprops.c | 2 +- gl/tests/test-inttypes.c | 2 +- gl/tests/test-ioctl.c | 51 - gl/tests/test-isnand-nolibm.c | 21 - gl/tests/test-isnand.h | 63 - gl/tests/test-isnanf-nolibm.c | 21 - gl/tests/test-isnanf.h | 65 - gl/tests/test-isnanl-nolibm.c | 23 - gl/tests/test-isnanl.h | 127 - gl/tests/test-listen.c | 49 - gl/tests/test-lstat.c | 60 - gl/tests/test-lstat.h | 116 - gl/tests/test-malloc-gnu.c | 29 - gl/tests/test-malloca.c | 62 - gl/tests/test-math.c | 104 - gl/tests/test-memchr.c | 2 +- gl/tests/test-netdb.c | 2 +- gl/tests/test-netinet_in.c | 2 +- gl/tests/test-open.c | 41 - gl/tests/test-open.h | 93 - gl/tests/test-pathmax.c | 32 - gl/tests/test-perror.c | 36 - gl/tests/test-perror.sh | 24 - gl/tests/test-perror2.c | 136 - gl/tests/test-pipe.c | 104 - gl/tests/test-printf-frexp.c | 119 - gl/tests/test-printf-frexpl.c | 134 - gl/tests/test-printf-posix.h | 155 - gl/tests/test-printf-posix.output | 40 - gl/tests/test-rawmemchr.c | 92 - gl/tests/test-read-file.c | 2 +- gl/tests/test-recv.c | 51 - gl/tests/test-recvfrom.c | 62 - gl/tests/test-select-fd.c | 72 - gl/tests/test-select-in.sh | 39 - gl/tests/test-select-out.sh | 35 - gl/tests/test-select-stdin.c | 83 - gl/tests/test-select.c | 34 - gl/tests/test-select.h | 462 - gl/tests/test-send.c | 51 - gl/tests/test-sendto.c | 66 - gl/tests/test-setenv.c | 56 - gl/tests/test-setsockopt.c | 55 - gl/tests/test-shutdown.c | 49 - gl/tests/test-signal-h.c | 129 - gl/tests/test-signbit.c | 177 - gl/tests/test-sleep.c | 58 - gl/tests/test-snprintf.c | 2 +- gl/tests/test-sockets.c | 46 - gl/tests/test-stat.c | 55 - gl/tests/test-stat.h | 100 - gl/tests/test-stdalign.c | 2 +- gl/tests/test-stdbool.c | 2 +- gl/tests/test-stddef.c | 2 +- gl/tests/test-stdint.c | 2 +- gl/tests/test-stdio.c | 2 +- gl/tests/test-stdlib.c | 2 +- gl/tests/test-strchrnul.c | 86 - gl/tests/test-strerror.c | 75 - gl/tests/test-strerror_r.c | 181 - gl/tests/test-string.c | 2 +- gl/tests/test-strings.c | 2 +- gl/tests/test-strnlen.c | 2 +- gl/tests/test-strverscmp.c | 2 +- gl/tests/test-symlink.c | 47 - gl/tests/test-symlink.h | 95 - gl/tests/test-sys_ioctl.c | 27 - gl/tests/test-sys_select.c | 58 - gl/tests/test-sys_socket.c | 2 +- gl/tests/test-sys_stat.c | 2 +- gl/tests/test-sys_time.c | 7 +- gl/tests/test-sys_types.c | 2 +- gl/tests/test-sys_uio.c | 2 +- gl/tests/test-sys_wait.h | 2 +- gl/tests/test-sysexits.c | 52 - gl/tests/test-time.c | 2 +- gl/tests/test-u64.c | 2 +- gl/tests/test-unistd.c | 2 +- gl/tests/test-unsetenv.c | 61 - gl/tests/test-vasnprintf.c | 2 +- gl/tests/test-vasprintf.c | 2 +- gl/tests/test-vc-list-files-cvs.sh | 2 +- gl/tests/test-vc-list-files-git.sh | 2 +- gl/tests/test-verify.c | 2 +- gl/tests/test-version-etc.c | 33 - gl/tests/test-version-etc.sh | 43 - gl/tests/test-vfprintf-posix.c | 52 - gl/tests/test-vfprintf-posix.sh | 16 - gl/tests/test-vprintf-posix.c | 52 - gl/tests/test-vprintf-posix.sh | 16 - gl/tests/test-vsnprintf.c | 2 +- gl/tests/test-wchar.c | 2 +- gl/tests/unsetenv.c | 127 - gl/tests/w32sock.h | 136 - gl/tests/zerosize-ptr.h | 2 +- gl/time.in.h | 54 +- gl/time_r.c | 10 +- gl/timespec.h | 92 - gl/u64.h | 13 +- gl/unistd.in.h | 41 +- gl/vasnprintf.c | 13 +- gl/vasnprintf.h | 10 +- gl/vasprintf.c | 10 +- gl/verify.h | 144 +- gl/version-etc-fsf.c | 30 - gl/version-etc.c | 258 - gl/version-etc.h | 78 - gl/vfprintf.c | 74 - gl/vprintf.c | 33 - gl/vsnprintf.c | 10 +- gl/w32sock.h | 136 - gl/wchar.in.h | 10 +- gl/xsize.h | 13 +- guile/Makefile.in | 756 +- guile/modules/Makefile.in | 592 +- guile/modules/gnutls/build/priorities.scm | 4 +- guile/src/Makefile.am | 24 +- guile/src/Makefile.in | 744 +- guile/src/core.c | 35 +- guile/tests/Makefile.am | 7 +- guile/tests/Makefile.in | 1126 +- guile/tests/anonymous-auth.scm | 6 +- guile/tests/openpgp-auth.scm | 6 +- guile/tests/priorities.scm | 4 +- guile/tests/x509-auth.scm | 6 +- lib/INSTALL | 365 - lib/Makefile.am | 82 +- lib/Makefile.in | 1098 +- lib/abstract_int.h | 100 +- lib/accelerated/Makefile.am | 4 +- lib/accelerated/Makefile.in | 802 +- lib/accelerated/accelerated.c | 16 +- lib/accelerated/cryptodev-gcm.c | 362 +- lib/accelerated/cryptodev.c | 679 +- lib/accelerated/cryptodev.h | 6 +- lib/accelerated/x86/Makefile.am | 24 +- lib/accelerated/x86/Makefile.in | 1043 +- lib/accelerated/x86/README | 4 +- lib/accelerated/x86/aes-cbc-x86-aesni.c | 130 + lib/accelerated/x86/aes-cbc-x86-ssse3.c | 131 + lib/accelerated/x86/aes-gcm-padlock.c | 143 +- lib/accelerated/x86/aes-gcm-x86-aesni.c | 161 + lib/accelerated/x86/aes-gcm-x86-pclmul.c | 270 + lib/accelerated/x86/aes-gcm-x86-ssse3.c | 160 + lib/accelerated/x86/aes-gcm-x86.c | 270 - lib/accelerated/x86/aes-padlock.c | 420 +- lib/accelerated/x86/aes-padlock.h | 53 +- lib/accelerated/x86/aes-x86.c | 226 - lib/accelerated/x86/aes-x86.h | 61 +- lib/accelerated/x86/coff/aes-ssse3-x86.s | 661 + lib/accelerated/x86/coff/aes-ssse3-x86_64.s | 1136 + lib/accelerated/x86/coff/aesni-x86.s | 2216 + lib/accelerated/x86/coff/aesni-x86_64.s | 3654 ++ .../x86/coff/appro-aes-gcm-x86-64-coff.s | 1213 - lib/accelerated/x86/coff/appro-aes-x86-64-coff.s | 3046 - lib/accelerated/x86/coff/appro-aes-x86-coff.s | 2164 - lib/accelerated/x86/coff/cpuid-x86-64-coff.s | 69 - lib/accelerated/x86/coff/cpuid-x86-coff.s | 70 - lib/accelerated/x86/coff/cpuid-x86.s | 72 + lib/accelerated/x86/coff/cpuid-x86_64.s | 71 + lib/accelerated/x86/coff/e_padlock-x86.s | 1062 + lib/accelerated/x86/coff/e_padlock-x86_64.s | 1190 + lib/accelerated/x86/coff/ghash-x86_64.s | 1539 + lib/accelerated/x86/coff/padlock-x86-64-coff.s | 694 - lib/accelerated/x86/coff/padlock-x86-coff.s | 713 - lib/accelerated/x86/coff/sha1-ssse3-x86.s | 1419 + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s | 2645 + lib/accelerated/x86/coff/sha256-ssse3-x86.s | 3386 ++ lib/accelerated/x86/coff/sha512-ssse3-x86.s | 604 + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s | 3024 + lib/accelerated/x86/elf/aes-ssse3-x86.s | 675 + lib/accelerated/x86/elf/aes-ssse3-x86_64.s | 841 + lib/accelerated/x86/elf/aesni-x86.s | 2237 + lib/accelerated/x86/elf/aesni-x86_64.s | 3206 + lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s | 1067 - lib/accelerated/x86/elf/appro-aes-x86-64.s | 2576 - lib/accelerated/x86/elf/appro-aes-x86.s | 2184 - lib/accelerated/x86/elf/cpuid-x86-64.s | 58 - lib/accelerated/x86/elf/cpuid-x86.s | 5 +- lib/accelerated/x86/elf/cpuid-x86_64.s | 59 + lib/accelerated/x86/elf/e_padlock-x86.s | 1072 + lib/accelerated/x86/elf/e_padlock-x86_64.s | 1067 + lib/accelerated/x86/elf/ghash-x86_64.s | 1361 + lib/accelerated/x86/elf/padlock-x86-64.s | 605 - lib/accelerated/x86/elf/padlock-x86.s | 625 - lib/accelerated/x86/elf/sha1-ssse3-x86.s | 1421 + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s | 2462 + lib/accelerated/x86/elf/sha256-ssse3-x86.s | 3388 ++ lib/accelerated/x86/elf/sha512-ssse3-x86.s | 606 + lib/accelerated/x86/elf/sha512-ssse3-x86_64.s | 2881 + lib/accelerated/x86/files.mk | 6 + lib/accelerated/x86/hmac-padlock.c | 414 +- lib/accelerated/x86/hmac-x86-ssse3.c | 300 + lib/accelerated/x86/license.txt | 11 + lib/accelerated/x86/macosx/aes-ssse3-x86.s | 648 + lib/accelerated/x86/macosx/aes-ssse3-x86_64.s | 840 + lib/accelerated/x86/macosx/aesni-x86.s | 2196 + lib/accelerated/x86/macosx/aesni-x86_64.s | 3205 + .../x86/macosx/appro-aes-gcm-x86-64-macosx.s | 1065 - .../x86/macosx/appro-aes-x86-64-macosx.s | 2574 - lib/accelerated/x86/macosx/appro-aes-x86-macosx.s | 2146 - lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s | 56 - lib/accelerated/x86/macosx/cpuid-x86-macosx.s | 68 - lib/accelerated/x86/macosx/cpuid-x86.s | 70 + lib/accelerated/x86/macosx/cpuid-x86_64.s | 58 + lib/accelerated/x86/macosx/e_padlock-x86.s | 1035 + lib/accelerated/x86/macosx/e_padlock-x86_64.s | 1066 + lib/accelerated/x86/macosx/ghash-x86_64.s | 1360 + lib/accelerated/x86/macosx/padlock-x86-64-macosx.s | 603 - lib/accelerated/x86/macosx/padlock-x86-macosx.s | 689 - lib/accelerated/x86/macosx/sha1-ssse3-x86.s | 1418 + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s | 2461 + lib/accelerated/x86/macosx/sha256-ssse3-x86.s | 3385 ++ lib/accelerated/x86/macosx/sha512-ssse3-x86.s | 603 + lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s | 2880 + lib/accelerated/x86/sha-padlock.c | 500 +- lib/accelerated/x86/sha-padlock.h | 26 +- lib/accelerated/x86/sha-x86-ssse3.c | 365 + lib/accelerated/x86/sha-x86.h | 22 + lib/accelerated/x86/x86-common.c | 505 + lib/accelerated/x86/x86-common.h | 48 + lib/accelerated/x86/x86.h | 36 - lib/algorithms.h | 375 +- lib/algorithms/Makefile.am | 2 +- lib/algorithms/Makefile.in | 717 +- lib/algorithms/cert_types.c | 53 +- lib/algorithms/ciphers.c | 286 +- lib/algorithms/ciphersuites.c | 1642 +- lib/algorithms/ecc.c | 316 +- lib/algorithms/kx.c | 268 +- lib/algorithms/mac.c | 291 +- lib/algorithms/protocols.c | 287 +- lib/algorithms/publickey.c | 211 +- lib/algorithms/secparams.c | 208 +- lib/algorithms/sign.c | 333 +- lib/auth/Makefile.am | 6 +- lib/auth/Makefile.in | 730 +- lib/auth/anon.c | 233 +- lib/auth/anon.h | 27 +- lib/auth/anon_ecdh.c | 166 +- lib/auth/cert.c | 3797 +- lib/auth/cert.h | 209 +- lib/auth/dh_common.c | 541 +- lib/auth/dh_common.h | 40 +- lib/auth/dhe.c | 435 +- lib/auth/dhe_psk.c | 713 +- lib/auth/ecdh_common.c | 245 - lib/auth/ecdh_common.h | 50 - lib/auth/ecdhe.c | 407 + lib/auth/ecdhe.h | 51 + lib/auth/psk.c | 509 +- lib/auth/psk.h | 65 +- lib/auth/psk_passwd.c | 303 +- lib/auth/psk_passwd.h | 8 +- lib/auth/rsa.c | 486 +- lib/auth/rsa_common.h | 39 + lib/auth/rsa_export.c | 463 - lib/auth/rsa_psk.c | 429 + lib/auth/srp.c | 1669 +- lib/auth/srp.h | 55 +- lib/auth/srp_passwd.c | 782 +- lib/auth/srp_passwd.h | 27 +- lib/auth/srp_rsa.c | 394 +- lib/auth/srp_sb64.c | 628 +- lib/crypto-api.c | 370 +- lib/crypto-backend.c | 321 +- lib/crypto-backend.h | 467 +- lib/crypto-selftests-pk.c | 769 + lib/crypto-selftests.c | 782 + lib/crypto.h | 14 +- lib/debug.c | 177 +- lib/debug.h | 18 +- lib/ext/Makefile.am | 14 +- lib/ext/Makefile.in | 749 +- lib/ext/alpn.c | 345 + lib/ext/alpn.h | 39 + lib/ext/cert_type.c | 373 +- lib/ext/cert_type.h | 2 +- lib/ext/dumbfw.c | 80 + lib/ext/dumbfw.h | 27 + lib/ext/ecc.c | 384 +- lib/ext/ecc.h | 5 +- lib/ext/heartbeat.c | 567 + lib/ext/heartbeat.h | 43 + lib/ext/max_record.c | 378 +- lib/ext/max_record.h | 2 +- lib/ext/safe_renegotiation.c | 771 +- lib/ext/safe_renegotiation.h | 35 +- lib/ext/server_name.c | 695 +- lib/ext/server_name.h | 20 +- lib/ext/session_ticket.c | 1154 +- lib/ext/session_ticket.h | 6 +- lib/ext/signature.c | 674 +- lib/ext/signature.h | 33 +- lib/ext/srp.c | 407 +- lib/ext/srp.h | 9 +- lib/ext/srtp.c | 669 + lib/ext/srtp.h | 40 + lib/ext/status_request.c | 647 + lib/ext/status_request.h | 35 + lib/extras/Makefile.am | 2 +- lib/extras/Makefile.in | 717 +- lib/extras/randomart.c | 203 +- lib/extras/randomart.h | 9 +- lib/fips.c | 379 + lib/fips.h | 73 + lib/gnutls.pc.in | 4 +- lib/gnutls_alert.c | 392 +- lib/gnutls_anon_cred.c | 45 +- lib/gnutls_asn1_tab.c | 128 +- lib/gnutls_auth.c | 524 +- lib/gnutls_auth.h | 83 +- lib/gnutls_buffers.c | 2058 +- lib/gnutls_buffers.h | 107 +- lib/gnutls_cert.c | 949 +- lib/gnutls_cipher.c | 1175 +- lib/gnutls_cipher.h | 20 +- lib/gnutls_cipher_int.c | 551 +- lib/gnutls_cipher_int.h | 205 +- lib/gnutls_compress.c | 503 +- lib/gnutls_compress.h | 53 +- lib/gnutls_constate.c | 1152 +- lib/gnutls_constate.h | 105 +- lib/gnutls_datum.c | 87 +- lib/gnutls_datum.h | 53 +- lib/gnutls_db.c | 359 +- lib/gnutls_db.h | 12 +- lib/gnutls_dh.c | 680 +- lib/gnutls_dh.h | 13 +- lib/gnutls_dh_primes.c | 555 - lib/gnutls_dtls.c | 1373 +- lib/gnutls_dtls.h | 76 +- lib/gnutls_ecc.c | 258 +- lib/gnutls_ecc.h | 11 +- lib/gnutls_errors.c | 1056 +- lib/gnutls_errors.h | 59 +- lib/gnutls_extensions.c | 1020 +- lib/gnutls_extensions.h | 111 +- lib/gnutls_global.c | 415 +- lib/gnutls_global.h | 8 +- lib/gnutls_handshake.c | 5781 +- lib/gnutls_handshake.h | 64 +- lib/gnutls_hash_int.c | 853 +- lib/gnutls_hash_int.h | 200 +- lib/gnutls_helper.c | 17 +- lib/gnutls_helper.h | 4 +- lib/gnutls_int.h | 1325 +- lib/gnutls_kx.c | 1162 +- lib/gnutls_kx.h | 32 +- lib/gnutls_mbuffers.c | 441 +- lib/gnutls_mbuffers.h | 113 +- lib/gnutls_mem.c | 75 +- lib/gnutls_mem.h | 25 +- lib/gnutls_mpi.c | 605 +- lib/gnutls_mpi.h | 81 +- lib/gnutls_num.c | 226 +- lib/gnutls_num.h | 158 +- lib/gnutls_pcert.c | 470 +- lib/gnutls_pk.c | 998 +- lib/gnutls_pk.h | 86 +- lib/gnutls_priority.c | 1896 +- lib/gnutls_privkey.c | 1284 +- lib/gnutls_privkey_raw.c | 330 + lib/gnutls_psk.c | 339 +- lib/gnutls_pubkey.c | 2630 +- lib/gnutls_range.c | 302 + lib/gnutls_record.c | 2384 +- lib/gnutls_record.h | 83 +- lib/gnutls_rsa_export.c | 119 +- lib/gnutls_rsa_export.h | 24 - lib/gnutls_session.c | 226 +- lib/gnutls_session_pack.c | 1356 +- lib/gnutls_session_pack.h | 10 +- lib/gnutls_sig.c | 1491 +- lib/gnutls_sig.h | 73 +- lib/gnutls_srp.c | 944 +- lib/gnutls_srp.h | 24 +- lib/gnutls_state.c | 1671 +- lib/gnutls_state.h | 66 +- lib/gnutls_str.c | 1161 +- lib/gnutls_str.h | 147 +- lib/gnutls_str_array.h | 131 +- lib/gnutls_supplemental.c | 252 +- lib/gnutls_supplemental.h | 10 +- lib/gnutls_ui.c | 1027 +- lib/gnutls_v2_compat.c | 399 +- lib/gnutls_v2_compat.h | 6 +- lib/gnutls_x509.c | 3512 +- lib/gnutls_x509.h | 21 +- lib/gnutlsxx.cpp | 24 +- lib/hash.c | 234 - lib/hash.h | 24 - lib/includes/Makefile.am | 3 +- lib/includes/Makefile.in | 659 +- lib/includes/gnutls/abstract.h | 645 +- lib/includes/gnutls/compat.h | 477 +- lib/includes/gnutls/crypto.h | 131 +- lib/includes/gnutls/dtls.h | 66 +- lib/includes/gnutls/gnutls.h.in | 2540 +- lib/includes/gnutls/gnutlsxx.h | 791 +- lib/includes/gnutls/ocsp.h | 399 +- lib/includes/gnutls/openpgp.h | 528 +- lib/includes/gnutls/pkcs11.h | 440 +- lib/includes/gnutls/pkcs12.h | 165 +- lib/includes/gnutls/self-test.h | 38 + lib/includes/gnutls/tpm.h | 79 + lib/includes/gnutls/x509-ext.h | 189 + lib/includes/gnutls/x509.h | 1890 +- lib/libgnutls.map | 289 +- lib/libgnutlsxx.map | 30 - lib/locks.c | 36 +- lib/locks.h | 43 +- lib/minitasn1/Makefile.in | 715 +- lib/minitasn1/coding.c | 525 +- lib/minitasn1/decoding.c | 2043 +- lib/minitasn1/element.c | 482 +- lib/minitasn1/element.h | 8 +- lib/minitasn1/errors.c | 6 +- lib/minitasn1/gstr.c | 5 +- lib/minitasn1/gstr.h | 20 +- lib/minitasn1/int.h | 117 +- lib/minitasn1/libtasn1.h | 161 +- lib/minitasn1/parser_aux.c | 142 +- lib/minitasn1/parser_aux.h | 22 +- lib/minitasn1/structure.c | 273 +- lib/minitasn1/structure.h | 5 +- lib/minitasn1/version.c | 2 +- lib/nettle/Makefile.am | 22 +- lib/nettle/Makefile.in | 811 +- lib/nettle/cipher.c | 649 +- lib/nettle/ecc.h | 145 - lib/nettle/ecc_free.c | 45 - lib/nettle/ecc_make_key.c | 158 - lib/nettle/ecc_map.c | 79 - lib/nettle/ecc_mulmod.c | 192 - lib/nettle/ecc_mulmod_timing.c | 176 - lib/nettle/ecc_points.c | 69 - lib/nettle/ecc_projective_add_point.c | 228 - lib/nettle/ecc_projective_check_point.c | 110 - lib/nettle/ecc_projective_dbl_point_3.c | 155 - lib/nettle/ecc_shared_secret.c | 90 - lib/nettle/ecc_sign_hash.c | 115 - lib/nettle/ecc_verify_hash.c | 156 - lib/nettle/egd.c | 398 +- lib/nettle/egd.h | 6 +- lib/nettle/gnettle.h | 2 + lib/nettle/init.c | 14 +- lib/nettle/int/drbg-aes-self-test.c | 149 + lib/nettle/int/drbg-aes.c | 171 + lib/nettle/int/drbg-aes.h | 87 + lib/nettle/int/dsa-fips.h | 117 + lib/nettle/int/dsa-keygen-fips186.c | 417 + lib/nettle/int/dsa-validate.c | 243 + lib/nettle/int/gcm-camellia.c | 78 + lib/nettle/int/gcm-camellia.h | 38 + lib/nettle/int/provable-prime.c | 1296 + lib/nettle/int/rsa-fips.h | 47 + lib/nettle/int/rsa-keygen-fips186.c | 396 + lib/nettle/mac.c | 674 +- lib/nettle/mpi.c | 753 +- lib/nettle/multi.c | 46 - lib/nettle/pk.c | 2464 +- lib/nettle/rnd-common.c | 226 + lib/nettle/rnd-common.h | 58 + lib/nettle/rnd-fips.c | 257 + lib/nettle/rnd.c | 671 +- lib/opencdk/Makefile.am | 4 +- lib/opencdk/Makefile.in | 721 +- lib/opencdk/armor.c | 853 +- lib/opencdk/context.h | 170 +- lib/opencdk/filters.h | 117 +- lib/opencdk/hash.c | 92 - lib/opencdk/kbnode.c | 688 +- lib/opencdk/keydb.c | 3952 +- lib/opencdk/keydb.h | 70 +- lib/opencdk/literal.c | 497 +- lib/opencdk/main.h | 135 +- lib/opencdk/misc.c | 429 +- lib/opencdk/new-packet.c | 1120 +- lib/opencdk/opencdk.h | 1326 +- lib/opencdk/packet.h | 37 +- lib/opencdk/pubkey.c | 778 +- lib/opencdk/read-packet.c | 1867 +- lib/opencdk/seskey.c | 235 +- lib/opencdk/sig-check.c | 1018 +- lib/opencdk/stream.c | 2033 +- lib/opencdk/stream.h | 121 +- lib/opencdk/types.h | 4 +- lib/opencdk/write-packet.c | 1440 +- lib/openpgp/Makefile.am | 2 +- lib/openpgp/Makefile.in | 717 +- lib/openpgp/compat.c | 250 +- lib/openpgp/extras.c | 372 +- lib/openpgp/gnutls_openpgp.c | 893 +- lib/openpgp/gnutls_openpgp.h | 71 +- lib/openpgp/openpgp_int.h | 71 +- lib/openpgp/output.c | 936 +- lib/openpgp/pgp.c | 2171 +- lib/openpgp/pgpverify.c | 141 +- lib/openpgp/privkey.c | 1738 +- lib/pin.c | 64 + lib/pin.h | 7 + lib/pkcs11.c | 5442 +- lib/pkcs11_int.c | 225 + lib/pkcs11_int.h | 349 +- lib/pkcs11_privkey.c | 1099 +- lib/pkcs11_secret.c | 205 +- lib/pkcs11_write.c | 1427 +- lib/pkix.asn | 86 +- lib/pkix_asn1_tab.c | 128 +- lib/priority_options.gperf | 32 + lib/priority_options.h | 182 + lib/random.c | 69 +- lib/random.h | 25 +- lib/safe-memset.c | 67 + lib/system.c | 781 +- lib/system.h | 75 +- lib/system_override.c | 51 +- lib/tpm.c | 1682 + lib/vasprintf.c | 31 + lib/vasprintf.h | 12 + lib/verify-tofu.c | 1226 +- lib/x509/Makefile.am | 10 +- lib/x509/Makefile.in | 739 +- lib/x509/common.c | 2750 +- lib/x509/common.h | 208 +- lib/x509/crl.c | 1611 +- lib/x509/crl_write.c | 557 +- lib/x509/crq.c | 3474 +- lib/x509/dn.c | 1784 +- lib/x509/extensions.c | 1939 +- lib/x509/key_decode.c | 410 +- lib/x509/key_encode.c | 1197 +- lib/x509/mpi.c | 422 +- lib/x509/name_constraints.c | 784 + lib/x509/ocsp.c | 3188 +- lib/x509/ocsp_output.c | 1035 +- lib/x509/output.c | 4772 +- lib/x509/pbkdf2-sha1.c | 277 +- lib/x509/pbkdf2-sha1.h | 8 +- lib/x509/pkcs12.c | 2652 +- lib/x509/pkcs12_bag.c | 1010 +- lib/x509/pkcs12_encr.c | 312 +- lib/x509/pkcs7.c | 1393 +- lib/x509/privkey.c | 2332 +- lib/x509/privkey_openssl.c | 334 + lib/x509/privkey_pkcs8.c | 4277 +- lib/x509/rfc2818_hostname.c | 145 +- lib/x509/sign.c | 224 +- lib/x509/verify-high.c | 1296 +- lib/x509/verify-high.h | 30 +- lib/x509/verify-high2.c | 334 + lib/x509/verify.c | 2167 +- lib/x509/x509.c | 4715 +- lib/x509/x509_dn.c | 225 + lib/x509/x509_ext.c | 3036 + lib/x509/x509_int.h | 494 +- lib/x509/x509_write.c | 1981 +- lib/x509_b64.c | 534 +- lib/x509_b64.h | 14 +- libdane/Makefile.am | 66 + libdane/Makefile.in | 1795 + libdane/dane-params.c | 138 + libdane/dane.c | 948 + libdane/errors.c | 103 + libdane/gnutls-dane.pc.in | 24 + libdane/includes/Makefile.am | 21 + libdane/includes/Makefile.in | 1509 + libdane/includes/gnutls/dane.h | 198 + libdane/libdane.map | 26 + m4/hooks.m4 | 213 +- m4/libtool.m4 | 12 +- m4/lock.m4 | 37 - m4/threadlib.m4 | 347 - maint.mk | 50 +- po/cs.gmo | Bin 25609 -> 27672 bytes po/cs.po | 951 +- po/de.gmo | Bin 24143 -> 26321 bytes po/de.po | 942 +- po/en@boldquot.gmo | Bin 25136 -> 27817 bytes po/en@boldquot.po | 909 +- po/en@quot.gmo | Bin 25116 -> 27797 bytes po/en@quot.po | 907 +- po/eo.gmo | Bin 24918 -> 26836 bytes po/eo.po | 949 +- po/fi.gmo | Bin 25518 -> 27518 bytes po/fi.po | 964 +- po/fr.gmo | Bin 21132 -> 20004 bytes po/fr.po | 927 +- po/gnutls.pot | 849 +- po/it.gmo | Bin 26346 -> 28386 bytes po/it.po | 949 +- po/ms.gmo | Bin 15537 -> 15240 bytes po/ms.po | 900 +- po/nl.gmo | Bin 25739 -> 27785 bytes po/nl.po | 955 +- po/pl.gmo | Bin 25381 -> 27816 bytes po/pl.po | 1290 +- po/sv.gmo | Bin 25115 -> 23678 bytes po/sv.po | 939 +- po/uk.gmo | Bin 32992 -> 35669 bytes po/uk.po | 952 +- po/vi.gmo | Bin 27730 -> 29786 bytes po/vi.po | 1096 +- po/zh_CN.gmo | Bin 15371 -> 14923 bytes po/zh_CN.po | 906 +- src/Makefile.am | 216 +- src/Makefile.in | 1429 +- src/args-std.def | 12 +- src/benchmark-cipher.c | 340 +- src/benchmark-tls.c | 748 +- src/benchmark.c | 186 +- src/benchmark.h | 48 +- src/certtool-args.c | 2538 - src/certtool-args.c.bak | 2808 + src/certtool-args.def | 167 +- src/certtool-args.h | 316 - src/certtool-args.h.bak | 334 + src/certtool-cfg.c | 3064 +- src/certtool-cfg.h | 119 +- src/certtool-common.c | 1395 +- src/certtool-common.h | 108 +- src/certtool-extras.c | 136 + src/certtool.c | 5717 +- src/cli-args.c | 2053 - src/cli-args.c.bak | 2494 + src/cli-args.def | 182 +- src/cli-args.h | 282 - src/cli-args.h.bak | 308 + src/cli-debug-args.c | 943 - src/cli-debug-args.c.bak | 946 + src/cli-debug-args.h | 216 - src/cli-debug-args.h.bak | 214 + src/cli-debug.c | 364 + src/cli.c | 2869 +- src/common.c | 1921 +- src/common.h | 72 +- src/crywrap/Makefile.am | 8 +- src/crywrap/Makefile.in | 725 +- src/crywrap/crywrap.c | 1520 +- src/crywrap/crywrap.h | 48 +- src/crywrap/primes.h | 9 +- src/danetool-args.c.bak | 1581 + src/danetool-args.def | 197 + src/danetool-args.h.bak | 254 + src/danetool.c | 487 + src/dh.c | 241 - src/gl/Makefile.am | 1913 + src/gl/Makefile.in | 2893 + src/gl/accept.c | 52 + src/gl/alloca.c | 478 + src/gl/alloca.in.h | 63 + src/gl/arpa_inet.in.h | 140 + src/gl/asnprintf.c | 34 + src/gl/bind.c | 49 + src/gl/c-ctype.c | 395 + src/gl/c-ctype.h | 295 + src/gl/close.c | 69 + src/gl/connect.c | 56 + src/gl/dup2.c | 164 + src/gl/errno.in.h | 279 + src/gl/error.c | 401 + src/gl/error.h | 65 + src/gl/exitfail.c | 24 + src/gl/exitfail.h | 18 + src/gl/fd-hook.c | 116 + src/gl/fd-hook.h | 119 + src/gl/float+.h | 147 + src/gl/float.c | 33 + src/gl/float.in.h | 188 + src/gl/fseek.c | 30 + src/gl/fseeko.c | 159 + src/gl/fstat.c | 88 + src/gl/gai_strerror.c | 92 + src/gl/getaddrinfo.c | 443 + src/gl/getdelim.c | 135 + src/gl/getline.c | 27 + src/gl/getpass.c | 229 + src/gl/getpass.h | 30 + src/gl/getpeername.c | 49 + src/gl/gettext.h | 288 + src/gl/gettime.c | 48 + src/gl/gettimeofday.c | 154 + src/gl/inet_ntop.c | 260 + src/gl/inet_pton.c | 268 + src/gl/intprops.h | 320 + src/gl/itold.c | 28 + src/gl/listen.c | 49 + src/gl/lseek.c | 67 + src/gl/m4/arpa_inet_h.m4 | 57 + src/gl/m4/bison.m4 | 24 + src/gl/m4/clock_time.m4 | 31 + src/gl/m4/close.m4 | 33 + src/gl/m4/dup2.m4 | 87 + src/gl/m4/eealloc.m4 | 31 + src/gl/m4/environ.m4 | 47 + src/gl/m4/error.m4 | 27 + src/gl/m4/fseek.m4 | 15 + src/gl/m4/getaddrinfo.m4 | 209 + src/gl/m4/getpass.m4 | 58 + src/gl/m4/gettime.m4 | 13 + src/gl/m4/gnulib-cache.m4 | 70 + src/gl/m4/gnulib-comp.m4 | 794 + src/gl/m4/hostent.m4 | 49 + src/gl/m4/inet_ntop.m4 | 68 + src/gl/m4/inet_pton.m4 | 68 + src/gl/m4/malloca.m4 | 15 + src/gl/m4/mktime.m4 | 253 + src/gl/m4/parse-datetime.m4 | 55 + src/gl/m4/select.m4 | 113 + src/gl/m4/servent.m4 | 51 + src/gl/m4/setenv.m4 | 160 + src/gl/m4/signal_h.m4 | 83 + src/gl/m4/socketlib.m4 | 86 + src/gl/m4/sockets.m4 | 17 + src/gl/m4/strdup.m4 | 36 + src/gl/m4/strerror.m4 | 96 + src/gl/m4/sys_select_h.m4 | 95 + src/gl/m4/timespec.m4 | 11 + src/gl/m4/tm_gmtoff.m4 | 14 + src/gl/m4/xalloc.m4 | 7 + src/gl/malloc.c | 56 + src/gl/malloca.c | 149 + src/gl/malloca.h | 133 + {gl/tests => src/gl}/malloca.valgrind | 0 src/gl/memchr.c | 172 + src/gl/memchr.valgrind | 14 + src/gl/mktime-internal.h | 4 + src/gl/mktime.c | 741 + src/gl/msvc-inval.c | 129 + src/gl/msvc-inval.h | 222 + src/gl/msvc-nothrow.c | 49 + src/gl/msvc-nothrow.h | 43 + src/gl/netdb.in.h | 265 + src/gl/netinet_in.in.h | 47 + src/gl/parse-datetime.c | 3348 ++ src/gl/parse-datetime.h | 22 + src/gl/parse-datetime.y | 1626 + src/gl/printf-args.c | 187 + src/gl/printf-args.h | 158 + src/gl/printf-parse.c | 638 + src/gl/printf-parse.h | 193 + src/gl/progname.c | 92 + src/gl/progname.h | 62 + src/gl/realloc.c | 79 + src/gl/recv.c | 49 + src/gl/recvfrom.c | 58 + src/gl/select.c | 547 + src/gl/send.c | 49 + src/gl/sendto.c | 50 + src/gl/setenv.c | 390 + src/gl/setsockopt.c | 65 + src/gl/shutdown.c | 49 + src/gl/signal.in.h | 461 + src/gl/size_max.h | 30 + src/gl/snprintf.c | 71 + src/gl/socket.c | 49 + src/gl/sockets.c | 154 + src/gl/sockets.h | 62 + src/gl/stdalign.in.h | 110 + src/gl/stdbool.in.h | 132 + src/gl/stddef.in.h | 86 + src/gl/stdint.in.h | 635 + src/gl/stdio-impl.h | 112 + src/gl/stdio.in.h | 1353 + src/gl/stdlib.in.h | 954 + src/gl/strdup.c | 54 + src/gl/strerror-override.c | 302 + src/gl/strerror-override.h | 56 + src/gl/strerror.c | 70 + src/gl/string.in.h | 1029 + src/gl/sys_select.in.h | 313 + src/gl/sys_socket.c | 3 + src/gl/sys_socket.in.h | 692 + src/gl/sys_stat.in.h | 732 + src/gl/sys_time.in.h | 213 + src/gl/sys_types.in.h | 53 + src/gl/sys_uio.in.h | 63 + src/gl/time.in.h | 274 + src/gl/time_r.c | 44 + {gl => src/gl}/timespec.c | 0 src/gl/timespec.h | 112 + src/gl/unistd.c | 3 + src/gl/unistd.in.h | 1557 + src/gl/unsetenv.c | 127 + src/gl/vasnprintf.c | 5607 ++ src/gl/vasnprintf.h | 79 + src/gl/verify.h | 279 + src/gl/w32sock.h | 136 + src/gl/wchar.in.h | 1028 + src/gl/xalloc-die.c | 41 + src/gl/xalloc-oversized.h | 38 + src/gl/xalloc.h | 263 + src/gl/xmalloc.c | 122 + src/gl/xsize.c | 3 + src/gl/xsize.h | 117 + src/inline_cmds.h | 70 + src/libopts/Makefile.am | 16 +- src/libopts/Makefile.in | 745 +- src/libopts/ag-char-map.h | 15 +- src/libopts/alias.c | 2 +- src/libopts/ao-strs.c | 114 +- src/libopts/ao-strs.h | 124 +- src/libopts/autoopts.c | 67 +- src/libopts/autoopts.h | 70 + src/libopts/autoopts/options.h | 124 +- src/libopts/autoopts/project.h | 2 + src/libopts/autoopts/usage-txt.h | 178 +- src/libopts/compat/compat.h | 2 +- src/libopts/compat/pathfind.c | 98 +- src/libopts/compat/strchr.c | 4 +- src/libopts/configfile.c | 17 +- src/libopts/enum.c | 308 +- src/libopts/find.c | 13 +- src/libopts/genshell.c | 211 +- src/libopts/genshell.h | 20 +- src/libopts/gettext.h | 1 + src/libopts/init.c | 13 +- src/libopts/load.c | 321 +- src/libopts/m4/libopts.m4 | 26 +- src/libopts/makeshell.c | 30 +- src/libopts/option-value-type.c | 4 +- src/libopts/option-value-type.h | 2 +- src/libopts/option-xat-attribute.c | 4 +- src/libopts/option-xat-attribute.h | 2 +- src/libopts/pgusage.c | 117 +- src/libopts/proto.h | 19 +- src/libopts/putshell.c | 13 +- src/libopts/restore.c | 2 +- src/libopts/save.c | 80 +- src/libopts/stack.c | 4 +- src/libopts/streqvcmp.c | 4 +- src/libopts/text_mmap.c | 45 +- src/libopts/usage.c | 97 +- src/libopts/version.c | 6 +- src/list.h | 22 +- src/ocsptool-args.c | 1520 - src/ocsptool-args.c.bak | 1523 + src/ocsptool-args.def | 2 +- src/ocsptool-args.h | 242 - src/ocsptool-args.h.bak | 240 + src/ocsptool-common.c | 648 +- src/ocsptool-common.h | 33 +- src/ocsptool.c | 813 +- src/p11common.c | 135 - src/p11common.h | 21 - src/p11tool-args.c | 1885 - src/p11tool-args.c.bak | 2235 + src/p11tool-args.def | 89 +- src/p11tool-args.h | 272 - src/p11tool-args.h.bak | 290 + src/p11tool.c | 415 +- src/p11tool.h | 45 +- src/pkcs11.c | 1560 +- src/psk-args.c | 966 - src/psk-args.def | 63 - src/psk-args.h | 218 - src/psk.c | 412 +- src/psktool-args.c.bak | 969 + src/psktool-args.def | 63 + src/psktool-args.h.bak | 216 + src/serv-args.c | 2014 - src/serv-args.c.bak | 2163 + src/serv-args.def | 41 +- src/serv-args.h | 276 - src/serv-args.h.bak | 282 + src/serv.c | 2693 +- src/socket.c | 327 +- src/socket.h | 36 +- src/srptool-args.c | 1061 - src/srptool-args.c.bak | 1067 + src/srptool-args.def | 8 +- src/srptool-args.h | 226 - src/srptool-args.h.bak | 226 + src/srptool.c | 1180 +- src/tests.c | 1612 +- src/tests.h | 92 +- src/tls_test.c | 363 - src/tpmtool-args.c.bak | 1361 + src/tpmtool-args.def | 156 + src/tpmtool-args.h.bak | 240 + src/tpmtool.c | 286 + src/udp-serv.c | 452 +- src/udp-serv.h | 10 +- tests/Makefile.am | 38 +- tests/Makefile.in | 2417 +- tests/anonself.c | 535 +- tests/cert-tests/Makefile.am | 28 +- tests/cert-tests/Makefile.in | 1101 +- tests/cert-tests/aki | 21 +- tests/cert-tests/aki-cert.pem | 14 +- tests/cert-tests/bmpstring.pem | 167 + tests/cert-tests/ca-no-pathlen.pem | 7 +- tests/cert-tests/cert-ecc256.pem | 18 + tests/cert-tests/complex-cert.pem | 104 + tests/cert-tests/dane | 43 + tests/cert-tests/dane-test.rr | 1 + tests/cert-tests/no-ca-or-pathlen.pem | 13 +- tests/cert-tests/pathlen | 33 +- tests/cert-tests/pem-decoding | 69 +- tests/cert-tests/suppressions.valgrind | 0 tests/cert-tests/template-date.pem | 23 + tests/cert-tests/template-date.tmpl | 97 + tests/cert-tests/template-dn-err.tmpl | 67 + tests/cert-tests/template-dn.pem | 19 + tests/cert-tests/template-dn.tmpl | 67 + tests/cert-tests/template-nc.pem | 21 + tests/cert-tests/template-nc.tmpl | 78 + tests/cert-tests/template-overflow.pem | 23 + tests/cert-tests/template-overflow.tmpl | 97 + tests/cert-tests/template-overflow2.pem | 23 + tests/cert-tests/template-overflow2.tmpl | 97 + tests/cert-tests/template-test | 178 +- tests/cert-tests/template-test.pem | 34 +- tests/cert-tests/template-test.tmpl | 4 +- tests/cert-tests/template-utf8.pem | 23 + tests/cert-tests/template-utf8.tmpl | 35 + tests/cert-tests/xmpp-othername.pem | 185 + tests/certder.c | 658 +- tests/certificate_set_x509_crl.c | 119 +- tests/certs/ca-cert-ecc.pem | 14 + tests/certs/ca-ecc.pem | 28 + tests/certs/cert-ecc.pem | 13 + tests/certs/cert-ecc256.pem | 18 + tests/certs/cert-ecc384.pem | 19 + tests/certs/cert-ecc521.pem | 19 + tests/certs/cert-rsa-2432.pem | 22 + tests/certs/ecc.pem | 25 + tests/certs/ecc256.pem | 37 + tests/certs/ecc384.pem | 41 + tests/certs/ecc521.pem | 45 + tests/certs/rsa-2432.pem | 32 + tests/certuniqueid.c | 370 +- tests/chainverify-unsorted.c | 756 + tests/chainverify.c | 1074 +- tests/crq_apis.c | 354 +- tests/crq_key_id.c | 316 +- tests/cve-2008-4989.c | 405 +- tests/cve-2009-1415.c | 100 +- tests/cve-2009-1416.c | 60 +- tests/dhepskself.c | 512 +- tests/dn.c | 189 +- tests/dn2.c | 120 +- tests/dsa/Makefile.am | 7 +- tests/dsa/Makefile.in | 1059 +- tests/dsa/testdsa | 2 +- tests/dtls/Makefile.am | 8 +- tests/dtls/Makefile.in | 1150 +- tests/dtls/dtls-stress.c | 847 +- tests/eagain-common.h | 246 +- tests/ecdsa/Makefile.am | 5 +- tests/ecdsa/Makefile.in | 1057 +- tests/fips-test.c | 142 + tests/gc.c | 129 +- tests/global-init.c | 83 + tests/hostname-check.c | 1616 +- tests/infoaccess.c | 385 +- tests/init_roundtrip.c | 25 +- tests/key-id/Makefile.am | 29 - tests/key-id/Makefile.in | 1749 - tests/key-openssl.c | 126 + tests/key-tests/Makefile.am | 34 + tests/key-tests/Makefile.in | 1780 + tests/{key-id => key-tests}/README | 0 tests/{key-id => key-tests}/ca-gnutls-keyid.pem | 0 tests/{key-id => key-tests}/ca-no-keyid.pem | 0 tests/{key-id => key-tests}/ca-weird-keyid.pem | 0 tests/key-tests/key-ca-1234.p8 | 10 + tests/key-tests/key-ca-empty.p8 | 10 + tests/key-tests/key-ca-null.p8 | 10 + tests/{key-id => key-tests}/key-ca.pem | 0 tests/key-tests/key-ecc.p8 | 8 + tests/key-tests/key-ecc.pem | 7 + tests/{key-id => key-tests}/key-id | 0 tests/{key-id => key-tests}/key-user.pem | 0 tests/key-tests/openssl-key-ecc.p8 | 8 + tests/key-tests/pkcs8 | 137 + tests/long-session-id.c | 274 + tests/mini-alpn.c | 295 + tests/mini-cert-status.c | 309 + tests/mini-deflate.c | 136 - tests/mini-dtls-heartbeat.c | 350 + tests/mini-dtls-hello-verify.c | 350 + tests/mini-dtls-large.c | 355 + tests/mini-dtls-record.c | 405 + tests/mini-dtls-rehandshake.c | 594 +- tests/mini-dtls-srtp.c | 342 + tests/mini-eagain-dtls.c | 178 +- tests/mini-eagain.c | 156 +- tests/mini-emsgsize-dtls.c | 193 + tests/mini-global-load.c | 149 + tests/mini-handshake-timeout.c | 235 + tests/mini-loss-time.c | 389 +- tests/mini-overhead.c | 472 +- tests/mini-record-2.c | 466 + tests/mini-record-range.c | 386 + tests/mini-record.c | 600 +- tests/mini-rehandshake.c | 222 +- tests/mini-rsa-psk.c | 336 + tests/mini-tdb.c | 270 +- tests/mini-termination.c | 467 +- tests/mini-x509-2.c | 327 + tests/mini-x509-callbacks-intr.c | 189 + tests/mini-x509-callbacks.c | 238 + tests/mini-x509-cas.c | 214 +- tests/mini-x509.c | 311 +- tests/mini.c | 115 - tests/moredn.c | 99 +- tests/mpi.c | 73 +- tests/name-constraints.c | 323 + tests/nul-in-x509-names.c | 201 +- tests/ocsp.c | 2503 +- tests/openpgp-auth.c | 492 +- tests/openpgp-auth2.c | 411 +- tests/openpgp-certs/Makefile.am | 10 +- tests/openpgp-certs/Makefile.in | 1067 +- tests/openpgp-keyring.c | 478 +- tests/openpgpself.c | 1074 +- tests/openssl.c | 37 +- tests/parse_ca.c | 93 +- tests/pgps2kgnu.c | 124 +- tests/pkcs1-padding/Makefile.am | 7 +- tests/pkcs1-padding/Makefile.in | 1059 +- tests/pkcs12-decode/Makefile.am | 10 +- tests/pkcs12-decode/Makefile.in | 1063 +- tests/pkcs12-decode/cert-ca.p12 | Bin 0 -> 2669 bytes tests/pkcs12-decode/pkcs12 | 72 +- tests/pkcs12-decode/pkcs12_5certs.p12 | Bin 0 -> 7338 bytes tests/pkcs12-decode/test-null.p12 | Bin 0 -> 1649 bytes tests/pkcs12_encode.c | 317 +- tests/pkcs12_s2k.c | 237 +- tests/pkcs12_s2k_pem.c | 97 +- tests/pkcs12_simple.c | 155 + tests/pkcs8-decode/Makefile.am | 5 +- tests/pkcs8-decode/Makefile.in | 1057 +- tests/priorities.c | 121 + tests/pskself.c | 474 +- tests/record-sizes-range.c | 171 + tests/record-sizes.c | 167 + tests/resume-dtls.c | 997 +- tests/resume.c | 987 +- tests/rng-fork.c | 148 +- tests/rsa-encrypt-decrypt.c | 224 +- tests/rsa-md5-collision/Makefile.am | 5 +- tests/rsa-md5-collision/Makefile.in | 1058 +- tests/rsa-md5-collision/rsa-md5-collision | 4 +- tests/safe-renegotiation/Makefile.am | 7 +- tests/safe-renegotiation/Makefile.in | 1186 +- tests/safe-renegotiation/srn0.c | 242 +- tests/safe-renegotiation/srn1.c | 199 +- tests/safe-renegotiation/srn2.c | 343 +- tests/safe-renegotiation/srn3.c | 200 +- tests/safe-renegotiation/srn4.c | 247 +- tests/safe-renegotiation/srn5.c | 258 +- tests/scripts/Makefile.in | 595 +- tests/scripts/common.sh | 2 +- tests/sec-params.c | 104 + tests/set_pkcs12_cred.c | 134 +- tests/setcredcrash.c | 32 +- tests/sha2/Makefile.am | 5 +- tests/sha2/Makefile.in | 1064 +- tests/sha2/sha2 | 26 +- tests/sha2/sha2-dsa | 36 +- tests/simple.c | 118 +- tests/slow/Makefile.am | 17 +- tests/slow/Makefile.in | 1195 +- tests/slow/cipher-test.c | 646 +- tests/slow/gendh.c | 32 +- tests/slow/keygen.c | 104 +- tests/srp/Makefile.am | 5 +- tests/srp/Makefile.in | 1148 +- tests/srp/mini-srp.c | 482 +- tests/suite/Makefile.am | 47 +- tests/suite/Makefile.in | 2292 +- tests/suite/crl/long.crl | Bin 0 -> 377613 bytes tests/suite/crl/long.pem | 29149 +++++++++ tests/suite/mini-record-timing.c | 806 + tests/suite/pkcs11-chainverify.c | 306 + tests/suite/pkcs11-get-issuer.c | 266 + tests/suite/rng.c | 76 + tests/suppressions.valgrind | 32 +- tests/test-chains.h | 1254 + tests/userid/Makefile.am | 5 +- tests/userid/Makefile.in | 1057 +- tests/utils.c | 206 +- tests/utils.h | 29 +- tests/x509-extensions.c | 863 + tests/x509_altname.c | 161 +- tests/x509cert-tl.c | 390 +- tests/x509cert.c | 283 +- tests/x509dn.c | 842 +- tests/x509self.c | 793 +- tests/x509sign-verify.c | 428 +- 3625 files changed, 536669 insertions(+), 377166 deletions(-) delete mode 100644 TODO create mode 100755 build-aux/test-driver create mode 100755 build-aux/ylwrap create mode 100644 doc/cha-auth.texi create mode 100644 doc/cha-crypto.texi create mode 100644 doc/cha-tokens.texi create mode 100644 doc/dane-api.texi create mode 100644 doc/doc.mk create mode 100644 doc/enums/dane_cert_type_t create mode 100644 doc/enums/dane_cert_usage_t create mode 100644 doc/enums/dane_match_type_t create mode 100644 doc/enums/dane_query_status_t create mode 100644 doc/enums/dane_state_flags_t create mode 100644 doc/enums/dane_verify_flags_t create mode 100644 doc/enums/dane_verify_status_t create mode 100644 doc/enums/gnutls_certificate_verification_profiles_t create mode 100644 doc/enums/gnutls_ocsp_cert_status_t create mode 100644 doc/enums/gnutls_ocsp_print_formats_t create mode 100644 doc/enums/gnutls_ocsp_resp_status_t create mode 100644 doc/enums/gnutls_ocsp_verify_reason_t create mode 100644 doc/enums/gnutls_pin_flag_t create mode 100644 doc/enums/gnutls_pkcs11_url_type_t create mode 100644 doc/enums/gnutls_privkey_flags_t create mode 100644 doc/enums/gnutls_pubkey_flags_t create mode 100644 doc/enums/gnutls_srtp_profile_t create mode 100644 doc/enums/gnutls_tpmkey_fmt_t create mode 100644 doc/enums/gnutls_vdata_types_t create mode 100644 doc/enums/gnutls_x509_crl_reason_t create mode 100644 doc/functions/dane_cert_type_name create mode 100644 doc/functions/dane_cert_type_name.short create mode 100644 doc/functions/dane_cert_usage_name create mode 100644 doc/functions/dane_cert_usage_name.short create mode 100644 doc/functions/dane_match_type_name create mode 100644 doc/functions/dane_match_type_name.short create mode 100644 doc/functions/dane_query_data create mode 100644 doc/functions/dane_query_data.short create mode 100644 doc/functions/dane_query_deinit create mode 100644 doc/functions/dane_query_deinit.short create mode 100644 doc/functions/dane_query_entries create mode 100644 doc/functions/dane_query_entries.short create mode 100644 doc/functions/dane_query_status create mode 100644 doc/functions/dane_query_status.short create mode 100644 doc/functions/dane_query_tlsa create mode 100644 doc/functions/dane_query_tlsa.short create mode 100644 doc/functions/dane_raw_tlsa create mode 100644 doc/functions/dane_raw_tlsa.short create mode 100644 doc/functions/dane_state_deinit create mode 100644 doc/functions/dane_state_deinit.short create mode 100644 doc/functions/dane_state_init create mode 100644 doc/functions/dane_state_init.short create mode 100644 doc/functions/dane_state_set_dlv_file create mode 100644 doc/functions/dane_state_set_dlv_file.short create mode 100644 doc/functions/dane_strerror create mode 100644 doc/functions/dane_strerror.short create mode 100644 doc/functions/dane_verification_status_print create mode 100644 doc/functions/dane_verification_status_print.short create mode 100644 doc/functions/dane_verify_crt create mode 100644 doc/functions/dane_verify_crt.short create mode 100644 doc/functions/dane_verify_crt_raw create mode 100644 doc/functions/dane_verify_crt_raw.short create mode 100644 doc/functions/dane_verify_session_crt create mode 100644 doc/functions/dane_verify_session_crt.short create mode 100644 doc/functions/gnutls_alpn_get_selected_protocol create mode 100644 doc/functions/gnutls_alpn_get_selected_protocol.short create mode 100644 doc/functions/gnutls_alpn_set_protocols create mode 100644 doc/functions/gnutls_alpn_set_protocols.short create mode 100644 doc/functions/gnutls_certificate_client_set_retrieve_function create mode 100644 doc/functions/gnutls_certificate_client_set_retrieve_function.short create mode 100644 doc/functions/gnutls_certificate_get_crt_raw create mode 100644 doc/functions/gnutls_certificate_get_crt_raw.short create mode 100644 doc/functions/gnutls_certificate_get_peers_subkey_id create mode 100644 doc/functions/gnutls_certificate_get_peers_subkey_id.short create mode 100644 doc/functions/gnutls_certificate_server_set_retrieve_function create mode 100644 doc/functions/gnutls_certificate_server_set_retrieve_function.short create mode 100644 doc/functions/gnutls_certificate_set_ocsp_status_request_file create mode 100644 doc/functions/gnutls_certificate_set_ocsp_status_request_file.short create mode 100644 doc/functions/gnutls_certificate_set_ocsp_status_request_function create mode 100644 doc/functions/gnutls_certificate_set_ocsp_status_request_function.short create mode 100644 doc/functions/gnutls_certificate_set_pin_function create mode 100644 doc/functions/gnutls_certificate_set_pin_function.short create mode 100644 doc/functions/gnutls_certificate_set_trust_list create mode 100644 doc/functions/gnutls_certificate_set_trust_list.short create mode 100644 doc/functions/gnutls_certificate_set_x509_key_file2 create mode 100644 doc/functions/gnutls_certificate_set_x509_key_file2.short create mode 100644 doc/functions/gnutls_certificate_set_x509_key_mem2 create mode 100644 doc/functions/gnutls_certificate_set_x509_key_mem2.short create mode 100644 doc/functions/gnutls_certificate_verification_status_print create mode 100644 doc/functions/gnutls_certificate_verification_status_print.short create mode 100644 doc/functions/gnutls_certificate_verify_peers create mode 100644 doc/functions/gnutls_certificate_verify_peers.short create mode 100644 doc/functions/gnutls_certificate_verify_peers3 create mode 100644 doc/functions/gnutls_certificate_verify_peers3.short create mode 100644 doc/functions/gnutls_cipher_get_iv_size create mode 100644 doc/functions/gnutls_cipher_get_iv_size.short create mode 100644 doc/functions/gnutls_cipher_get_tag_size create mode 100644 doc/functions/gnutls_cipher_get_tag_size.short create mode 100644 doc/functions/gnutls_credentials_get create mode 100644 doc/functions/gnutls_credentials_get.short create mode 100644 doc/functions/gnutls_db_check_entry_time create mode 100644 doc/functions/gnutls_db_check_entry_time.short create mode 100644 doc/functions/gnutls_db_get_default_cache_expiration create mode 100644 doc/functions/gnutls_db_get_default_cache_expiration.short create mode 100644 doc/functions/gnutls_dh_params_export2_pkcs3 create mode 100644 doc/functions/gnutls_dh_params_export2_pkcs3.short create mode 100644 doc/functions/gnutls_digest_get_id create mode 100644 doc/functions/gnutls_digest_get_id.short create mode 100644 doc/functions/gnutls_digest_get_name create mode 100644 doc/functions/gnutls_digest_get_name.short create mode 100644 doc/functions/gnutls_digest_list create mode 100644 doc/functions/gnutls_digest_list.short create mode 100644 doc/functions/gnutls_est_record_overhead_size create mode 100644 doc/functions/gnutls_est_record_overhead_size.short create mode 100644 doc/functions/gnutls_fips140_mode_enabled create mode 100644 doc/functions/gnutls_fips140_mode_enabled.short create mode 100644 doc/functions/gnutls_handshake_description_get_name create mode 100644 doc/functions/gnutls_handshake_description_get_name.short create mode 100644 doc/functions/gnutls_handshake_set_hook_function create mode 100644 doc/functions/gnutls_handshake_set_hook_function.short create mode 100644 doc/functions/gnutls_handshake_set_random create mode 100644 doc/functions/gnutls_handshake_set_random.short create mode 100644 doc/functions/gnutls_handshake_set_timeout create mode 100644 doc/functions/gnutls_handshake_set_timeout.short create mode 100644 doc/functions/gnutls_heartbeat_allowed create mode 100644 doc/functions/gnutls_heartbeat_allowed.short create mode 100644 doc/functions/gnutls_heartbeat_enable create mode 100644 doc/functions/gnutls_heartbeat_enable.short create mode 100644 doc/functions/gnutls_heartbeat_get_timeout create mode 100644 doc/functions/gnutls_heartbeat_get_timeout.short create mode 100644 doc/functions/gnutls_heartbeat_ping create mode 100644 doc/functions/gnutls_heartbeat_ping.short create mode 100644 doc/functions/gnutls_heartbeat_pong create mode 100644 doc/functions/gnutls_heartbeat_pong.short create mode 100644 doc/functions/gnutls_heartbeat_set_timeouts create mode 100644 doc/functions/gnutls_heartbeat_set_timeouts.short create mode 100644 doc/functions/gnutls_hmac_set_nonce create mode 100644 doc/functions/gnutls_hmac_set_nonce.short create mode 100644 doc/functions/gnutls_load_file create mode 100644 doc/functions/gnutls_load_file.short create mode 100644 doc/functions/gnutls_mac_get_nonce_size create mode 100644 doc/functions/gnutls_mac_get_nonce_size.short create mode 100644 doc/functions/gnutls_ocsp_status_request_enable_client create mode 100644 doc/functions/gnutls_ocsp_status_request_enable_client.short create mode 100644 doc/functions/gnutls_ocsp_status_request_get create mode 100644 doc/functions/gnutls_ocsp_status_request_get.short create mode 100644 doc/functions/gnutls_ocsp_status_request_is_checked create mode 100644 doc/functions/gnutls_ocsp_status_request_is_checked.short create mode 100644 doc/functions/gnutls_openpgp_crt_check_hostname2 create mode 100644 doc/functions/gnutls_openpgp_crt_check_hostname2.short create mode 100644 doc/functions/gnutls_openpgp_crt_export2 create mode 100644 doc/functions/gnutls_openpgp_crt_export2.short create mode 100644 doc/functions/gnutls_openpgp_privkey_export2 create mode 100644 doc/functions/gnutls_openpgp_privkey_export2.short create mode 100644 doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time create mode 100644 doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short create mode 100644 doc/functions/gnutls_packet_deinit create mode 100644 doc/functions/gnutls_packet_deinit.short create mode 100644 doc/functions/gnutls_packet_get create mode 100644 doc/functions/gnutls_packet_get.short create mode 100644 doc/functions/gnutls_pkcs11_crt_is_known create mode 100644 doc/functions/gnutls_pkcs11_crt_is_known.short create mode 100644 doc/functions/gnutls_pkcs11_get_pin_function create mode 100644 doc/functions/gnutls_pkcs11_get_pin_function.short create mode 100644 doc/functions/gnutls_pkcs11_get_raw_issuer create mode 100644 doc/functions/gnutls_pkcs11_get_raw_issuer.short create mode 100644 doc/functions/gnutls_pkcs11_obj_export2 create mode 100644 doc/functions/gnutls_pkcs11_obj_export2.short create mode 100644 doc/functions/gnutls_pkcs11_obj_export3 create mode 100644 doc/functions/gnutls_pkcs11_obj_export3.short create mode 100644 doc/functions/gnutls_pkcs11_obj_list_import_url2 create mode 100644 doc/functions/gnutls_pkcs11_obj_list_import_url2.short create mode 100644 doc/functions/gnutls_pkcs11_obj_set_pin_function create mode 100644 doc/functions/gnutls_pkcs11_obj_set_pin_function.short create mode 100644 doc/functions/gnutls_pkcs11_privkey_generate2 create mode 100644 doc/functions/gnutls_pkcs11_privkey_generate2.short create mode 100644 doc/functions/gnutls_pkcs11_privkey_set_pin_function create mode 100644 doc/functions/gnutls_pkcs11_privkey_set_pin_function.short create mode 100644 doc/functions/gnutls_pkcs11_privkey_status create mode 100644 doc/functions/gnutls_pkcs11_privkey_status.short create mode 100644 doc/functions/gnutls_pkcs11_token_get_random create mode 100644 doc/functions/gnutls_pkcs11_token_get_random.short create mode 100644 doc/functions/gnutls_pkcs12_export2 create mode 100644 doc/functions/gnutls_pkcs12_export2.short create mode 100644 doc/functions/gnutls_pkcs12_simple_parse create mode 100644 doc/functions/gnutls_pkcs12_simple_parse.short create mode 100644 doc/functions/gnutls_pkcs7_export2 create mode 100644 doc/functions/gnutls_pkcs7_export2.short create mode 100644 doc/functions/gnutls_priority_cipher_list create mode 100644 doc/functions/gnutls_priority_cipher_list.short create mode 100644 doc/functions/gnutls_priority_kx_list create mode 100644 doc/functions/gnutls_priority_kx_list.short create mode 100644 doc/functions/gnutls_priority_mac_list create mode 100644 doc/functions/gnutls_priority_mac_list.short create mode 100644 doc/functions/gnutls_privkey_export_dsa_raw create mode 100644 doc/functions/gnutls_privkey_export_dsa_raw.short create mode 100644 doc/functions/gnutls_privkey_export_ecc_raw create mode 100644 doc/functions/gnutls_privkey_export_ecc_raw.short create mode 100644 doc/functions/gnutls_privkey_export_rsa_raw create mode 100644 doc/functions/gnutls_privkey_export_rsa_raw.short create mode 100644 doc/functions/gnutls_privkey_generate create mode 100644 doc/functions/gnutls_privkey_generate.short create mode 100644 doc/functions/gnutls_privkey_import_dsa_raw create mode 100644 doc/functions/gnutls_privkey_import_dsa_raw.short create mode 100644 doc/functions/gnutls_privkey_import_ecc_raw create mode 100644 doc/functions/gnutls_privkey_import_ecc_raw.short create mode 100644 doc/functions/gnutls_privkey_import_ext2 create mode 100644 doc/functions/gnutls_privkey_import_ext2.short create mode 100644 doc/functions/gnutls_privkey_import_openpgp_raw create mode 100644 doc/functions/gnutls_privkey_import_openpgp_raw.short create mode 100644 doc/functions/gnutls_privkey_import_pkcs11_url create mode 100644 doc/functions/gnutls_privkey_import_pkcs11_url.short create mode 100644 doc/functions/gnutls_privkey_import_rsa_raw create mode 100644 doc/functions/gnutls_privkey_import_rsa_raw.short create mode 100644 doc/functions/gnutls_privkey_import_tpm_raw create mode 100644 doc/functions/gnutls_privkey_import_tpm_raw.short create mode 100644 doc/functions/gnutls_privkey_import_tpm_url create mode 100644 doc/functions/gnutls_privkey_import_tpm_url.short create mode 100644 doc/functions/gnutls_privkey_import_url create mode 100644 doc/functions/gnutls_privkey_import_url.short create mode 100644 doc/functions/gnutls_privkey_import_x509_raw create mode 100644 doc/functions/gnutls_privkey_import_x509_raw.short create mode 100644 doc/functions/gnutls_privkey_set_pin_function create mode 100644 doc/functions/gnutls_privkey_set_pin_function.short create mode 100644 doc/functions/gnutls_privkey_sign_raw_data create mode 100644 doc/functions/gnutls_privkey_sign_raw_data.short create mode 100644 doc/functions/gnutls_privkey_status create mode 100644 doc/functions/gnutls_privkey_status.short create mode 100644 doc/functions/gnutls_privkey_verify_params create mode 100644 doc/functions/gnutls_privkey_verify_params.short create mode 100644 doc/functions/gnutls_pubkey_export2 create mode 100644 doc/functions/gnutls_pubkey_export2.short create mode 100644 doc/functions/gnutls_pubkey_export_dsa_raw create mode 100644 doc/functions/gnutls_pubkey_export_dsa_raw.short create mode 100644 doc/functions/gnutls_pubkey_export_ecc_raw create mode 100644 doc/functions/gnutls_pubkey_export_ecc_raw.short create mode 100644 doc/functions/gnutls_pubkey_export_ecc_x962 create mode 100644 doc/functions/gnutls_pubkey_export_ecc_x962.short create mode 100644 doc/functions/gnutls_pubkey_export_rsa_raw create mode 100644 doc/functions/gnutls_pubkey_export_rsa_raw.short delete mode 100644 doc/functions/gnutls_pubkey_get_pk_dsa_raw delete mode 100644 doc/functions/gnutls_pubkey_get_pk_dsa_raw.short delete mode 100644 doc/functions/gnutls_pubkey_get_pk_ecc_raw delete mode 100644 doc/functions/gnutls_pubkey_get_pk_ecc_raw.short delete mode 100644 doc/functions/gnutls_pubkey_get_pk_ecc_x962 delete mode 100644 doc/functions/gnutls_pubkey_get_pk_ecc_x962.short delete mode 100644 doc/functions/gnutls_pubkey_get_pk_rsa_raw delete mode 100644 doc/functions/gnutls_pubkey_get_pk_rsa_raw.short create mode 100644 doc/functions/gnutls_pubkey_import_openpgp_raw create mode 100644 doc/functions/gnutls_pubkey_import_openpgp_raw.short create mode 100644 doc/functions/gnutls_pubkey_import_tpm_raw create mode 100644 doc/functions/gnutls_pubkey_import_tpm_raw.short create mode 100644 doc/functions/gnutls_pubkey_import_tpm_url create mode 100644 doc/functions/gnutls_pubkey_import_tpm_url.short create mode 100644 doc/functions/gnutls_pubkey_import_url create mode 100644 doc/functions/gnutls_pubkey_import_url.short create mode 100644 doc/functions/gnutls_pubkey_import_x509_crq create mode 100644 doc/functions/gnutls_pubkey_import_x509_crq.short create mode 100644 doc/functions/gnutls_pubkey_import_x509_raw create mode 100644 doc/functions/gnutls_pubkey_import_x509_raw.short create mode 100644 doc/functions/gnutls_pubkey_print create mode 100644 doc/functions/gnutls_pubkey_print.short create mode 100644 doc/functions/gnutls_pubkey_set_pin_function create mode 100644 doc/functions/gnutls_pubkey_set_pin_function.short create mode 100644 doc/functions/gnutls_pubkey_verify_params create mode 100644 doc/functions/gnutls_pubkey_verify_params.short create mode 100644 doc/functions/gnutls_range_split create mode 100644 doc/functions/gnutls_range_split.short create mode 100644 doc/functions/gnutls_record_can_use_length_hiding create mode 100644 doc/functions/gnutls_record_can_use_length_hiding.short create mode 100644 doc/functions/gnutls_record_check_corked create mode 100644 doc/functions/gnutls_record_check_corked.short create mode 100644 doc/functions/gnutls_record_cork create mode 100644 doc/functions/gnutls_record_cork.short create mode 100644 doc/functions/gnutls_record_overhead_size create mode 100644 doc/functions/gnutls_record_overhead_size.short create mode 100644 doc/functions/gnutls_record_recv_packet create mode 100644 doc/functions/gnutls_record_recv_packet.short create mode 100644 doc/functions/gnutls_record_send_range create mode 100644 doc/functions/gnutls_record_send_range.short create mode 100644 doc/functions/gnutls_record_set_max_empty_records create mode 100644 doc/functions/gnutls_record_set_max_empty_records.short create mode 100644 doc/functions/gnutls_record_set_timeout create mode 100644 doc/functions/gnutls_record_set_timeout.short create mode 100644 doc/functions/gnutls_record_uncork create mode 100644 doc/functions/gnutls_record_uncork.short create mode 100644 doc/functions/gnutls_rnd_refresh create mode 100644 doc/functions/gnutls_rnd_refresh.short create mode 100644 doc/functions/gnutls_sec_param_to_symmetric_bits create mode 100644 doc/functions/gnutls_sec_param_to_symmetric_bits.short create mode 100644 doc/functions/gnutls_session_force_valid create mode 100644 doc/functions/gnutls_session_force_valid.short create mode 100644 doc/functions/gnutls_session_get_desc create mode 100644 doc/functions/gnutls_session_get_desc.short create mode 100644 doc/functions/gnutls_session_get_id2 create mode 100644 doc/functions/gnutls_session_get_id2.short create mode 100644 doc/functions/gnutls_session_set_id create mode 100644 doc/functions/gnutls_session_set_id.short create mode 100644 doc/functions/gnutls_sign_algorithm_get create mode 100644 doc/functions/gnutls_sign_algorithm_get.short create mode 100644 doc/functions/gnutls_sign_algorithm_get_client create mode 100644 doc/functions/gnutls_sign_algorithm_get_client.short create mode 100644 doc/functions/gnutls_sign_get_hash_algorithm create mode 100644 doc/functions/gnutls_sign_get_hash_algorithm.short create mode 100644 doc/functions/gnutls_sign_get_pk_algorithm create mode 100644 doc/functions/gnutls_sign_get_pk_algorithm.short create mode 100644 doc/functions/gnutls_sign_is_secure create mode 100644 doc/functions/gnutls_sign_is_secure.short create mode 100644 doc/functions/gnutls_srp_set_server_fake_salt_seed create mode 100644 doc/functions/gnutls_srp_set_server_fake_salt_seed.short create mode 100644 doc/functions/gnutls_srtp_get_keys create mode 100644 doc/functions/gnutls_srtp_get_keys.short create mode 100644 doc/functions/gnutls_srtp_get_mki create mode 100644 doc/functions/gnutls_srtp_get_mki.short create mode 100644 doc/functions/gnutls_srtp_get_profile_id create mode 100644 doc/functions/gnutls_srtp_get_profile_id.short create mode 100644 doc/functions/gnutls_srtp_get_profile_name create mode 100644 doc/functions/gnutls_srtp_get_profile_name.short create mode 100644 doc/functions/gnutls_srtp_get_selected_profile create mode 100644 doc/functions/gnutls_srtp_get_selected_profile.short create mode 100644 doc/functions/gnutls_srtp_set_mki create mode 100644 doc/functions/gnutls_srtp_set_mki.short create mode 100644 doc/functions/gnutls_srtp_set_profile create mode 100644 doc/functions/gnutls_srtp_set_profile.short create mode 100644 doc/functions/gnutls_srtp_set_profile_direct create mode 100644 doc/functions/gnutls_srtp_set_profile_direct.short create mode 100644 doc/functions/gnutls_subject_alt_names_deinit create mode 100644 doc/functions/gnutls_subject_alt_names_deinit.short create mode 100644 doc/functions/gnutls_subject_alt_names_get create mode 100644 doc/functions/gnutls_subject_alt_names_get.short create mode 100644 doc/functions/gnutls_subject_alt_names_init create mode 100644 doc/functions/gnutls_subject_alt_names_init.short create mode 100644 doc/functions/gnutls_subject_alt_names_set create mode 100644 doc/functions/gnutls_subject_alt_names_set.short create mode 100644 doc/functions/gnutls_tpm_get_registered create mode 100644 doc/functions/gnutls_tpm_get_registered.short create mode 100644 doc/functions/gnutls_tpm_key_list_deinit create mode 100644 doc/functions/gnutls_tpm_key_list_deinit.short create mode 100644 doc/functions/gnutls_tpm_key_list_get_url create mode 100644 doc/functions/gnutls_tpm_key_list_get_url.short create mode 100644 doc/functions/gnutls_tpm_privkey_delete create mode 100644 doc/functions/gnutls_tpm_privkey_delete.short create mode 100644 doc/functions/gnutls_tpm_privkey_generate create mode 100644 doc/functions/gnutls_tpm_privkey_generate.short create mode 100644 doc/functions/gnutls_transport_get_int create mode 100644 doc/functions/gnutls_transport_get_int.short create mode 100644 doc/functions/gnutls_transport_get_int2 create mode 100644 doc/functions/gnutls_transport_get_int2.short create mode 100644 doc/functions/gnutls_transport_set_int create mode 100644 doc/functions/gnutls_transport_set_int.short create mode 100644 doc/functions/gnutls_transport_set_int2 create mode 100644 doc/functions/gnutls_transport_set_int2.short create mode 100644 doc/functions/gnutls_url_is_supported create mode 100644 doc/functions/gnutls_url_is_supported.short create mode 100644 doc/functions/gnutls_x509_aia_deinit create mode 100644 doc/functions/gnutls_x509_aia_deinit.short create mode 100644 doc/functions/gnutls_x509_aia_get create mode 100644 doc/functions/gnutls_x509_aia_get.short create mode 100644 doc/functions/gnutls_x509_aia_init create mode 100644 doc/functions/gnutls_x509_aia_init.short create mode 100644 doc/functions/gnutls_x509_aia_set create mode 100644 doc/functions/gnutls_x509_aia_set.short create mode 100644 doc/functions/gnutls_x509_aki_deinit create mode 100644 doc/functions/gnutls_x509_aki_deinit.short create mode 100644 doc/functions/gnutls_x509_aki_get_cert_issuer create mode 100644 doc/functions/gnutls_x509_aki_get_cert_issuer.short create mode 100644 doc/functions/gnutls_x509_aki_get_id create mode 100644 doc/functions/gnutls_x509_aki_get_id.short create mode 100644 doc/functions/gnutls_x509_aki_init create mode 100644 doc/functions/gnutls_x509_aki_init.short create mode 100644 doc/functions/gnutls_x509_aki_set_cert_issuer create mode 100644 doc/functions/gnutls_x509_aki_set_cert_issuer.short create mode 100644 doc/functions/gnutls_x509_aki_set_id create mode 100644 doc/functions/gnutls_x509_aki_set_id.short create mode 100644 doc/functions/gnutls_x509_crl_dist_points_deinit create mode 100644 doc/functions/gnutls_x509_crl_dist_points_deinit.short create mode 100644 doc/functions/gnutls_x509_crl_dist_points_get create mode 100644 doc/functions/gnutls_x509_crl_dist_points_get.short create mode 100644 doc/functions/gnutls_x509_crl_dist_points_init create mode 100644 doc/functions/gnutls_x509_crl_dist_points_init.short create mode 100644 doc/functions/gnutls_x509_crl_dist_points_set create mode 100644 doc/functions/gnutls_x509_crl_dist_points_set.short create mode 100644 doc/functions/gnutls_x509_crl_export2 create mode 100644 doc/functions/gnutls_x509_crl_export2.short create mode 100644 doc/functions/gnutls_x509_crl_get_extension_data2 create mode 100644 doc/functions/gnutls_x509_crl_get_extension_data2.short create mode 100644 doc/functions/gnutls_x509_crl_get_issuer_dn2 create mode 100644 doc/functions/gnutls_x509_crl_get_issuer_dn2.short create mode 100644 doc/functions/gnutls_x509_crl_iter_crt_serial create mode 100644 doc/functions/gnutls_x509_crl_iter_crt_serial.short create mode 100644 doc/functions/gnutls_x509_crl_iter_deinit create mode 100644 doc/functions/gnutls_x509_crl_iter_deinit.short create mode 100644 doc/functions/gnutls_x509_crq_export2 create mode 100644 doc/functions/gnutls_x509_crq_export2.short create mode 100644 doc/functions/gnutls_x509_crq_get_dn2 create mode 100644 doc/functions/gnutls_x509_crq_get_dn2.short create mode 100644 doc/functions/gnutls_x509_crq_get_extension_data2 create mode 100644 doc/functions/gnutls_x509_crq_get_extension_data2.short create mode 100644 doc/functions/gnutls_x509_crq_set_dn create mode 100644 doc/functions/gnutls_x509_crq_set_dn.short create mode 100644 doc/functions/gnutls_x509_crt_check_hostname2 create mode 100644 doc/functions/gnutls_x509_crt_check_hostname2.short create mode 100644 doc/functions/gnutls_x509_crt_export2 create mode 100644 doc/functions/gnutls_x509_crt_export2.short create mode 100644 doc/functions/gnutls_x509_crt_get_dn2 create mode 100644 doc/functions/gnutls_x509_crt_get_dn2.short create mode 100644 doc/functions/gnutls_x509_crt_get_extension_data2 create mode 100644 doc/functions/gnutls_x509_crt_get_extension_data2.short create mode 100644 doc/functions/gnutls_x509_crt_get_issuer_dn2 create mode 100644 doc/functions/gnutls_x509_crt_get_issuer_dn2.short create mode 100644 doc/functions/gnutls_x509_crt_get_name_constraints create mode 100644 doc/functions/gnutls_x509_crt_get_name_constraints.short create mode 100644 doc/functions/gnutls_x509_crt_get_policy create mode 100644 doc/functions/gnutls_x509_crt_get_policy.short create mode 100644 doc/functions/gnutls_x509_crt_set_dn create mode 100644 doc/functions/gnutls_x509_crt_set_dn.short create mode 100644 doc/functions/gnutls_x509_crt_set_issuer_alt_name create mode 100644 doc/functions/gnutls_x509_crt_set_issuer_alt_name.short create mode 100644 doc/functions/gnutls_x509_crt_set_issuer_dn create mode 100644 doc/functions/gnutls_x509_crt_set_issuer_dn.short create mode 100644 doc/functions/gnutls_x509_crt_set_name_constraints create mode 100644 doc/functions/gnutls_x509_crt_set_name_constraints.short create mode 100644 doc/functions/gnutls_x509_crt_set_pin_function create mode 100644 doc/functions/gnutls_x509_crt_set_pin_function.short create mode 100644 doc/functions/gnutls_x509_crt_set_policy create mode 100644 doc/functions/gnutls_x509_crt_set_policy.short create mode 100644 doc/functions/gnutls_x509_dn_export2 create mode 100644 doc/functions/gnutls_x509_dn_export2.short create mode 100644 doc/functions/gnutls_x509_ext_export_aia create mode 100644 doc/functions/gnutls_x509_ext_export_aia.short create mode 100644 doc/functions/gnutls_x509_ext_export_authority_key_id create mode 100644 doc/functions/gnutls_x509_ext_export_authority_key_id.short create mode 100644 doc/functions/gnutls_x509_ext_export_basic_constraints create mode 100644 doc/functions/gnutls_x509_ext_export_basic_constraints.short create mode 100644 doc/functions/gnutls_x509_ext_export_crl_dist_points create mode 100644 doc/functions/gnutls_x509_ext_export_crl_dist_points.short create mode 100644 doc/functions/gnutls_x509_ext_export_key_purposes create mode 100644 doc/functions/gnutls_x509_ext_export_key_purposes.short create mode 100644 doc/functions/gnutls_x509_ext_export_key_usage create mode 100644 doc/functions/gnutls_x509_ext_export_key_usage.short create mode 100644 doc/functions/gnutls_x509_ext_export_name_constraints create mode 100644 doc/functions/gnutls_x509_ext_export_name_constraints.short create mode 100644 doc/functions/gnutls_x509_ext_export_policies create mode 100644 doc/functions/gnutls_x509_ext_export_policies.short create mode 100644 doc/functions/gnutls_x509_ext_export_private_key_usage_period create mode 100644 doc/functions/gnutls_x509_ext_export_private_key_usage_period.short create mode 100644 doc/functions/gnutls_x509_ext_export_proxy create mode 100644 doc/functions/gnutls_x509_ext_export_proxy.short create mode 100644 doc/functions/gnutls_x509_ext_export_subject_alt_names create mode 100644 doc/functions/gnutls_x509_ext_export_subject_alt_names.short create mode 100644 doc/functions/gnutls_x509_ext_export_subject_key_id create mode 100644 doc/functions/gnutls_x509_ext_export_subject_key_id.short create mode 100644 doc/functions/gnutls_x509_ext_import_aia create mode 100644 doc/functions/gnutls_x509_ext_import_aia.short create mode 100644 doc/functions/gnutls_x509_ext_import_authority_key_id create mode 100644 doc/functions/gnutls_x509_ext_import_authority_key_id.short create mode 100644 doc/functions/gnutls_x509_ext_import_basic_constraints create mode 100644 doc/functions/gnutls_x509_ext_import_basic_constraints.short create mode 100644 doc/functions/gnutls_x509_ext_import_crl_dist_points create mode 100644 doc/functions/gnutls_x509_ext_import_crl_dist_points.short create mode 100644 doc/functions/gnutls_x509_ext_import_key_purposes create mode 100644 doc/functions/gnutls_x509_ext_import_key_purposes.short create mode 100644 doc/functions/gnutls_x509_ext_import_key_usage create mode 100644 doc/functions/gnutls_x509_ext_import_key_usage.short create mode 100644 doc/functions/gnutls_x509_ext_import_name_constraints create mode 100644 doc/functions/gnutls_x509_ext_import_name_constraints.short create mode 100644 doc/functions/gnutls_x509_ext_import_policies create mode 100644 doc/functions/gnutls_x509_ext_import_policies.short create mode 100644 doc/functions/gnutls_x509_ext_import_private_key_usage_period create mode 100644 doc/functions/gnutls_x509_ext_import_private_key_usage_period.short create mode 100644 doc/functions/gnutls_x509_ext_import_proxy create mode 100644 doc/functions/gnutls_x509_ext_import_proxy.short create mode 100644 doc/functions/gnutls_x509_ext_import_subject_alt_names create mode 100644 doc/functions/gnutls_x509_ext_import_subject_alt_names.short create mode 100644 doc/functions/gnutls_x509_ext_import_subject_key_id create mode 100644 doc/functions/gnutls_x509_ext_import_subject_key_id.short create mode 100644 doc/functions/gnutls_x509_key_purpose_deinit create mode 100644 doc/functions/gnutls_x509_key_purpose_deinit.short create mode 100644 doc/functions/gnutls_x509_key_purpose_get create mode 100644 doc/functions/gnutls_x509_key_purpose_get.short create mode 100644 doc/functions/gnutls_x509_key_purpose_init create mode 100644 doc/functions/gnutls_x509_key_purpose_init.short create mode 100644 doc/functions/gnutls_x509_key_purpose_set create mode 100644 doc/functions/gnutls_x509_key_purpose_set.short create mode 100644 doc/functions/gnutls_x509_name_constraints_add_excluded create mode 100644 doc/functions/gnutls_x509_name_constraints_add_excluded.short create mode 100644 doc/functions/gnutls_x509_name_constraints_add_permitted create mode 100644 doc/functions/gnutls_x509_name_constraints_add_permitted.short create mode 100644 doc/functions/gnutls_x509_name_constraints_check create mode 100644 doc/functions/gnutls_x509_name_constraints_check.short create mode 100644 doc/functions/gnutls_x509_name_constraints_check_crt create mode 100644 doc/functions/gnutls_x509_name_constraints_check_crt.short create mode 100644 doc/functions/gnutls_x509_name_constraints_deinit create mode 100644 doc/functions/gnutls_x509_name_constraints_deinit.short create mode 100644 doc/functions/gnutls_x509_name_constraints_get_excluded create mode 100644 doc/functions/gnutls_x509_name_constraints_get_excluded.short create mode 100644 doc/functions/gnutls_x509_name_constraints_get_permitted create mode 100644 doc/functions/gnutls_x509_name_constraints_get_permitted.short create mode 100644 doc/functions/gnutls_x509_name_constraints_init create mode 100644 doc/functions/gnutls_x509_name_constraints_init.short create mode 100644 doc/functions/gnutls_x509_policies_deinit create mode 100644 doc/functions/gnutls_x509_policies_deinit.short create mode 100644 doc/functions/gnutls_x509_policies_get create mode 100644 doc/functions/gnutls_x509_policies_get.short create mode 100644 doc/functions/gnutls_x509_policies_init create mode 100644 doc/functions/gnutls_x509_policies_init.short create mode 100644 doc/functions/gnutls_x509_policies_set create mode 100644 doc/functions/gnutls_x509_policies_set.short create mode 100644 doc/functions/gnutls_x509_policy_release create mode 100644 doc/functions/gnutls_x509_policy_release.short create mode 100644 doc/functions/gnutls_x509_privkey_export2 create mode 100644 doc/functions/gnutls_x509_privkey_export2.short create mode 100644 doc/functions/gnutls_x509_privkey_export2_pkcs8 create mode 100644 doc/functions/gnutls_x509_privkey_export2_pkcs8.short create mode 100644 doc/functions/gnutls_x509_privkey_get_pk_algorithm2 create mode 100644 doc/functions/gnutls_x509_privkey_get_pk_algorithm2.short create mode 100644 doc/functions/gnutls_x509_privkey_import2 create mode 100644 doc/functions/gnutls_x509_privkey_import2.short create mode 100644 doc/functions/gnutls_x509_privkey_import_openssl create mode 100644 doc/functions/gnutls_x509_privkey_import_openssl.short create mode 100644 doc/functions/gnutls_x509_trust_list_add_system_trust create mode 100644 doc/functions/gnutls_x509_trust_list_add_system_trust.short create mode 100644 doc/functions/gnutls_x509_trust_list_add_trust_file create mode 100644 doc/functions/gnutls_x509_trust_list_add_trust_file.short create mode 100644 doc/functions/gnutls_x509_trust_list_add_trust_mem create mode 100644 doc/functions/gnutls_x509_trust_list_add_trust_mem.short create mode 100644 doc/functions/gnutls_x509_trust_list_remove_cas create mode 100644 doc/functions/gnutls_x509_trust_list_remove_cas.short create mode 100644 doc/functions/gnutls_x509_trust_list_remove_trust_file create mode 100644 doc/functions/gnutls_x509_trust_list_remove_trust_file.short create mode 100644 doc/functions/gnutls_x509_trust_list_remove_trust_mem create mode 100644 doc/functions/gnutls_x509_trust_list_remove_trust_mem.short create mode 100644 doc/gnutls.info-5 create mode 100644 doc/invoke-danetool.texi create mode 100644 doc/invoke-tpmtool.texi create mode 100644 doc/manpages/danetool.1 create mode 100644 doc/manpages/gnutls_alpn_get_selected_protocol.3 create mode 100644 doc/manpages/gnutls_alpn_set_protocols.3 create mode 100644 doc/manpages/gnutls_certificate_client_set_retrieve_function.3 create mode 100644 doc/manpages/gnutls_certificate_get_crt_raw.3 create mode 100644 doc/manpages/gnutls_certificate_get_peers_subkey_id.3 create mode 100644 doc/manpages/gnutls_certificate_server_set_retrieve_function.3 create mode 100644 doc/manpages/gnutls_certificate_set_ocsp_status_request_file.3 create mode 100644 doc/manpages/gnutls_certificate_set_ocsp_status_request_function.3 create mode 100644 doc/manpages/gnutls_certificate_set_pin_function.3 create mode 100644 doc/manpages/gnutls_certificate_set_trust_list.3 create mode 100644 doc/manpages/gnutls_certificate_set_x509_key_file2.3 create mode 100644 doc/manpages/gnutls_certificate_set_x509_key_mem2.3 create mode 100644 doc/manpages/gnutls_certificate_verification_status_print.3 create mode 100644 doc/manpages/gnutls_certificate_verify_peers.3 create mode 100644 doc/manpages/gnutls_certificate_verify_peers3.3 create mode 100644 doc/manpages/gnutls_cipher_get_iv_size.3 create mode 100644 doc/manpages/gnutls_cipher_get_tag_size.3 create mode 100644 doc/manpages/gnutls_cipher_self_test.3 create mode 100644 doc/manpages/gnutls_credentials_get.3 create mode 100644 doc/manpages/gnutls_db_check_entry_time.3 create mode 100644 doc/manpages/gnutls_db_get_default_cache_expiration.3 create mode 100644 doc/manpages/gnutls_dh_params_export2_pkcs3.3 create mode 100644 doc/manpages/gnutls_digest_get_id.3 create mode 100644 doc/manpages/gnutls_digest_get_name.3 create mode 100644 doc/manpages/gnutls_digest_list.3 create mode 100644 doc/manpages/gnutls_digest_self_test.3 create mode 100644 doc/manpages/gnutls_est_record_overhead_size.3 create mode 100644 doc/manpages/gnutls_fips140_mode_enabled.3 create mode 100644 doc/manpages/gnutls_handshake_description_get_name.3 create mode 100644 doc/manpages/gnutls_handshake_set_hook_function.3 create mode 100644 doc/manpages/gnutls_handshake_set_random.3 create mode 100644 doc/manpages/gnutls_handshake_set_timeout.3 create mode 100644 doc/manpages/gnutls_heartbeat_allowed.3 create mode 100644 doc/manpages/gnutls_heartbeat_enable.3 create mode 100644 doc/manpages/gnutls_heartbeat_get_timeout.3 create mode 100644 doc/manpages/gnutls_heartbeat_ping.3 create mode 100644 doc/manpages/gnutls_heartbeat_pong.3 create mode 100644 doc/manpages/gnutls_heartbeat_set_timeouts.3 create mode 100644 doc/manpages/gnutls_hmac_set_nonce.3 create mode 100644 doc/manpages/gnutls_load_file.3 create mode 100644 doc/manpages/gnutls_mac_get_nonce_size.3 create mode 100644 doc/manpages/gnutls_mac_self_test.3 create mode 100644 doc/manpages/gnutls_ocsp_resp_check_crt.3 create mode 100644 doc/manpages/gnutls_ocsp_status_request_enable_client.3 create mode 100644 doc/manpages/gnutls_ocsp_status_request_get.3 create mode 100644 doc/manpages/gnutls_ocsp_status_request_is_checked.3 create mode 100644 doc/manpages/gnutls_openpgp_crt_check_hostname2.3 create mode 100644 doc/manpages/gnutls_openpgp_crt_export2.3 create mode 100644 doc/manpages/gnutls_openpgp_privkey_export2.3 create mode 100644 doc/manpages/gnutls_openpgp_privkey_get_subkey_expiration_time.3 create mode 100644 doc/manpages/gnutls_packet_deinit.3 create mode 100644 doc/manpages/gnutls_packet_get.3 create mode 100644 doc/manpages/gnutls_pk_self_test.3 create mode 100644 doc/manpages/gnutls_pkcs11_crt_is_known.3 create mode 100644 doc/manpages/gnutls_pkcs11_get_pin_function.3 create mode 100644 doc/manpages/gnutls_pkcs11_get_raw_issuer.3 create mode 100644 doc/manpages/gnutls_pkcs11_obj_export2.3 create mode 100644 doc/manpages/gnutls_pkcs11_obj_export3.3 create mode 100644 doc/manpages/gnutls_pkcs11_obj_list_import_url2.3 create mode 100644 doc/manpages/gnutls_pkcs11_obj_set_pin_function.3 create mode 100644 doc/manpages/gnutls_pkcs11_privkey_generate2.3 create mode 100644 doc/manpages/gnutls_pkcs11_privkey_set_pin_function.3 create mode 100644 doc/manpages/gnutls_pkcs11_privkey_status.3 create mode 100644 doc/manpages/gnutls_pkcs11_token_get_random.3 create mode 100644 doc/manpages/gnutls_pkcs12_export2.3 create mode 100644 doc/manpages/gnutls_pkcs12_simple_parse.3 create mode 100644 doc/manpages/gnutls_pkcs7_export2.3 create mode 100644 doc/manpages/gnutls_priority_cipher_list.3 create mode 100644 doc/manpages/gnutls_priority_kx_list.3 create mode 100644 doc/manpages/gnutls_priority_mac_list.3 create mode 100644 doc/manpages/gnutls_privkey_export_dsa_raw.3 create mode 100644 doc/manpages/gnutls_privkey_export_ecc_raw.3 create mode 100644 doc/manpages/gnutls_privkey_export_rsa_raw.3 create mode 100644 doc/manpages/gnutls_privkey_generate.3 create mode 100644 doc/manpages/gnutls_privkey_import_dsa_raw.3 create mode 100644 doc/manpages/gnutls_privkey_import_ecc_raw.3 create mode 100644 doc/manpages/gnutls_privkey_import_ext2.3 create mode 100644 doc/manpages/gnutls_privkey_import_openpgp_raw.3 create mode 100644 doc/manpages/gnutls_privkey_import_pkcs11_url.3 create mode 100644 doc/manpages/gnutls_privkey_import_rsa_raw.3 create mode 100644 doc/manpages/gnutls_privkey_import_tpm_raw.3 create mode 100644 doc/manpages/gnutls_privkey_import_tpm_url.3 create mode 100644 doc/manpages/gnutls_privkey_import_url.3 create mode 100644 doc/manpages/gnutls_privkey_import_x509_raw.3 create mode 100644 doc/manpages/gnutls_privkey_set_pin_function.3 create mode 100644 doc/manpages/gnutls_privkey_sign_raw_data.3 create mode 100644 doc/manpages/gnutls_privkey_status.3 create mode 100644 doc/manpages/gnutls_privkey_verify_params.3 create mode 100644 doc/manpages/gnutls_pubkey_export2.3 create mode 100644 doc/manpages/gnutls_pubkey_export_dsa_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_export_ecc_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_export_ecc_x962.3 create mode 100644 doc/manpages/gnutls_pubkey_export_rsa_raw.3 delete mode 100644 doc/manpages/gnutls_pubkey_get_pk_dsa_raw.3 delete mode 100644 doc/manpages/gnutls_pubkey_get_pk_ecc_raw.3 delete mode 100644 doc/manpages/gnutls_pubkey_get_pk_ecc_x962.3 delete mode 100644 doc/manpages/gnutls_pubkey_get_pk_rsa_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_import_openpgp_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_import_tpm_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_import_tpm_url.3 create mode 100644 doc/manpages/gnutls_pubkey_import_url.3 create mode 100644 doc/manpages/gnutls_pubkey_import_x509_crq.3 create mode 100644 doc/manpages/gnutls_pubkey_import_x509_raw.3 create mode 100644 doc/manpages/gnutls_pubkey_print.3 create mode 100644 doc/manpages/gnutls_pubkey_set_pin_function.3 create mode 100644 doc/manpages/gnutls_pubkey_verify_params.3 create mode 100644 doc/manpages/gnutls_range_split.3 create mode 100644 doc/manpages/gnutls_record_can_use_length_hiding.3 create mode 100644 doc/manpages/gnutls_record_check_corked.3 create mode 100644 doc/manpages/gnutls_record_cork.3 create mode 100644 doc/manpages/gnutls_record_overhead_size.3 create mode 100644 doc/manpages/gnutls_record_recv_packet.3 create mode 100644 doc/manpages/gnutls_record_send_range.3 create mode 100644 doc/manpages/gnutls_record_set_max_empty_records.3 create mode 100644 doc/manpages/gnutls_record_set_timeout.3 create mode 100644 doc/manpages/gnutls_record_uncork.3 create mode 100644 doc/manpages/gnutls_rnd_refresh.3 create mode 100644 doc/manpages/gnutls_sec_param_to_symmetric_bits.3 create mode 100644 doc/manpages/gnutls_session_force_valid.3 create mode 100644 doc/manpages/gnutls_session_get_desc.3 create mode 100644 doc/manpages/gnutls_session_get_id2.3 create mode 100644 doc/manpages/gnutls_session_set_id.3 create mode 100644 doc/manpages/gnutls_sign_algorithm_get.3 create mode 100644 doc/manpages/gnutls_sign_algorithm_get_client.3 create mode 100644 doc/manpages/gnutls_sign_get_hash_algorithm.3 create mode 100644 doc/manpages/gnutls_sign_get_pk_algorithm.3 create mode 100644 doc/manpages/gnutls_sign_is_secure.3 create mode 100644 doc/manpages/gnutls_srp_set_server_fake_salt_seed.3 create mode 100644 doc/manpages/gnutls_srtp_get_keys.3 create mode 100644 doc/manpages/gnutls_srtp_get_mki.3 create mode 100644 doc/manpages/gnutls_srtp_get_profile_id.3 create mode 100644 doc/manpages/gnutls_srtp_get_profile_name.3 create mode 100644 doc/manpages/gnutls_srtp_get_selected_profile.3 create mode 100644 doc/manpages/gnutls_srtp_set_mki.3 create mode 100644 doc/manpages/gnutls_srtp_set_profile.3 create mode 100644 doc/manpages/gnutls_srtp_set_profile_direct.3 create mode 100644 doc/manpages/gnutls_subject_alt_names_deinit.3 create mode 100644 doc/manpages/gnutls_subject_alt_names_get.3 create mode 100644 doc/manpages/gnutls_subject_alt_names_init.3 create mode 100644 doc/manpages/gnutls_subject_alt_names_set.3 create mode 100644 doc/manpages/gnutls_tpm_get_registered.3 create mode 100644 doc/manpages/gnutls_tpm_key_list_deinit.3 create mode 100644 doc/manpages/gnutls_tpm_key_list_get_url.3 create mode 100644 doc/manpages/gnutls_tpm_privkey_delete.3 create mode 100644 doc/manpages/gnutls_tpm_privkey_generate.3 create mode 100644 doc/manpages/gnutls_transport_get_int.3 create mode 100644 doc/manpages/gnutls_transport_get_int2.3 create mode 100644 doc/manpages/gnutls_transport_set_int.3 create mode 100644 doc/manpages/gnutls_transport_set_int2.3 create mode 100644 doc/manpages/gnutls_url_is_supported.3 create mode 100644 doc/manpages/gnutls_x509_aia_deinit.3 create mode 100644 doc/manpages/gnutls_x509_aia_get.3 create mode 100644 doc/manpages/gnutls_x509_aia_init.3 create mode 100644 doc/manpages/gnutls_x509_aia_set.3 create mode 100644 doc/manpages/gnutls_x509_aki_deinit.3 create mode 100644 doc/manpages/gnutls_x509_aki_get_cert_issuer.3 create mode 100644 doc/manpages/gnutls_x509_aki_get_id.3 create mode 100644 doc/manpages/gnutls_x509_aki_init.3 create mode 100644 doc/manpages/gnutls_x509_aki_set_cert_issuer.3 create mode 100644 doc/manpages/gnutls_x509_aki_set_id.3 create mode 100644 doc/manpages/gnutls_x509_crl_dist_points_deinit.3 create mode 100644 doc/manpages/gnutls_x509_crl_dist_points_get.3 create mode 100644 doc/manpages/gnutls_x509_crl_dist_points_init.3 create mode 100644 doc/manpages/gnutls_x509_crl_dist_points_set.3 create mode 100644 doc/manpages/gnutls_x509_crl_export2.3 create mode 100644 doc/manpages/gnutls_x509_crl_get_extension_data2.3 create mode 100644 doc/manpages/gnutls_x509_crl_get_issuer_dn2.3 create mode 100644 doc/manpages/gnutls_x509_crl_iter_crt_serial.3 create mode 100644 doc/manpages/gnutls_x509_crl_iter_deinit.3 create mode 100644 doc/manpages/gnutls_x509_crq_export2.3 create mode 100644 doc/manpages/gnutls_x509_crq_get_dn2.3 create mode 100644 doc/manpages/gnutls_x509_crq_get_extension_data2.3 create mode 100644 doc/manpages/gnutls_x509_crq_set_dn.3 create mode 100644 doc/manpages/gnutls_x509_crt_check_hostname2.3 create mode 100644 doc/manpages/gnutls_x509_crt_export2.3 create mode 100644 doc/manpages/gnutls_x509_crt_get_dn2.3 create mode 100644 doc/manpages/gnutls_x509_crt_get_extension_data2.3 create mode 100644 doc/manpages/gnutls_x509_crt_get_issuer_dn2.3 create mode 100644 doc/manpages/gnutls_x509_crt_get_name_constraints.3 create mode 100644 doc/manpages/gnutls_x509_crt_get_policy.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_dn.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_issuer_alt_name.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_issuer_dn.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_name_constraints.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_pin_function.3 create mode 100644 doc/manpages/gnutls_x509_crt_set_policy.3 create mode 100644 doc/manpages/gnutls_x509_dn_export2.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_aia.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_authority_key_id.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_basic_constraints.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_crl_dist_points.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_key_purposes.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_key_usage.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_name_constraints.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_policies.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_private_key_usage_period.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_proxy.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_subject_alt_names.3 create mode 100644 doc/manpages/gnutls_x509_ext_export_subject_key_id.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_aia.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_authority_key_id.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_basic_constraints.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_crl_dist_points.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_key_purposes.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_key_usage.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_name_constraints.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_policies.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_private_key_usage_period.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_proxy.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_subject_alt_names.3 create mode 100644 doc/manpages/gnutls_x509_ext_import_subject_key_id.3 create mode 100644 doc/manpages/gnutls_x509_key_purpose_deinit.3 create mode 100644 doc/manpages/gnutls_x509_key_purpose_get.3 create mode 100644 doc/manpages/gnutls_x509_key_purpose_init.3 create mode 100644 doc/manpages/gnutls_x509_key_purpose_set.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_add_excluded.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_add_permitted.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_check.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_check_crt.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_deinit.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_get_excluded.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_get_permitted.3 create mode 100644 doc/manpages/gnutls_x509_name_constraints_init.3 create mode 100644 doc/manpages/gnutls_x509_policies_deinit.3 create mode 100644 doc/manpages/gnutls_x509_policies_get.3 create mode 100644 doc/manpages/gnutls_x509_policies_init.3 create mode 100644 doc/manpages/gnutls_x509_policies_set.3 create mode 100644 doc/manpages/gnutls_x509_policy_release.3 create mode 100644 doc/manpages/gnutls_x509_privkey_export2.3 create mode 100644 doc/manpages/gnutls_x509_privkey_export2_pkcs8.3 create mode 100644 doc/manpages/gnutls_x509_privkey_get_pk_algorithm2.3 create mode 100644 doc/manpages/gnutls_x509_privkey_import2.3 create mode 100644 doc/manpages/gnutls_x509_privkey_import_openssl.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_add_system_trust.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_add_trust_file.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_add_trust_mem.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_remove_cas.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_remove_trust_file.3 create mode 100644 doc/manpages/gnutls_x509_trust_list_remove_trust_mem.3 create mode 100644 doc/manpages/stamp_mans create mode 100644 doc/manpages/tpmtool.1 delete mode 100644 doc/reference/html/api-index-2-10-0.html delete mode 100644 doc/reference/html/api-index-2-12-0.html delete mode 100644 doc/reference/html/api-index-2-4-0.html delete mode 100644 doc/reference/html/api-index-2-6-0.html delete mode 100644 doc/reference/html/api-index-2-8-0.html delete mode 100644 doc/reference/html/api-index-3-0.html delete mode 100644 doc/reference/html/api-index-deprecated.html delete mode 100644 doc/reference/html/api-index-full.html create mode 100644 doc/reference/html/gnutls-dtls.html create mode 100644 doc/reference/html/gnutls-ocsp.html create mode 100644 doc/reference/html/gnutls-tpm.html delete mode 100644 doc/reference/html/gnutls.devhelp2 delete mode 100644 doc/reference/html/home.png delete mode 100644 doc/reference/html/index.html delete mode 100644 doc/reference/html/index.sgml delete mode 100644 doc/reference/html/left.png delete mode 100644 doc/reference/html/right.png delete mode 100644 doc/reference/html/style.css delete mode 100644 doc/reference/html/up.png create mode 100644 doc/reference/tmpl/abstract_int.sgml create mode 100644 doc/reference/tmpl/accelerated.sgml create mode 100644 doc/reference/tmpl/aes-padlock.sgml create mode 100644 doc/reference/tmpl/aes-x86.sgml create mode 100644 doc/reference/tmpl/algorithms.sgml create mode 100644 doc/reference/tmpl/anon.sgml create mode 100644 doc/reference/tmpl/cert.sgml create mode 100644 doc/reference/tmpl/cert_type.sgml create mode 100644 doc/reference/tmpl/common.sgml create mode 100644 doc/reference/tmpl/compat.sgml create mode 100644 doc/reference/tmpl/context.sgml create mode 100644 doc/reference/tmpl/crypto-backend.sgml create mode 100644 doc/reference/tmpl/cryptodev.sgml create mode 100644 doc/reference/tmpl/debug.sgml create mode 100644 doc/reference/tmpl/dh_common.sgml delete mode 100644 doc/reference/tmpl/dlopen.sgml create mode 100644 doc/reference/tmpl/dtls.sgml create mode 100644 doc/reference/tmpl/ecc.sgml create mode 100644 doc/reference/tmpl/ecdh_common.sgml create mode 100644 doc/reference/tmpl/egd.sgml create mode 100644 doc/reference/tmpl/element.sgml delete mode 100644 doc/reference/tmpl/extra.sgml create mode 100644 doc/reference/tmpl/filters.sgml create mode 100644 doc/reference/tmpl/gnettle.sgml create mode 100644 doc/reference/tmpl/gnutls_auth.sgml create mode 100644 doc/reference/tmpl/gnutls_buffers.sgml create mode 100644 doc/reference/tmpl/gnutls_cipher.sgml create mode 100644 doc/reference/tmpl/gnutls_cipher_int.sgml create mode 100644 doc/reference/tmpl/gnutls_compress.sgml create mode 100644 doc/reference/tmpl/gnutls_constate.sgml create mode 100644 doc/reference/tmpl/gnutls_datum.sgml create mode 100644 doc/reference/tmpl/gnutls_db.sgml create mode 100644 doc/reference/tmpl/gnutls_dh.sgml create mode 100644 doc/reference/tmpl/gnutls_dtls.sgml create mode 100644 doc/reference/tmpl/gnutls_ecc.sgml create mode 100644 doc/reference/tmpl/gnutls_errors.sgml create mode 100644 doc/reference/tmpl/gnutls_extensions.sgml create mode 100644 doc/reference/tmpl/gnutls_global.sgml create mode 100644 doc/reference/tmpl/gnutls_handshake.sgml create mode 100644 doc/reference/tmpl/gnutls_hash_int.sgml create mode 100644 doc/reference/tmpl/gnutls_helper.sgml create mode 100644 doc/reference/tmpl/gnutls_int.sgml create mode 100644 doc/reference/tmpl/gnutls_kx.sgml create mode 100644 doc/reference/tmpl/gnutls_mbuffers.sgml create mode 100644 doc/reference/tmpl/gnutls_mem.sgml create mode 100644 doc/reference/tmpl/gnutls_mpi.sgml create mode 100644 doc/reference/tmpl/gnutls_num.sgml create mode 100644 doc/reference/tmpl/gnutls_openpgp.sgml create mode 100644 doc/reference/tmpl/gnutls_pk.sgml create mode 100644 doc/reference/tmpl/gnutls_record.sgml create mode 100644 doc/reference/tmpl/gnutls_rsa_export.sgml create mode 100644 doc/reference/tmpl/gnutls_session_pack.sgml create mode 100644 doc/reference/tmpl/gnutls_sig.sgml create mode 100644 doc/reference/tmpl/gnutls_srp.sgml create mode 100644 doc/reference/tmpl/gnutls_state.sgml create mode 100644 doc/reference/tmpl/gnutls_str.sgml create mode 100644 doc/reference/tmpl/gnutls_str_array.sgml create mode 100644 doc/reference/tmpl/gnutls_supplemental.sgml create mode 100644 doc/reference/tmpl/gnutls_v2_compat.sgml create mode 100644 doc/reference/tmpl/gnutls_x509.sgml create mode 100644 doc/reference/tmpl/gnutlsxx.sgml create mode 100644 doc/reference/tmpl/gstr.sgml create mode 100644 doc/reference/tmpl/heartbeat.sgml create mode 100644 doc/reference/tmpl/int.sgml create mode 100644 doc/reference/tmpl/keydb.sgml create mode 100644 doc/reference/tmpl/libtasn1.sgml create mode 100644 doc/reference/tmpl/main.sgml create mode 100644 doc/reference/tmpl/max_record.sgml delete mode 100644 doc/reference/tmpl/netdb.sgml create mode 100644 doc/reference/tmpl/ocsp.sgml create mode 100644 doc/reference/tmpl/opencdk.sgml create mode 100644 doc/reference/tmpl/openpgp_int.sgml delete mode 100644 doc/reference/tmpl/openssl.sgml create mode 100644 doc/reference/tmpl/packet.sgml delete mode 100644 doc/reference/tmpl/pakchois.sgml delete mode 100644 doc/reference/tmpl/pakchois11.sgml create mode 100644 doc/reference/tmpl/parser_aux.sgml create mode 100644 doc/reference/tmpl/pbkdf2-sha1.sgml create mode 100644 doc/reference/tmpl/pin.sgml create mode 100644 doc/reference/tmpl/psk.sgml create mode 100644 doc/reference/tmpl/psk_passwd.sgml create mode 100644 doc/reference/tmpl/random.sgml create mode 100644 doc/reference/tmpl/randomart.sgml create mode 100644 doc/reference/tmpl/safe_renegotiation.sgml create mode 100644 doc/reference/tmpl/server_name.sgml create mode 100644 doc/reference/tmpl/session_ticket.sgml create mode 100644 doc/reference/tmpl/sha-padlock.sgml delete mode 100644 doc/reference/tmpl/sign.sgml create mode 100644 doc/reference/tmpl/signature.sgml create mode 100644 doc/reference/tmpl/srp.sgml create mode 100644 doc/reference/tmpl/srp_passwd.sgml create mode 100644 doc/reference/tmpl/srtp.sgml create mode 100644 doc/reference/tmpl/status_request.sgml create mode 100644 doc/reference/tmpl/stream.sgml create mode 100644 doc/reference/tmpl/structure.sgml create mode 100644 doc/reference/tmpl/tpm.sgml create mode 100644 doc/reference/tmpl/types.sgml create mode 100644 doc/reference/tmpl/verify-high.sgml create mode 100644 doc/reference/tmpl/x509_b64.sgml create mode 100644 doc/reference/tmpl/x509_int.sgml create mode 100644 doc/reference/tmpl/x86.sgml create mode 100644 doc/tpm-api.texi delete mode 100644 extra/INSTALL delete mode 100644 gl/accept.c delete mode 100644 gl/alphasort.c delete mode 100644 gl/argp-ba.c delete mode 100644 gl/argp-eexst.c delete mode 100644 gl/argp-fmtstream.c delete mode 100644 gl/argp-fmtstream.h delete mode 100644 gl/argp-fs-xinl.c delete mode 100644 gl/argp-help.c delete mode 100644 gl/argp-namefrob.h delete mode 100644 gl/argp-parse.c delete mode 100644 gl/argp-pin.c delete mode 100644 gl/argp-pv.c delete mode 100644 gl/argp-pvh.c delete mode 100644 gl/argp-xinl.c delete mode 100644 gl/argp.h delete mode 100644 gl/arpa_inet.in.h delete mode 100644 gl/basename-lgpl.c delete mode 100644 gl/bind.c delete mode 100644 gl/close.c delete mode 100644 gl/closedir.c delete mode 100644 gl/connect.c delete mode 100644 gl/dirent-private.h delete mode 100644 gl/dirent.in.h delete mode 100644 gl/dirname-lgpl.c delete mode 100644 gl/dirname.h delete mode 100644 gl/dosname.h delete mode 100644 gl/dup2.c delete mode 100644 gl/error.c delete mode 100644 gl/error.h delete mode 100644 gl/fd-hook.c delete mode 100644 gl/fd-hook.h delete mode 100644 gl/filename.h delete mode 100644 gl/fpucw.h delete mode 100644 gl/frexp.c delete mode 100644 gl/frexpl.c delete mode 100644 gl/fseek.c delete mode 100644 gl/fseeko.c delete mode 100644 gl/fseterr.c delete mode 100644 gl/fseterr.h delete mode 100644 gl/gai_strerror.c delete mode 100644 gl/getaddrinfo.c delete mode 100644 gl/getopt.c delete mode 100644 gl/getopt.in.h delete mode 100644 gl/getopt1.c delete mode 100644 gl/getopt_int.h delete mode 100644 gl/getpass.c delete mode 100644 gl/getpass.h delete mode 100644 gl/getpeername.c delete mode 100644 gl/getsubopt.c delete mode 100644 gl/gettime.c delete mode 100644 gl/glthread/threadlib.c delete mode 100644 gl/inet_ntop.c delete mode 100644 gl/inet_pton.c delete mode 100644 gl/isnan.c delete mode 100644 gl/isnand-nolibm.h delete mode 100644 gl/isnand.c delete mode 100644 gl/isnanf-nolibm.h delete mode 100644 gl/isnanf.c delete mode 100644 gl/isnanl-nolibm.h delete mode 100644 gl/isnanl.c delete mode 100644 gl/listen.c create mode 100644 gl/m4/absolute-header.m4 delete mode 100644 gl/m4/alphasort.m4 delete mode 100644 gl/m4/argp.m4 delete mode 100644 gl/m4/arpa_inet_h.m4 delete mode 100644 gl/m4/clock_time.m4 delete mode 100644 gl/m4/close.m4 delete mode 100644 gl/m4/closedir.m4 delete mode 100644 gl/m4/dirent_h.m4 delete mode 100644 gl/m4/dirname.m4 delete mode 100644 gl/m4/double-slash-root.m4 delete mode 100644 gl/m4/dup2.m4 delete mode 100644 gl/m4/eealloc.m4 delete mode 100644 gl/m4/environ.m4 delete mode 100644 gl/m4/error.m4 delete mode 100644 gl/m4/exponentf.m4 delete mode 100644 gl/m4/exponentl.m4 delete mode 100644 gl/m4/frexp.m4 delete mode 100644 gl/m4/frexpl.m4 delete mode 100644 gl/m4/fseek.m4 delete mode 100644 gl/m4/fseterr.m4 delete mode 100644 gl/m4/ftruncate.m4 delete mode 100644 gl/m4/getaddrinfo.m4 delete mode 100644 gl/m4/getcwd.m4 delete mode 100644 gl/m4/getdtablesize.m4 delete mode 100644 gl/m4/getopt.m4 delete mode 100644 gl/m4/getpass.m4 delete mode 100644 gl/m4/getsubopt.m4 delete mode 100644 gl/m4/gettime.m4 delete mode 100644 gl/m4/hostent.m4 delete mode 100644 gl/m4/inet_ntop.m4 delete mode 100644 gl/m4/inet_pton.m4 delete mode 100644 gl/m4/ioctl.m4 delete mode 100644 gl/m4/isnand.m4 delete mode 100644 gl/m4/isnanf.m4 delete mode 100644 gl/m4/isnanl.m4 delete mode 100644 gl/m4/ldexpl.m4 delete mode 100644 gl/m4/lstat.m4 delete mode 100644 gl/m4/malloca.m4 delete mode 100644 gl/m4/math_h.m4 delete mode 100644 gl/m4/mempcpy.m4 delete mode 100644 gl/m4/mode_t.m4 delete mode 100644 gl/m4/nocrash.m4 delete mode 100644 gl/m4/open.m4 delete mode 100644 gl/m4/opendir.m4 delete mode 100644 gl/m4/pathmax.m4 delete mode 100644 gl/m4/perror.m4 delete mode 100644 gl/m4/pipe.m4 delete mode 100644 gl/m4/printf-frexp.m4 delete mode 100644 gl/m4/printf-frexpl.m4 delete mode 100644 gl/m4/putenv.m4 delete mode 100644 gl/m4/rawmemchr.m4 delete mode 100644 gl/m4/readdir.m4 delete mode 100644 gl/m4/scandir.m4 delete mode 100644 gl/m4/select.m4 delete mode 100644 gl/m4/servent.m4 delete mode 100644 gl/m4/setenv.m4 delete mode 100644 gl/m4/signal_h.m4 delete mode 100644 gl/m4/signbit.m4 delete mode 100644 gl/m4/sleep.m4 delete mode 100644 gl/m4/socketlib.m4 delete mode 100644 gl/m4/sockets.m4 delete mode 100644 gl/m4/stat.m4 delete mode 100644 gl/m4/stdarg.m4 delete mode 100644 gl/m4/strchrnul.m4 delete mode 100644 gl/m4/strdup.m4 delete mode 100644 gl/m4/strerror.m4 delete mode 100644 gl/m4/strerror_r.m4 delete mode 100644 gl/m4/symlink.m4 delete mode 100644 gl/m4/sys_ioctl_h.m4 delete mode 100644 gl/m4/sys_select_h.m4 delete mode 100644 gl/m4/sysexits.m4 delete mode 100644 gl/m4/timer_time.m4 delete mode 100644 gl/m4/timespec.m4 delete mode 100644 gl/m4/version-etc.m4 delete mode 100644 gl/m4/vfprintf-posix.m4 delete mode 100644 gl/m4/vprintf-posix.m4 delete mode 100644 gl/math.c delete mode 100644 gl/math.in.h delete mode 100644 gl/mempcpy.c delete mode 100644 gl/opendir.c delete mode 100644 gl/printf-frexp.c delete mode 100644 gl/printf-frexp.h delete mode 100644 gl/printf-frexpl.c delete mode 100644 gl/printf-frexpl.h delete mode 100644 gl/progname.c delete mode 100644 gl/progname.h delete mode 100644 gl/rawmemchr.c delete mode 100644 gl/rawmemchr.valgrind delete mode 100644 gl/readdir.c delete mode 100644 gl/recv.c delete mode 100644 gl/recvfrom.c delete mode 100644 gl/scandir.c delete mode 100644 gl/select.c delete mode 100644 gl/send.c delete mode 100644 gl/sendto.c delete mode 100644 gl/setsockopt.c delete mode 100644 gl/shutdown.c delete mode 100644 gl/signal.in.h delete mode 100644 gl/signbitd.c delete mode 100644 gl/signbitf.c delete mode 100644 gl/signbitl.c delete mode 100644 gl/sleep.c delete mode 100644 gl/socket.c delete mode 100644 gl/sockets.c delete mode 100644 gl/sockets.h delete mode 100644 gl/stdarg.in.h delete mode 100644 gl/strchrnul.c delete mode 100644 gl/strchrnul.valgrind delete mode 100644 gl/strdup.c delete mode 100644 gl/strerror-override.c delete mode 100644 gl/strerror-override.h delete mode 100644 gl/strerror.c delete mode 100644 gl/stripslash.c delete mode 100644 gl/sys_select.in.h delete mode 100644 gl/sysexits.in.h create mode 100644 gl/tests/fpucw.h delete mode 100644 gl/tests/ftruncate.c delete mode 100644 gl/tests/getcwd-lgpl.c delete mode 100644 gl/tests/getdtablesize.c delete mode 100644 gl/tests/glthread/lock.c delete mode 100644 gl/tests/glthread/lock.h delete mode 100644 gl/tests/ignore-value.h delete mode 100644 gl/tests/infinity.h delete mode 100644 gl/tests/ioctl.c delete mode 100644 gl/tests/lstat.c delete mode 100644 gl/tests/malloca.c delete mode 100644 gl/tests/malloca.h delete mode 100644 gl/tests/minus-zero.h delete mode 100644 gl/tests/nan.h delete mode 100644 gl/tests/open.c delete mode 100644 gl/tests/pathmax.h delete mode 100644 gl/tests/perror.c delete mode 100644 gl/tests/pipe.c delete mode 100644 gl/tests/putenv.c delete mode 100644 gl/tests/randomd.c delete mode 100644 gl/tests/randoml.c delete mode 100644 gl/tests/same-inode.h delete mode 100644 gl/tests/setenv.c delete mode 100644 gl/tests/stat.c delete mode 100644 gl/tests/strerror_r.c delete mode 100644 gl/tests/symlink.c delete mode 100644 gl/tests/sys_ioctl.in.h delete mode 100644 gl/tests/test-accept.c delete mode 100755 gl/tests/test-argp-2.sh delete mode 100644 gl/tests/test-argp.c delete mode 100644 gl/tests/test-arpa_inet.c delete mode 100644 gl/tests/test-bind.c delete mode 100644 gl/tests/test-close.c delete mode 100644 gl/tests/test-connect.c delete mode 100644 gl/tests/test-dirent.c delete mode 100644 gl/tests/test-dup2.c delete mode 100644 gl/tests/test-environ.c delete mode 100644 gl/tests/test-fprintf-posix.h delete mode 100644 gl/tests/test-frexp.c delete mode 100644 gl/tests/test-frexp.h delete mode 100644 gl/tests/test-frexpl.c delete mode 100644 gl/tests/test-fseek.c delete mode 100755 gl/tests/test-fseek.sh delete mode 100755 gl/tests/test-fseek2.sh delete mode 100644 gl/tests/test-fseeko.c delete mode 100755 gl/tests/test-fseeko.sh delete mode 100755 gl/tests/test-fseeko2.sh delete mode 100644 gl/tests/test-fseeko3.c delete mode 100755 gl/tests/test-fseeko3.sh delete mode 100644 gl/tests/test-fseeko4.c delete mode 100755 gl/tests/test-fseeko4.sh delete mode 100644 gl/tests/test-fseterr.c delete mode 100644 gl/tests/test-ftruncate.c delete mode 100755 gl/tests/test-ftruncate.sh delete mode 100644 gl/tests/test-getaddrinfo.c delete mode 100644 gl/tests/test-getcwd-lgpl.c delete mode 100644 gl/tests/test-getdtablesize.c delete mode 100644 gl/tests/test-getopt.c delete mode 100644 gl/tests/test-getopt.h delete mode 100644 gl/tests/test-getopt_long.h delete mode 100644 gl/tests/test-getpeername.c create mode 100644 gl/tests/test-iconv.c delete mode 100644 gl/tests/test-ignore-value.c delete mode 100644 gl/tests/test-inet_ntop.c delete mode 100644 gl/tests/test-inet_pton.c delete mode 100644 gl/tests/test-ioctl.c delete mode 100644 gl/tests/test-isnand-nolibm.c delete mode 100644 gl/tests/test-isnand.h delete mode 100644 gl/tests/test-isnanf-nolibm.c delete mode 100644 gl/tests/test-isnanf.h delete mode 100644 gl/tests/test-isnanl-nolibm.c delete mode 100644 gl/tests/test-isnanl.h delete mode 100644 gl/tests/test-listen.c delete mode 100644 gl/tests/test-lstat.c delete mode 100644 gl/tests/test-lstat.h delete mode 100644 gl/tests/test-malloc-gnu.c delete mode 100644 gl/tests/test-malloca.c delete mode 100644 gl/tests/test-math.c delete mode 100644 gl/tests/test-open.c delete mode 100644 gl/tests/test-open.h delete mode 100644 gl/tests/test-pathmax.c delete mode 100644 gl/tests/test-perror.c delete mode 100755 gl/tests/test-perror.sh delete mode 100644 gl/tests/test-perror2.c delete mode 100644 gl/tests/test-pipe.c delete mode 100644 gl/tests/test-printf-frexp.c delete mode 100644 gl/tests/test-printf-frexpl.c delete mode 100644 gl/tests/test-printf-posix.h delete mode 100644 gl/tests/test-printf-posix.output delete mode 100644 gl/tests/test-rawmemchr.c delete mode 100644 gl/tests/test-recv.c delete mode 100644 gl/tests/test-recvfrom.c delete mode 100644 gl/tests/test-select-fd.c delete mode 100755 gl/tests/test-select-in.sh delete mode 100755 gl/tests/test-select-out.sh delete mode 100644 gl/tests/test-select-stdin.c delete mode 100644 gl/tests/test-select.c delete mode 100644 gl/tests/test-select.h delete mode 100644 gl/tests/test-send.c delete mode 100644 gl/tests/test-sendto.c delete mode 100644 gl/tests/test-setenv.c delete mode 100644 gl/tests/test-setsockopt.c delete mode 100644 gl/tests/test-shutdown.c delete mode 100644 gl/tests/test-signal-h.c delete mode 100644 gl/tests/test-signbit.c delete mode 100644 gl/tests/test-sleep.c delete mode 100644 gl/tests/test-sockets.c delete mode 100644 gl/tests/test-stat.c delete mode 100644 gl/tests/test-stat.h delete mode 100644 gl/tests/test-strchrnul.c delete mode 100644 gl/tests/test-strerror.c delete mode 100644 gl/tests/test-strerror_r.c delete mode 100644 gl/tests/test-symlink.c delete mode 100644 gl/tests/test-symlink.h delete mode 100644 gl/tests/test-sys_ioctl.c delete mode 100644 gl/tests/test-sys_select.c delete mode 100644 gl/tests/test-sysexits.c delete mode 100644 gl/tests/test-unsetenv.c delete mode 100644 gl/tests/test-version-etc.c delete mode 100755 gl/tests/test-version-etc.sh delete mode 100644 gl/tests/test-vfprintf-posix.c delete mode 100755 gl/tests/test-vfprintf-posix.sh delete mode 100644 gl/tests/test-vprintf-posix.c delete mode 100755 gl/tests/test-vprintf-posix.sh delete mode 100644 gl/tests/unsetenv.c delete mode 100644 gl/tests/w32sock.h delete mode 100644 gl/timespec.h delete mode 100644 gl/version-etc-fsf.c delete mode 100644 gl/version-etc.c delete mode 100644 gl/version-etc.h delete mode 100644 gl/vfprintf.c delete mode 100644 gl/vprintf.c delete mode 100644 gl/w32sock.h delete mode 100644 lib/INSTALL create mode 100644 lib/accelerated/x86/aes-cbc-x86-aesni.c create mode 100644 lib/accelerated/x86/aes-cbc-x86-ssse3.c create mode 100644 lib/accelerated/x86/aes-gcm-x86-aesni.c create mode 100644 lib/accelerated/x86/aes-gcm-x86-pclmul.c create mode 100644 lib/accelerated/x86/aes-gcm-x86-ssse3.c delete mode 100644 lib/accelerated/x86/aes-gcm-x86.c delete mode 100644 lib/accelerated/x86/aes-x86.c create mode 100644 lib/accelerated/x86/coff/aes-ssse3-x86.s create mode 100644 lib/accelerated/x86/coff/aes-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/coff/aesni-x86.s create mode 100644 lib/accelerated/x86/coff/aesni-x86_64.s delete mode 100644 lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s delete mode 100644 lib/accelerated/x86/coff/appro-aes-x86-64-coff.s delete mode 100644 lib/accelerated/x86/coff/appro-aes-x86-coff.s delete mode 100644 lib/accelerated/x86/coff/cpuid-x86-64-coff.s delete mode 100644 lib/accelerated/x86/coff/cpuid-x86-coff.s create mode 100644 lib/accelerated/x86/coff/cpuid-x86.s create mode 100644 lib/accelerated/x86/coff/cpuid-x86_64.s create mode 100644 lib/accelerated/x86/coff/e_padlock-x86.s create mode 100644 lib/accelerated/x86/coff/e_padlock-x86_64.s create mode 100644 lib/accelerated/x86/coff/ghash-x86_64.s delete mode 100644 lib/accelerated/x86/coff/padlock-x86-64-coff.s delete mode 100644 lib/accelerated/x86/coff/padlock-x86-coff.s create mode 100644 lib/accelerated/x86/coff/sha1-ssse3-x86.s create mode 100644 lib/accelerated/x86/coff/sha1-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/coff/sha256-ssse3-x86.s create mode 100644 lib/accelerated/x86/coff/sha512-ssse3-x86.s create mode 100644 lib/accelerated/x86/coff/sha512-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/elf/aes-ssse3-x86.s create mode 100644 lib/accelerated/x86/elf/aes-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/elf/aesni-x86.s create mode 100644 lib/accelerated/x86/elf/aesni-x86_64.s delete mode 100644 lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s delete mode 100644 lib/accelerated/x86/elf/appro-aes-x86-64.s delete mode 100644 lib/accelerated/x86/elf/appro-aes-x86.s delete mode 100644 lib/accelerated/x86/elf/cpuid-x86-64.s create mode 100644 lib/accelerated/x86/elf/cpuid-x86_64.s create mode 100644 lib/accelerated/x86/elf/e_padlock-x86.s create mode 100644 lib/accelerated/x86/elf/e_padlock-x86_64.s create mode 100644 lib/accelerated/x86/elf/ghash-x86_64.s delete mode 100644 lib/accelerated/x86/elf/padlock-x86-64.s delete mode 100644 lib/accelerated/x86/elf/padlock-x86.s create mode 100644 lib/accelerated/x86/elf/sha1-ssse3-x86.s create mode 100644 lib/accelerated/x86/elf/sha1-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/elf/sha256-ssse3-x86.s create mode 100644 lib/accelerated/x86/elf/sha512-ssse3-x86.s create mode 100644 lib/accelerated/x86/elf/sha512-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/files.mk create mode 100644 lib/accelerated/x86/hmac-x86-ssse3.c create mode 100644 lib/accelerated/x86/macosx/aes-ssse3-x86.s create mode 100644 lib/accelerated/x86/macosx/aes-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/macosx/aesni-x86.s create mode 100644 lib/accelerated/x86/macosx/aesni-x86_64.s delete mode 100644 lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s delete mode 100644 lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s delete mode 100644 lib/accelerated/x86/macosx/appro-aes-x86-macosx.s delete mode 100644 lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s delete mode 100644 lib/accelerated/x86/macosx/cpuid-x86-macosx.s create mode 100644 lib/accelerated/x86/macosx/cpuid-x86.s create mode 100644 lib/accelerated/x86/macosx/cpuid-x86_64.s create mode 100644 lib/accelerated/x86/macosx/e_padlock-x86.s create mode 100644 lib/accelerated/x86/macosx/e_padlock-x86_64.s create mode 100644 lib/accelerated/x86/macosx/ghash-x86_64.s delete mode 100644 lib/accelerated/x86/macosx/padlock-x86-64-macosx.s delete mode 100644 lib/accelerated/x86/macosx/padlock-x86-macosx.s create mode 100644 lib/accelerated/x86/macosx/sha1-ssse3-x86.s create mode 100644 lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/macosx/sha256-ssse3-x86.s create mode 100644 lib/accelerated/x86/macosx/sha512-ssse3-x86.s create mode 100644 lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s create mode 100644 lib/accelerated/x86/sha-x86-ssse3.c create mode 100644 lib/accelerated/x86/sha-x86.h create mode 100644 lib/accelerated/x86/x86-common.c create mode 100644 lib/accelerated/x86/x86-common.h delete mode 100644 lib/accelerated/x86/x86.h delete mode 100644 lib/auth/ecdh_common.c delete mode 100644 lib/auth/ecdh_common.h create mode 100644 lib/auth/ecdhe.c create mode 100644 lib/auth/ecdhe.h create mode 100644 lib/auth/rsa_common.h delete mode 100644 lib/auth/rsa_export.c create mode 100644 lib/auth/rsa_psk.c create mode 100644 lib/crypto-selftests-pk.c create mode 100644 lib/crypto-selftests.c create mode 100644 lib/ext/alpn.c create mode 100644 lib/ext/alpn.h create mode 100644 lib/ext/dumbfw.c create mode 100644 lib/ext/dumbfw.h create mode 100644 lib/ext/heartbeat.c create mode 100644 lib/ext/heartbeat.h create mode 100644 lib/ext/srtp.c create mode 100644 lib/ext/srtp.h create mode 100644 lib/ext/status_request.c create mode 100644 lib/ext/status_request.h create mode 100644 lib/fips.c create mode 100644 lib/fips.h delete mode 100644 lib/gnutls_dh_primes.c create mode 100644 lib/gnutls_privkey_raw.c create mode 100644 lib/gnutls_range.c delete mode 100644 lib/gnutls_rsa_export.h delete mode 100644 lib/hash.c delete mode 100644 lib/hash.h create mode 100644 lib/includes/gnutls/self-test.h create mode 100644 lib/includes/gnutls/tpm.h create mode 100644 lib/includes/gnutls/x509-ext.h delete mode 100644 lib/libgnutlsxx.map delete mode 100644 lib/nettle/ecc.h delete mode 100644 lib/nettle/ecc_free.c delete mode 100644 lib/nettle/ecc_make_key.c delete mode 100644 lib/nettle/ecc_map.c delete mode 100644 lib/nettle/ecc_mulmod.c delete mode 100644 lib/nettle/ecc_mulmod_timing.c delete mode 100644 lib/nettle/ecc_points.c delete mode 100644 lib/nettle/ecc_projective_add_point.c delete mode 100644 lib/nettle/ecc_projective_check_point.c delete mode 100644 lib/nettle/ecc_projective_dbl_point_3.c delete mode 100644 lib/nettle/ecc_shared_secret.c delete mode 100644 lib/nettle/ecc_sign_hash.c delete mode 100644 lib/nettle/ecc_verify_hash.c create mode 100644 lib/nettle/int/drbg-aes-self-test.c create mode 100644 lib/nettle/int/drbg-aes.c create mode 100644 lib/nettle/int/drbg-aes.h create mode 100644 lib/nettle/int/dsa-fips.h create mode 100644 lib/nettle/int/dsa-keygen-fips186.c create mode 100644 lib/nettle/int/dsa-validate.c create mode 100644 lib/nettle/int/gcm-camellia.c create mode 100644 lib/nettle/int/gcm-camellia.h create mode 100644 lib/nettle/int/provable-prime.c create mode 100644 lib/nettle/int/rsa-fips.h create mode 100644 lib/nettle/int/rsa-keygen-fips186.c delete mode 100644 lib/nettle/multi.c create mode 100644 lib/nettle/rnd-common.c create mode 100644 lib/nettle/rnd-common.h create mode 100644 lib/nettle/rnd-fips.c delete mode 100644 lib/opencdk/hash.c create mode 100644 lib/pin.c create mode 100644 lib/pin.h create mode 100644 lib/pkcs11_int.c create mode 100644 lib/priority_options.gperf create mode 100644 lib/priority_options.h create mode 100644 lib/safe-memset.c create mode 100644 lib/tpm.c create mode 100644 lib/vasprintf.c create mode 100644 lib/vasprintf.h create mode 100644 lib/x509/name_constraints.c create mode 100644 lib/x509/privkey_openssl.c create mode 100644 lib/x509/verify-high2.c create mode 100644 lib/x509/x509_dn.c create mode 100644 lib/x509/x509_ext.c create mode 100644 libdane/Makefile.am create mode 100644 libdane/Makefile.in create mode 100644 libdane/dane-params.c create mode 100644 libdane/dane.c create mode 100644 libdane/errors.c create mode 100644 libdane/gnutls-dane.pc.in create mode 100644 libdane/includes/Makefile.am create mode 100644 libdane/includes/Makefile.in create mode 100644 libdane/includes/gnutls/dane.h create mode 100644 libdane/libdane.map delete mode 100644 m4/lock.m4 delete mode 100644 m4/threadlib.m4 delete mode 100644 src/certtool-args.c create mode 100644 src/certtool-args.c.bak delete mode 100644 src/certtool-args.h create mode 100644 src/certtool-args.h.bak create mode 100644 src/certtool-extras.c delete mode 100644 src/cli-args.c create mode 100644 src/cli-args.c.bak delete mode 100644 src/cli-args.h create mode 100644 src/cli-args.h.bak delete mode 100644 src/cli-debug-args.c create mode 100644 src/cli-debug-args.c.bak delete mode 100644 src/cli-debug-args.h create mode 100644 src/cli-debug-args.h.bak create mode 100644 src/cli-debug.c create mode 100644 src/danetool-args.c.bak create mode 100644 src/danetool-args.def create mode 100644 src/danetool-args.h.bak create mode 100644 src/danetool.c delete mode 100644 src/dh.c create mode 100644 src/gl/Makefile.am create mode 100644 src/gl/Makefile.in create mode 100644 src/gl/accept.c create mode 100644 src/gl/alloca.c create mode 100644 src/gl/alloca.in.h create mode 100644 src/gl/arpa_inet.in.h create mode 100644 src/gl/asnprintf.c create mode 100644 src/gl/bind.c create mode 100644 src/gl/c-ctype.c create mode 100644 src/gl/c-ctype.h create mode 100644 src/gl/close.c create mode 100644 src/gl/connect.c create mode 100644 src/gl/dup2.c create mode 100644 src/gl/errno.in.h create mode 100644 src/gl/error.c create mode 100644 src/gl/error.h create mode 100644 src/gl/exitfail.c create mode 100644 src/gl/exitfail.h create mode 100644 src/gl/fd-hook.c create mode 100644 src/gl/fd-hook.h create mode 100644 src/gl/float+.h create mode 100644 src/gl/float.c create mode 100644 src/gl/float.in.h create mode 100644 src/gl/fseek.c create mode 100644 src/gl/fseeko.c create mode 100644 src/gl/fstat.c create mode 100644 src/gl/gai_strerror.c create mode 100644 src/gl/getaddrinfo.c create mode 100644 src/gl/getdelim.c create mode 100644 src/gl/getline.c create mode 100644 src/gl/getpass.c create mode 100644 src/gl/getpass.h create mode 100644 src/gl/getpeername.c create mode 100644 src/gl/gettext.h create mode 100644 src/gl/gettime.c create mode 100644 src/gl/gettimeofday.c create mode 100644 src/gl/inet_ntop.c create mode 100644 src/gl/inet_pton.c create mode 100644 src/gl/intprops.h create mode 100644 src/gl/itold.c create mode 100644 src/gl/listen.c create mode 100644 src/gl/lseek.c create mode 100644 src/gl/m4/arpa_inet_h.m4 create mode 100644 src/gl/m4/bison.m4 create mode 100644 src/gl/m4/clock_time.m4 create mode 100644 src/gl/m4/close.m4 create mode 100644 src/gl/m4/dup2.m4 create mode 100644 src/gl/m4/eealloc.m4 create mode 100644 src/gl/m4/environ.m4 create mode 100644 src/gl/m4/error.m4 create mode 100644 src/gl/m4/fseek.m4 create mode 100644 src/gl/m4/getaddrinfo.m4 create mode 100644 src/gl/m4/getpass.m4 create mode 100644 src/gl/m4/gettime.m4 create mode 100644 src/gl/m4/gnulib-cache.m4 create mode 100644 src/gl/m4/gnulib-comp.m4 create mode 100644 src/gl/m4/hostent.m4 create mode 100644 src/gl/m4/inet_ntop.m4 create mode 100644 src/gl/m4/inet_pton.m4 create mode 100644 src/gl/m4/malloca.m4 create mode 100644 src/gl/m4/mktime.m4 create mode 100644 src/gl/m4/parse-datetime.m4 create mode 100644 src/gl/m4/select.m4 create mode 100644 src/gl/m4/servent.m4 create mode 100644 src/gl/m4/setenv.m4 create mode 100644 src/gl/m4/signal_h.m4 create mode 100644 src/gl/m4/socketlib.m4 create mode 100644 src/gl/m4/sockets.m4 create mode 100644 src/gl/m4/strdup.m4 create mode 100644 src/gl/m4/strerror.m4 create mode 100644 src/gl/m4/sys_select_h.m4 create mode 100644 src/gl/m4/timespec.m4 create mode 100644 src/gl/m4/tm_gmtoff.m4 create mode 100644 src/gl/m4/xalloc.m4 create mode 100644 src/gl/malloc.c create mode 100644 src/gl/malloca.c create mode 100644 src/gl/malloca.h rename {gl/tests => src/gl}/malloca.valgrind (100%) create mode 100644 src/gl/memchr.c create mode 100644 src/gl/memchr.valgrind create mode 100644 src/gl/mktime-internal.h create mode 100644 src/gl/mktime.c create mode 100644 src/gl/msvc-inval.c create mode 100644 src/gl/msvc-inval.h create mode 100644 src/gl/msvc-nothrow.c create mode 100644 src/gl/msvc-nothrow.h create mode 100644 src/gl/netdb.in.h create mode 100644 src/gl/netinet_in.in.h create mode 100644 src/gl/parse-datetime.c create mode 100644 src/gl/parse-datetime.h create mode 100644 src/gl/parse-datetime.y create mode 100644 src/gl/printf-args.c create mode 100644 src/gl/printf-args.h create mode 100644 src/gl/printf-parse.c create mode 100644 src/gl/printf-parse.h create mode 100644 src/gl/progname.c create mode 100644 src/gl/progname.h create mode 100644 src/gl/realloc.c create mode 100644 src/gl/recv.c create mode 100644 src/gl/recvfrom.c create mode 100644 src/gl/select.c create mode 100644 src/gl/send.c create mode 100644 src/gl/sendto.c create mode 100644 src/gl/setenv.c create mode 100644 src/gl/setsockopt.c create mode 100644 src/gl/shutdown.c create mode 100644 src/gl/signal.in.h create mode 100644 src/gl/size_max.h create mode 100644 src/gl/snprintf.c create mode 100644 src/gl/socket.c create mode 100644 src/gl/sockets.c create mode 100644 src/gl/sockets.h create mode 100644 src/gl/stdalign.in.h create mode 100644 src/gl/stdbool.in.h create mode 100644 src/gl/stddef.in.h create mode 100644 src/gl/stdint.in.h create mode 100644 src/gl/stdio-impl.h create mode 100644 src/gl/stdio.in.h create mode 100644 src/gl/stdlib.in.h create mode 100644 src/gl/strdup.c create mode 100644 src/gl/strerror-override.c create mode 100644 src/gl/strerror-override.h create mode 100644 src/gl/strerror.c create mode 100644 src/gl/string.in.h create mode 100644 src/gl/sys_select.in.h create mode 100644 src/gl/sys_socket.c create mode 100644 src/gl/sys_socket.in.h create mode 100644 src/gl/sys_stat.in.h create mode 100644 src/gl/sys_time.in.h create mode 100644 src/gl/sys_types.in.h create mode 100644 src/gl/sys_uio.in.h create mode 100644 src/gl/time.in.h create mode 100644 src/gl/time_r.c rename {gl => src/gl}/timespec.c (100%) create mode 100644 src/gl/timespec.h create mode 100644 src/gl/unistd.c create mode 100644 src/gl/unistd.in.h create mode 100644 src/gl/unsetenv.c create mode 100644 src/gl/vasnprintf.c create mode 100644 src/gl/vasnprintf.h create mode 100644 src/gl/verify.h create mode 100644 src/gl/w32sock.h create mode 100644 src/gl/wchar.in.h create mode 100644 src/gl/xalloc-die.c create mode 100644 src/gl/xalloc-oversized.h create mode 100644 src/gl/xalloc.h create mode 100644 src/gl/xmalloc.c create mode 100644 src/gl/xsize.c create mode 100644 src/gl/xsize.h create mode 100755 src/inline_cmds.h delete mode 100644 src/ocsptool-args.c create mode 100644 src/ocsptool-args.c.bak delete mode 100644 src/ocsptool-args.h create mode 100644 src/ocsptool-args.h.bak delete mode 100644 src/p11common.c delete mode 100644 src/p11common.h delete mode 100644 src/p11tool-args.c create mode 100644 src/p11tool-args.c.bak delete mode 100644 src/p11tool-args.h create mode 100644 src/p11tool-args.h.bak delete mode 100644 src/psk-args.c delete mode 100644 src/psk-args.def delete mode 100644 src/psk-args.h create mode 100644 src/psktool-args.c.bak create mode 100644 src/psktool-args.def create mode 100644 src/psktool-args.h.bak delete mode 100644 src/serv-args.c create mode 100644 src/serv-args.c.bak delete mode 100644 src/serv-args.h create mode 100644 src/serv-args.h.bak delete mode 100644 src/srptool-args.c create mode 100644 src/srptool-args.c.bak delete mode 100644 src/srptool-args.h create mode 100644 src/srptool-args.h.bak delete mode 100644 src/tls_test.c create mode 100644 src/tpmtool-args.c.bak create mode 100644 src/tpmtool-args.def create mode 100644 src/tpmtool-args.h.bak create mode 100644 src/tpmtool.c create mode 100644 tests/cert-tests/bmpstring.pem create mode 100644 tests/cert-tests/cert-ecc256.pem create mode 100644 tests/cert-tests/complex-cert.pem create mode 100755 tests/cert-tests/dane create mode 100644 tests/cert-tests/dane-test.rr create mode 100644 tests/cert-tests/suppressions.valgrind create mode 100644 tests/cert-tests/template-date.pem create mode 100644 tests/cert-tests/template-date.tmpl create mode 100644 tests/cert-tests/template-dn-err.tmpl create mode 100644 tests/cert-tests/template-dn.pem create mode 100644 tests/cert-tests/template-dn.tmpl create mode 100644 tests/cert-tests/template-nc.pem create mode 100644 tests/cert-tests/template-nc.tmpl create mode 100644 tests/cert-tests/template-overflow.pem create mode 100644 tests/cert-tests/template-overflow.tmpl create mode 100644 tests/cert-tests/template-overflow2.pem create mode 100644 tests/cert-tests/template-overflow2.tmpl create mode 100644 tests/cert-tests/template-utf8.pem create mode 100644 tests/cert-tests/template-utf8.tmpl create mode 100644 tests/cert-tests/xmpp-othername.pem create mode 100644 tests/certs/ca-cert-ecc.pem create mode 100644 tests/certs/ca-ecc.pem create mode 100644 tests/certs/cert-ecc.pem create mode 100644 tests/certs/cert-ecc256.pem create mode 100644 tests/certs/cert-ecc384.pem create mode 100644 tests/certs/cert-ecc521.pem create mode 100644 tests/certs/cert-rsa-2432.pem create mode 100644 tests/certs/ecc.pem create mode 100644 tests/certs/ecc256.pem create mode 100644 tests/certs/ecc384.pem create mode 100644 tests/certs/ecc521.pem create mode 100644 tests/certs/rsa-2432.pem create mode 100644 tests/chainverify-unsorted.c create mode 100644 tests/fips-test.c create mode 100644 tests/global-init.c delete mode 100644 tests/key-id/Makefile.am delete mode 100644 tests/key-id/Makefile.in create mode 100644 tests/key-openssl.c create mode 100644 tests/key-tests/Makefile.am create mode 100644 tests/key-tests/Makefile.in rename tests/{key-id => key-tests}/README (100%) rename tests/{key-id => key-tests}/ca-gnutls-keyid.pem (100%) rename tests/{key-id => key-tests}/ca-no-keyid.pem (100%) rename tests/{key-id => key-tests}/ca-weird-keyid.pem (100%) create mode 100644 tests/key-tests/key-ca-1234.p8 create mode 100644 tests/key-tests/key-ca-empty.p8 create mode 100644 tests/key-tests/key-ca-null.p8 rename tests/{key-id => key-tests}/key-ca.pem (100%) create mode 100644 tests/key-tests/key-ecc.p8 create mode 100644 tests/key-tests/key-ecc.pem rename tests/{key-id => key-tests}/key-id (100%) rename tests/{key-id => key-tests}/key-user.pem (100%) create mode 100644 tests/key-tests/openssl-key-ecc.p8 create mode 100755 tests/key-tests/pkcs8 create mode 100644 tests/long-session-id.c create mode 100644 tests/mini-alpn.c create mode 100644 tests/mini-cert-status.c delete mode 100644 tests/mini-deflate.c create mode 100644 tests/mini-dtls-heartbeat.c create mode 100644 tests/mini-dtls-hello-verify.c create mode 100644 tests/mini-dtls-large.c create mode 100644 tests/mini-dtls-record.c create mode 100644 tests/mini-dtls-srtp.c create mode 100644 tests/mini-emsgsize-dtls.c create mode 100644 tests/mini-global-load.c create mode 100644 tests/mini-handshake-timeout.c create mode 100644 tests/mini-record-2.c create mode 100644 tests/mini-record-range.c create mode 100644 tests/mini-rsa-psk.c create mode 100644 tests/mini-x509-2.c create mode 100644 tests/mini-x509-callbacks-intr.c create mode 100644 tests/mini-x509-callbacks.c delete mode 100644 tests/mini.c create mode 100644 tests/name-constraints.c create mode 100644 tests/pkcs12-decode/cert-ca.p12 create mode 100644 tests/pkcs12-decode/pkcs12_5certs.p12 create mode 100644 tests/pkcs12-decode/test-null.p12 create mode 100644 tests/pkcs12_simple.c create mode 100644 tests/priorities.c create mode 100644 tests/record-sizes-range.c create mode 100644 tests/record-sizes.c create mode 100644 tests/sec-params.c create mode 100644 tests/suite/crl/long.crl create mode 100644 tests/suite/crl/long.pem create mode 100644 tests/suite/mini-record-timing.c create mode 100644 tests/suite/pkcs11-chainverify.c create mode 100644 tests/suite/pkcs11-get-issuer.c create mode 100644 tests/suite/rng.c create mode 100644 tests/test-chains.h create mode 100644 tests/x509-extensions.c diff --git a/AUTHORS b/AUTHORS index e6bd90b..f0154b1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -5,75 +5,48 @@ See the end for copying conditions. The copyright holder for GnuTLS is Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -Simon Josefsson -Current maintainer; draft TLS 1.2 support. +Simon Josefsson *simon [at] josefsson.org* +Previous maintainer; draft TLS 1.2 support. -Nikos Mavrogiannopoulos +Nikos Mavrogiannopoulos *nmav [at] gnutls.org* Original author and maintainer of GnuTLS. -Fabio Fiorina +Fabio Fiorina *Fabio.Fiorina [at] alcatel.it* ASN.1 structures parser library (libtasn1). -Timo Schulz +Timo Schulz *twoaday [at] freakmail.de* OpenPGP support (OpenCDK library). -Andrew McDonald +Andrew McDonald *andrew [at] mcdonald.org.uk* OpenSSL compatible interface. -Ludovic Courtes +Ludovic Courtes *ludo [at] gnu.org* Guile bindings, OpenPGP bug fixes. -Mario Lenz -Fixes to OpenCDK. - -Howard Chu -APIs to extract X.500 DN's from Certificates. - -Ivo Timmermans -Man pages, OpenCDK, fixes. - -Stefan Walter +Stefan Walter *stef [at] memberwebs.com* PKCS8 fix, PKCS #11 backend move to p11-kit. -Yoshisato YANAGISAWA -Camellia support. - -Emile Van Bergen -TLS/IA fixes. - -Joe Orton -Certificate name import/export, build fixes, test vectors. - -Daniel Kahn Gillmor -OpenPGP discussion and improvements. - -David Marín Carreño -Added gnutls_x509_crq_get_key_id. +Yoshisato YANAGISAWA *yanagisawa [at] csg.is.titech.ac.jp* +Initial Camellia-CBC support. -Daiki Ueno -Added TLS Session Ticket (RFC 5077) support, +Daiki Ueno *ueno [at] unixuser.org* +TLS Session Ticket (RFC 5077) support, finished client-side TLS 1.2 support. -Brad Hards -Add X.509 Issuer Alternative Name functions. - -Boyan Kasarov -C++ fixes. - -Steve Dispensa -Initial TLS safe renegotiation patch. - -Jonathan Bastien-Filiatrault +Jonathan Bastien-Filiatrault *joe [at] x2a.org* Fix TLS-version checks. Redesign and implementation of the buffering layer. Initial DTLS implementation. -Ruslan Ijbulatov (LRN) -Win32 patches. - -Andy Polyakov +Andy Polyakov *appro [at] openssl.org* AES-NI and Padlock assembler code (at lib/accelerated/intel/asm/) +David Woodhouse *dwmw2 [at] infradead.org* +DTLS 0.9 implementation. + +Martin Storjo *martin [at] martin.st* +DTLS-SRTP support. + ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/COPYING.LESSER b/COPYING.LESSER index 65c5ca8..8add30a 100644 --- a/COPYING.LESSER +++ b/COPYING.LESSER @@ -1,165 +1,504 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/ChangeLog b/ChangeLog index fb8179a..79e9127 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14959 +1,12001 @@ -2013-06-01 Nikos Mavrogiannopoulos - - * NEWS: released 3.0.30 - -2013-06-01 Nikos Mavrogiannopoulos - - * src/certtool-args.c, src/certtool-args.h, src/cli-args.c, - src/cli-args.h, src/cli-debug-args.c, src/cli-debug-args.h, - src/ocsptool-args.c, src/ocsptool-args.h, src/p11tool-args.c, - src/p11tool-args.h, src/psk-args.c, src/psk-args.h, - src/serv-args.c, src/serv-args.h, src/srptool-args.c, - src/srptool-args.h: updated libopts generated files - -2013-06-01 Nikos Mavrogiannopoulos - - * src/libopts/COPYING.gplv3, src/libopts/COPYING.lgplv3, - src/libopts/Makefile.am, src/libopts/README, - src/libopts/ag-char-map.h, src/libopts/alias.c, - src/libopts/ao-strs.c, src/libopts/ao-strs.h, - src/libopts/autoopts.c, src/libopts/autoopts.h, - src/libopts/autoopts/options.h, src/libopts/autoopts/project.h, - src/libopts/autoopts/usage-txt.h, src/libopts/boolean.c, - src/libopts/check.c, src/libopts/compat/compat.h, - src/libopts/compat/pathfind.c, src/libopts/compat/snprintf.c, - src/libopts/compat/strchr.c, src/libopts/compat/strdup.c, - src/libopts/compat/windows-config.h, src/libopts/configfile.c, - src/libopts/cook.c, src/libopts/enum.c, src/libopts/env.c, - src/libopts/file.c, src/libopts/find.c, src/libopts/genshell.c, - src/libopts/genshell.h, src/libopts/libopts.c, src/libopts/load.c, - src/libopts/m4/libopts.m4, src/libopts/m4/liboptschk.m4, - src/libopts/makeshell.c, src/libopts/nested.c, - src/libopts/numeric.c, src/libopts/parse-duration.c, - src/libopts/parse-duration.h, src/libopts/pgusage.c, - src/libopts/proto.h, src/libopts/putshell.c, src/libopts/reset.c, - src/libopts/restore.c, src/libopts/save.c, src/libopts/sort.c, - src/libopts/stack.c, src/libopts/streqvcmp.c, - src/libopts/text_mmap.c, src/libopts/time.c, - src/libopts/tokenize.c, src/libopts/usage.c, src/libopts/version.c: - updated libopts - -2013-06-01 Nikos Mavrogiannopoulos - - * configure.ac: check for suse's CA bundle file - -2013-05-29 Nikos Mavrogiannopoulos - - * po/LINGUAS, po/eo.po.in: Sync with TP. - -2013-05-29 Nikos Mavrogiannopoulos - - * NEWS: doc update - -2013-05-29 Nikos Mavrogiannopoulos - - * lib/algorithms/ciphersuites.c: allow ciphersuites with elliptic - curves even when using SSL 3.0. This works around a bug on openssl in certain Debian systems. - -2013-05-29 Nikos Mavrogiannopoulos - - * configure.ac, m4/hooks.m4: bumped version - -2013-05-29 Nikos Mavrogiannopoulos - - * lib/algorithms.h, lib/gnutls_dtls.c: corrected AEAD tag size - -2013-05-29 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: more precise calculation of DTLS overhead - -2013-05-29 Nikos Mavrogiannopoulos - - * gl/Makefile.am, gl/argp-help.c, gl/intprops.h, - gl/m4/extensions.m4, gl/m4/extern-inline.m4, gl/m4/frexp.m4, - gl/m4/getdtablesize.m4, gl/m4/gnulib-comp.m4, gl/m4/intl.m4, - gl/m4/lock.m4, gl/m4/manywarnings.m4, gl/m4/po.m4, gl/m4/putenv.m4, - gl/m4/stdalign.m4, gl/m4/sys_types_h.m4, gl/m4/warnings.m4, - gl/stdio.in.h, gl/sys_select.in.h, gl/sys_time.in.h, - gl/tests/Makefile.am, gl/tests/getdtablesize.c, gl/tests/malloca.c, - gl/tests/malloca.h, gl/tests/putenv.c, gl/tests/test-dup2.c, - gl/tests/test-getaddrinfo.c, gl/tests/test-getdtablesize.c, - gl/tests/test-snprintf.c, gl/tests/test-sys_socket.c, - gl/tests/test-vasnprintf.c, gl/tests/test-vsnprintf.c, - gl/unistd.in.h, maint.mk: updated gnulib - -2013-05-29 Nikos Mavrogiannopoulos - - * tests/mini-overhead.c: avoid global_init - -2013-05-29 Nikos Mavrogiannopoulos - - * tests/mini-overhead.c: removed unsupported ciphersuites - -2013-05-29 Nikos Mavrogiannopoulos - - * tests/Makefile.am, tests/mini-overhead.c: Check overhead in DTLS. - -2013-05-25 Nikos Mavrogiannopoulos - - * NEWS: doc update - -2013-05-25 Nikos Mavrogiannopoulos - - * lib/gnutls_handshake.c: revive gnutls_handshake_get_last_in(). - Report by Mann Ern Kang. - -2013-05-21 Nikos Mavrogiannopoulos - - * src/cli.c: corrected signal() call - -2013-04-16 Nikos Mavrogiannopoulos - - * lib/accelerated/x86/hmac-padlock.c, - lib/accelerated/x86/sha-padlock.c: corrected memory leak in - padlock_hash_fast() - -2013-04-02 Nikos Mavrogiannopoulos - - * lib/gnutls_handshake.c: make a short list of the available PK - algorithms - -2013-03-27 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-03-27 Nikos Mavrogiannopoulos - - * lib/auth/rsa.c, lib/gnutls_int.h, lib/gnutls_priority.c, - lib/gnutls_record.c: When in compatibility mode allow for a wrong - version in the RSA PMS. - -2013-03-22 Nikos Mavrogiannopoulos - - * NEWS: set release date - -2013-03-21 Nikos Mavrogiannopoulos - - * NEWS, lib/auth/cert.c, lib/gnutls_pubkey.c, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/openpgp.h, - lib/openpgp/gnutls_openpgp.c: Fixes in openpgp handshake with - fingerprints. Reported by Joke de Buhr. - -2013-03-21 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_sig.c: correct issue with the (deprecated) - external key signing and TLS 1.2 - -2013-03-17 Nikos Mavrogiannopoulos - - * lib/pkcs11.c: search only for slots with tokens and avoid caching - to prevent issues with multiple threads. - -2013-03-16 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-03-16 Nikos Mavrogiannopoulos - - * lib/pkcs11.c: avoid internal error - -2013-03-16 Nikos Mavrogiannopoulos - - * configure.ac, m4/hooks.m4: bumped version - -2013-03-16 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-03-16 Nikos Mavrogiannopoulos - - * lib/pkcs11.c: scan slots on PKCS #11 providers only when needed, - not on initialization. - -2013-03-08 Nikos Mavrogiannopoulos - - * NEWS: removed - -2013-03-08 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c: return unimplemented feature on encounter of a - known but unsupported url - -2013-03-06 Nikos Mavrogiannopoulos - - * gl/Makefile.am, gl/hash-pjw-bare.c, gl/hash-pjw-bare.h, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4: Added hash-pjw-bare in - gl which is used by minitasn1. Reported by David Woodhouse. - -2013-03-06 Nikos Mavrogiannopoulos - - * configure.ac: Fixes in cpu and cross-compilation detection - -2013-03-06 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c: check revocation prior to reading local certs. - -2013-03-06 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c, lib/x509/verify-high.c, lib/x509/verify-high.h: - deinitialize certificate and use internal function name for - gnutls_x509_trust_list_remove_cas - -2013-03-05 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-03-05 Nikos Mavrogiannopoulos - - * configure.ac: backported configure check for trust store. - -2013-03-05 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c, lib/x509/verify-high.c, lib/x509/verify-high.h: - correctly remove revoked certificates. That required quite some - backports from the 3.1 branch. - -2013-03-05 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c: Check for revoked certs in android and do not - add. Suggested by David Woodhouse. - -2013-03-05 Nikos Mavrogiannopoulos - - * lib/gnutls_priority.c: lower the priority of the DHE_* - ciphersuites. - -2013-03-05 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c: handle the interesting variance between - directories - -2013-03-04 Nikos Mavrogiannopoulos - - * tests/suite/mini-eagain2.c: include config.h - -2013-03-04 Nikos Mavrogiannopoulos - - * configure.ac: configure.ac updates - -2013-03-04 Nikos Mavrogiannopoulos - - * GNUmakefile, build-aux/config.rpath, build-aux/gendocs.sh, - build-aux/pmccabe2html, build-aux/snippet/arg-nonnull.h, - build-aux/snippet/c++defs.h, build-aux/snippet/warn-on-use.h, - build-aux/useless-if-before-free, build-aux/vc-list-files, - doc/gendocs_template, gl/Makefile.am, gl/accept.c, gl/alloca.in.h, - gl/alphasort.c, gl/argp-ba.c, gl/argp-eexst.c, gl/argp-fmtstream.c, - gl/argp-fmtstream.h, gl/argp-fs-xinl.c, gl/argp-help.c, - gl/argp-namefrob.h, gl/argp-parse.c, gl/argp-pin.c, gl/argp-pv.c, - gl/argp-pvh.c, gl/argp-xinl.c, gl/argp.h, gl/arpa_inet.in.h, - gl/asnprintf.c, gl/asprintf.c, gl/base64.c, gl/base64.h, - gl/basename-lgpl.c, gl/bind.c, gl/byteswap.in.h, gl/c-ctype.c, - gl/c-ctype.h, gl/close.c, gl/closedir.c, gl/connect.c, - gl/dirent-private.h, gl/dirent.in.h, gl/dirname-lgpl.c, - gl/dirname.h, gl/dosname.h, gl/dup2.c, gl/errno.in.h, gl/error.c, - gl/error.h, gl/fd-hook.c, gl/fd-hook.h, gl/filename.h, gl/float+.h, - gl/float.c, gl/float.in.h, gl/fpucw.h, gl/frexp.c, gl/frexpl.c, - gl/fseek.c, gl/fseeko.c, gl/fseterr.c, gl/fseterr.h, gl/fstat.c, - gl/ftell.c, gl/ftello.c, gl/gai_strerror.c, gl/getaddrinfo.c, - gl/getdelim.c, gl/getline.c, gl/getopt.c, gl/getopt.in.h, - gl/getopt1.c, gl/getopt_int.h, gl/getpass.c, gl/getpass.h, - gl/getpeername.c, gl/getsubopt.c, gl/gettext.h, gl/gettime.c, - gl/gettimeofday.c, gl/glthread/threadlib.c, gl/inet_ntop.c, - gl/inet_pton.c, gl/intprops.h, gl/isnan.c, gl/isnand-nolibm.h, - gl/isnand.c, gl/isnanf-nolibm.h, gl/isnanf.c, gl/isnanl-nolibm.h, - gl/isnanl.c, gl/itold.c, gl/listen.c, gl/lseek.c, - gl/m4/00gnulib.m4, gl/m4/alloca.m4, gl/m4/alphasort.m4, - gl/m4/argp.m4, gl/m4/arpa_inet_h.m4, gl/m4/base64.m4, - gl/m4/byteswap.m4, gl/m4/clock_time.m4, gl/m4/close.m4, - gl/m4/closedir.m4, gl/m4/codeset.m4, gl/m4/dirent_h.m4, - gl/m4/dirname.m4, gl/m4/double-slash-root.m4, gl/m4/dup2.m4, - gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/errno_h.m4, - gl/m4/error.m4, gl/m4/exponentd.m4, gl/m4/exponentf.m4, - gl/m4/exponentl.m4, gl/m4/extensions.m4, gl/m4/extern-inline.m4, - gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, - gl/m4/float_h.m4, gl/m4/fpieee.m4, gl/m4/frexp.m4, gl/m4/frexpl.m4, - gl/m4/fseek.m4, gl/m4/fseeko.m4, gl/m4/fseterr.m4, gl/m4/fstat.m4, - gl/m4/ftell.m4, gl/m4/ftello.m4, gl/m4/ftruncate.m4, gl/m4/func.m4, - gl/m4/getaddrinfo.m4, gl/m4/getcwd.m4, gl/m4/getdelim.m4, - gl/m4/getline.m4, gl/m4/getopt.m4, gl/m4/getpagesize.m4, - gl/m4/getpass.m4, gl/m4/getsubopt.m4, gl/m4/gettext.m4, - gl/m4/gettime.m4, gl/m4/gettimeofday.m4, gl/m4/glibc2.m4, - gl/m4/glibc21.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/hostent.m4, - gl/m4/iconv.m4, gl/m4/include_next.m4, gl/m4/inet_ntop.m4, - gl/m4/inet_pton.m4, gl/m4/intdiv0.m4, gl/m4/intl.m4, - gl/m4/intldir.m4, gl/m4/intlmacosx.m4, gl/m4/intmax.m4, - gl/m4/intmax_t.m4, gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, - gl/m4/inttypes_h.m4, gl/m4/ioctl.m4, gl/m4/isnand.m4, - gl/m4/isnanf.m4, gl/m4/isnanl.m4, gl/m4/largefile.m4, - gl/m4/lcmessage.m4, gl/m4/ld-output-def.m4, - gl/m4/ld-version-script.m4, gl/m4/ldexpl.m4, gl/m4/lib-ld.m4, - gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/lock.m4, - gl/m4/longlong.m4, gl/m4/lseek.m4, gl/m4/lstat.m4, gl/m4/malloc.m4, - gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/math_h.m4, - gl/m4/memchr.m4, gl/m4/memmem.m4, gl/m4/mempcpy.m4, - gl/m4/minmax.m4, gl/m4/mmap-anon.m4, gl/m4/mode_t.m4, - gl/m4/msvc-inval.m4, gl/m4/msvc-nothrow.m4, gl/m4/multiarch.m4, - gl/m4/netdb_h.m4, gl/m4/netinet_in_h.m4, gl/m4/nls.m4, - gl/m4/nocrash.m4, gl/m4/off_t.m4, gl/m4/open.m4, gl/m4/opendir.m4, - gl/m4/pathmax.m4, gl/m4/perror.m4, gl/m4/pipe.m4, gl/m4/po.m4, - gl/m4/printf-frexp.m4, gl/m4/printf-frexpl.m4, - gl/m4/printf-posix.m4, gl/m4/printf.m4, gl/m4/progtest.m4, - gl/m4/putenv.m4, gl/m4/rawmemchr.m4, gl/m4/read-file.m4, - gl/m4/readdir.m4, gl/m4/realloc.m4, gl/m4/scandir.m4, - gl/m4/select.m4, gl/m4/servent.m4, gl/m4/setenv.m4, - gl/m4/signal_h.m4, gl/m4/signbit.m4, gl/m4/size_max.m4, - gl/m4/sleep.m4, gl/m4/snprintf.m4, gl/m4/socketlib.m4, - gl/m4/sockets.m4, gl/m4/socklen.m4, gl/m4/sockpfaf.m4, - gl/m4/ssize_t.m4, gl/m4/stat.m4, gl/m4/stdalign.m4, - gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4, - gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, - gl/m4/stdlib_h.m4, gl/m4/strcase.m4, gl/m4/strchrnul.m4, - gl/m4/strdup.m4, gl/m4/strerror.m4, gl/m4/strerror_r.m4, - gl/m4/string_h.m4, gl/m4/strings_h.m4, gl/m4/strndup.m4, - gl/m4/strnlen.m4, gl/m4/strtok_r.m4, gl/m4/strverscmp.m4, - gl/m4/symlink.m4, gl/m4/sys_ioctl_h.m4, gl/m4/sys_select_h.m4, - gl/m4/sys_socket_h.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_time_h.m4, - gl/m4/sys_types_h.m4, gl/m4/sys_uio_h.m4, gl/m4/sysexits.m4, - gl/m4/threadlib.m4, gl/m4/time_h.m4, gl/m4/time_r.m4, - gl/m4/timer_time.m4, gl/m4/timespec.m4, gl/m4/uintmax_t.m4, - gl/m4/ungetc.m4, gl/m4/unistd_h.m4, gl/m4/valgrind-tests.m4, - gl/m4/vasnprintf.m4, gl/m4/vasprintf.m4, gl/m4/version-etc.m4, - gl/m4/vfprintf-posix.m4, gl/m4/visibility.m4, - gl/m4/vprintf-posix.m4, gl/m4/vsnprintf.m4, gl/m4/warn-on-use.m4, - gl/m4/warnings.m4, gl/m4/wchar_h.m4, gl/m4/wchar_t.m4, - gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/malloc.c, gl/math.c, - gl/math.in.h, gl/memchr.c, gl/memmem.c, gl/mempcpy.c, gl/minmax.h, - gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c, - gl/msvc-nothrow.h, gl/netdb.in.h, gl/netinet_in.in.h, gl/opendir.c, - gl/printf-args.c, gl/printf-args.h, gl/printf-frexp.c, - gl/printf-frexp.h, gl/printf-frexpl.c, gl/printf-frexpl.h, - gl/printf-parse.c, gl/printf-parse.h, gl/progname.c, gl/progname.h, - gl/rawmemchr.c, gl/read-file.c, gl/read-file.h, gl/readdir.c, - gl/realloc.c, gl/recv.c, gl/recvfrom.c, gl/scandir.c, gl/select.c, - gl/send.c, gl/sendto.c, gl/setsockopt.c, gl/shutdown.c, - gl/signal.in.h, gl/signbitd.c, gl/signbitf.c, gl/signbitl.c, - gl/size_max.h, gl/sleep.c, gl/snprintf.c, gl/socket.c, - gl/sockets.c, gl/sockets.h, gl/stdalign.in.h, gl/stdarg.in.h, - gl/stdbool.in.h, gl/stddef.in.h, gl/stdint.in.h, gl/stdio-impl.h, - gl/stdio.in.h, gl/stdlib.in.h, gl/str-two-way.h, gl/strcasecmp.c, - gl/strchrnul.c, gl/strdup.c, gl/strerror-override.c, - gl/strerror-override.h, gl/strerror.c, gl/string.in.h, - gl/strings.in.h, gl/stripslash.c, gl/strncasecmp.c, gl/strndup.c, - gl/strnlen.c, gl/strtok_r.c, gl/strverscmp.c, gl/sys_select.in.h, - gl/sys_socket.c, gl/sys_socket.in.h, gl/sys_stat.in.h, - gl/sys_time.in.h, gl/sys_types.in.h, gl/sys_uio.in.h, - gl/sysexits.in.h, gl/tests/Makefile.am, gl/tests/binary-io.c, - gl/tests/binary-io.h, gl/tests/dup2.c, gl/tests/fcntl.in.h, - gl/tests/fdopen.c, gl/tests/ftruncate.c, gl/tests/getcwd-lgpl.c, - gl/tests/getpagesize.c, gl/tests/glthread/lock.c, - gl/tests/glthread/lock.h, gl/tests/ignore-value.h, - gl/tests/infinity.h, gl/tests/init.sh, gl/tests/inttypes.in.h, - gl/tests/ioctl.c, gl/tests/lstat.c, gl/tests/macros.h, - gl/tests/malloca.c, gl/tests/malloca.h, gl/tests/minus-zero.h, - gl/tests/nan.h, gl/tests/open.c, gl/tests/pathmax.h, - gl/tests/perror.c, gl/tests/pipe.c, gl/tests/putenv.c, - gl/tests/randomd.c, gl/tests/randoml.c, gl/tests/same-inode.h, - gl/tests/setenv.c, gl/tests/signature.h, gl/tests/stat.c, - gl/tests/strerror_r.c, gl/tests/symlink.c, gl/tests/sys_ioctl.in.h, - gl/tests/test-accept.c, gl/tests/test-alloca-opt.c, - gl/tests/test-argp-2.sh, gl/tests/test-argp.c, - gl/tests/test-arpa_inet.c, gl/tests/test-base64.c, - gl/tests/test-binary-io.c, gl/tests/test-bind.c, - gl/tests/test-byteswap.c, gl/tests/test-c-ctype.c, - gl/tests/test-close.c, gl/tests/test-connect.c, - gl/tests/test-dirent.c, gl/tests/test-dup2.c, - gl/tests/test-environ.c, gl/tests/test-errno.c, - gl/tests/test-fcntl-h.c, gl/tests/test-fdopen.c, - gl/tests/test-fgetc.c, gl/tests/test-float.c, - gl/tests/test-fprintf-posix.h, gl/tests/test-fputc.c, - gl/tests/test-fread.c, gl/tests/test-frexp.c, - gl/tests/test-frexp.h, gl/tests/test-frexpl.c, - gl/tests/test-fseek.c, gl/tests/test-fseeko.c, - gl/tests/test-fseeko3.c, gl/tests/test-fseeko4.c, - gl/tests/test-fseterr.c, gl/tests/test-fstat.c, - gl/tests/test-ftell.c, gl/tests/test-ftell3.c, - gl/tests/test-ftello.c, gl/tests/test-ftello3.c, - gl/tests/test-ftello4.c, gl/tests/test-ftruncate.c, - gl/tests/test-func.c, gl/tests/test-fwrite.c, - gl/tests/test-getaddrinfo.c, gl/tests/test-getcwd-lgpl.c, - gl/tests/test-getdelim.c, gl/tests/test-getline.c, - gl/tests/test-getopt.c, gl/tests/test-getopt.h, - gl/tests/test-getopt_long.h, gl/tests/test-getpeername.c, - gl/tests/test-gettimeofday.c, gl/tests/test-ignore-value.c, - gl/tests/test-inet_ntop.c, gl/tests/test-inet_pton.c, - gl/tests/test-init.sh, gl/tests/test-intprops.c, - gl/tests/test-inttypes.c, gl/tests/test-ioctl.c, - gl/tests/test-isnand-nolibm.c, gl/tests/test-isnand.h, - gl/tests/test-isnanf-nolibm.c, gl/tests/test-isnanf.h, - gl/tests/test-isnanl-nolibm.c, gl/tests/test-isnanl.h, - gl/tests/test-listen.c, gl/tests/test-lstat.c, - gl/tests/test-lstat.h, gl/tests/test-malloc-gnu.c, - gl/tests/test-malloca.c, gl/tests/test-math.c, - gl/tests/test-memchr.c, gl/tests/test-netdb.c, - gl/tests/test-netinet_in.c, gl/tests/test-open.c, - gl/tests/test-open.h, gl/tests/test-pathmax.c, - gl/tests/test-perror.c, gl/tests/test-perror2.c, - gl/tests/test-pipe.c, gl/tests/test-printf-frexp.c, - gl/tests/test-printf-frexpl.c, gl/tests/test-printf-posix.h, - gl/tests/test-rawmemchr.c, gl/tests/test-read-file.c, - gl/tests/test-recv.c, gl/tests/test-recvfrom.c, - gl/tests/test-select-fd.c, gl/tests/test-select-stdin.c, - gl/tests/test-select.c, gl/tests/test-select.h, - gl/tests/test-send.c, gl/tests/test-sendto.c, - gl/tests/test-setenv.c, gl/tests/test-setsockopt.c, - gl/tests/test-shutdown.c, gl/tests/test-signal-h.c, - gl/tests/test-signbit.c, gl/tests/test-sleep.c, - gl/tests/test-snprintf.c, gl/tests/test-sockets.c, - gl/tests/test-stat.c, gl/tests/test-stat.h, - gl/tests/test-stdalign.c, gl/tests/test-stdbool.c, - gl/tests/test-stddef.c, gl/tests/test-stdint.c, - gl/tests/test-stdio.c, gl/tests/test-stdlib.c, - gl/tests/test-strchrnul.c, gl/tests/test-strerror.c, - gl/tests/test-strerror_r.c, gl/tests/test-string.c, - gl/tests/test-strings.c, gl/tests/test-strnlen.c, - gl/tests/test-strverscmp.c, gl/tests/test-symlink.c, - gl/tests/test-symlink.h, gl/tests/test-sys_ioctl.c, - gl/tests/test-sys_select.c, gl/tests/test-sys_socket.c, - gl/tests/test-sys_stat.c, gl/tests/test-sys_time.c, - gl/tests/test-sys_types.c, gl/tests/test-sys_uio.c, - gl/tests/test-sys_wait.h, gl/tests/test-sysexits.c, - gl/tests/test-time.c, gl/tests/test-u64.c, gl/tests/test-unistd.c, - gl/tests/test-unsetenv.c, gl/tests/test-vasnprintf.c, - gl/tests/test-vasprintf.c, gl/tests/test-vc-list-files-cvs.sh, - gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, - gl/tests/test-version-etc.c, gl/tests/test-version-etc.sh, - gl/tests/test-vfprintf-posix.c, gl/tests/test-vprintf-posix.c, - gl/tests/test-vsnprintf.c, gl/tests/test-wchar.c, - gl/tests/unsetenv.c, gl/tests/w32sock.h, gl/tests/zerosize-ptr.h, - gl/time.in.h, gl/time_r.c, gl/timespec.c, gl/timespec.h, gl/u64.c, - gl/u64.h, gl/unistd.c, gl/unistd.in.h, gl/vasnprintf.c, - gl/vasnprintf.h, gl/vasprintf.c, gl/verify.h, gl/version-etc-fsf.c, - gl/version-etc.c, gl/version-etc.h, gl/vfprintf.c, gl/vprintf.c, - gl/vsnprintf.c, gl/w32sock.h, gl/wchar.in.h, gl/xsize.c, - gl/xsize.h, maint.mk: Updated gnulib. - -2013-03-04 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_x509.c: load CA certificates in Android 4.x - systems. - -2013-03-04 Nikos Mavrogiannopoulos - - * configure.ac: gl_EARLY called earlier - -2013-03-04 Nikos Mavrogiannopoulos - - * configure.ac: removed Werror flags - -2013-03-02 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-03-02 Nikos Mavrogiannopoulos - - * configure.ac: Select CPU optimizations based on target cpu rather - than the host. - -2013-03-01 Nikos Mavrogiannopoulos - - * NEWS, src/certtool.c: use ARCFOUR by default on PKCS #12 file - generation - -2013-02-18 Nikos Mavrogiannopoulos - - * NEWS, lib/pkcs11.c: Fixed gnutls_pkcs11_reinit() to reinitialize - all modules. - -2013-02-13 Nikos Mavrogiannopoulos - - * NEWS: updated - -2013-02-13 Nikos Mavrogiannopoulos - - * lib/gnutls_pubkey.c: corrected gnutls_pubkey_verify_data() - -2013-02-13 Nikos Mavrogiannopoulos - - * lib/x509/verify-high.c: reduced hash table size - -2013-02-04 Nikos Mavrogiannopoulos - - * NEWS, lib/x509/common.c: DN variable 'T' was expanded to 'title' - -2013-02-04 Nikos Mavrogiannopoulos - - * NEWS: prepared release - -2013-02-04 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2013-02-04 Nikos Mavrogiannopoulos - - * lib/gnutls_cipher.c, lib/gnutls_hash_int.h: Fixes to avoid a - timing attack in TLS CBC record parsing. - -2013-02-03 Nikos Mavrogiannopoulos - - * lib/gnutls_x509.c, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: - Added GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA to specify trusted CA - certificates. - -2013-02-01 Nikos Mavrogiannopoulos - - * lib/gnutls_db.c: simplified DB storing - -2013-02-01 Nikos Mavrogiannopoulos - - * lib/gnutls_db.c: remove function is not required to add or - retrieve from db. - -2013-01-31 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_db.c, lib/gnutls_handshake.c, - lib/gnutls_session_pack.c: Fixes in server side of DTLS-0.9. - -2013-01-28 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2013-01-27 Nikos Mavrogiannopoulos - - * lib/crypto-api.c: Fix AEAD out-of-place decryption - -2013-01-04 Nikos Mavrogiannopoulos - - * configure.ac, m4/hooks.m4: use AC_CONFIG_HEADERS() and bumped - version. - -2013-01-03 Nikos Mavrogiannopoulos - - * lib/nettle/pk.c: added checks on decryption and verification. - -2013-01-03 Nikos Mavrogiannopoulos - - * NEWS, configure.ac, m4/hooks.m4: bumped version - -2012-12-31 Nikos Mavrogiannopoulos - - * NEWS, lib/nettle/pk.c: Stricter RSA PKCS #1 1.5 encoding. Reported - by Kikuchi Masashi. - -2012-12-31 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-12-04 Nikos Mavrogiannopoulos - - * NEWS: document fix - -2012-12-04 Nikos Mavrogiannopoulos - - * lib/gnutls_cipher.c: Corrected bugs in record parsing. Corrected bugs in record padding parsing. Reported by Kenny - Patterson and Nadhem Alfardan. - -2012-12-01 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-12-01 Ludovic Courtès - - * guile/src/Makefile.am: guile: Fix dependencies to be - parallel-safe. - -2012-11-09 Nikos Mavrogiannopoulos - - * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/element.h, - lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, - lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, - lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, - lib/minitasn1/structure.c, lib/minitasn1/structure.h: updated - libtasn1 - -2012-11-09 Nikos Mavrogiannopoulos - - * doc/Makefile.am: updated - -2012-11-09 Nikos Mavrogiannopoulos - - * doc/Makefile.am: updated - -2012-11-09 Nikos Mavrogiannopoulos - - * doc/scripts/cleanup-autogen.pl, doc/scripts/gdoc, - doc/scripts/getfuncs.pl, doc/scripts/mytexi2latex: updated scripts - -2012-11-09 Nikos Mavrogiannopoulos - - * NEWS, configure.ac, m4/hooks.m4: bumped version - -2012-11-07 Nikos Mavrogiannopoulos - - * lib/gnutls_compress.c: removed debugging - -2012-11-07 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_int.h, lib/gnutls_priority.c, lib/gnutls_sig.c: - Tolerate key usage violation. - -2012-11-06 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/gnutls.h.in, lib/x509/verify.c, - src/certtool.c: Too old -> superseded. - -2012-11-06 Nikos Mavrogiannopoulos - - * src/certtool.c: corrected checks - -2012-11-06 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-10-10 Nikos Mavrogiannopoulos - - * lib/x509/pkcs12_encr.c: Increased maximum password len in PKCS - #12. - -2012-11-02 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_cert.c, lib/includes/gnutls/gnutls.h.in, - lib/x509/verify.c, src/certtool.c: CRL verification includes the - time checks. - -2012-10-12 Nikos Mavrogiannopoulos - - * lib/auth/cert.c, lib/openpgp/privkey.c: Added debugging, and - reverted some changes from the 3.1 backport. - -2012-10-12 Nikos Mavrogiannopoulos - - * NEWS, configure.ac, m4/hooks.m4: bumped versions - -2012-10-12 Nikos Mavrogiannopoulos - - * doc/Makefile.am: updated doc - -2012-10-11 Nikos Mavrogiannopoulos - - * NEWS, lib/auth/cert.c, lib/gnutls_pcert.c, lib/openpgp/pgp.c, - lib/openpgp/privkey.c: Added (back) RFC5081 support in client mode. - -2012-10-11 Nikos Mavrogiannopoulos - - * NEWS, lib/auth/cert.c, lib/auth/cert.h, lib/gnutls_pcert.c, - lib/gnutls_pubkey.c, lib/includes/gnutls/openpgp.h, - lib/openpgp/pgp.c, lib/openpgp/privkey.c: Several OpenPGP updates. Removed compatibility code with RFC5081. The - gnutls_openpgp_*_get_subkey_*() functions return the master key - parameters if provided with GNUTLS_OPENPGP_MASTER_KEYID_IDX. - -2012-10-04 Nikos Mavrogiannopoulos - - * src/cli.c: do not set verify_flags - -2012-10-01 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/ocsp.h, lib/x509/ocsp.c: - gnutls_ocsp_resp_check_crt() accepts the response index. - -2012-09-30 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_errors.c, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/ocsp.h, lib/libgnutls.map, lib/x509/ocsp.c: - Added gnutls_ocsp_resp_check_crt() to check whether the OCSP - response corresponds to the given certificate. - -2012-09-30 Nikos Mavrogiannopoulos - - * NEWS, lib/ext/session_ticket.c, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_int.h: Backported fix for - receiving session tickets during session resumption. - -2012-09-26 Nikos Mavrogiannopoulos - - * NEWS: released 3.0.24 - -2012-09-23 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-09-23 Nikos Mavrogiannopoulos - - * lib/opencdk/kbnode.c, lib/opencdk/main.h, lib/opencdk/misc.c, - lib/opencdk/read-packet.c, lib/opencdk/stream.c, - lib/opencdk/write-packet.c: reduced verbosity and better debugging. - -2012-09-23 Nikos Mavrogiannopoulos - - * lib/opencdk/new-packet.c: Corrected bug in PGP subpacket encoding - -2012-09-22 Nikos Mavrogiannopoulos - - * NEWS: doc update - -2012-09-22 Nikos Mavrogiannopoulos - - * lib/gnutls_session_pack.c: small fix - -2012-09-22 Nikos Mavrogiannopoulos - - * tests/Makefile.am, tests/chainverify-unsorted.c: removed test - depending on 3.1 functions. - -2012-09-22 Nikos Mavrogiannopoulos - - * lib/x509/privkey.c: corrected bug in gnutls_x509_privkey_sign_data - -2012-09-22 Nikos Mavrogiannopoulos - - * lib/auth/cert.c, lib/auth/dh_common.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_passwd.c, lib/crypto-backend.c, - lib/ext/safe_renegotiation.c, lib/gnutls_constate.c, - lib/gnutls_handshake.c, lib/gnutls_session_pack.c, - lib/gnutls_str.c, lib/gnutls_x509.c, lib/nettle/pk.c, - lib/opencdk/armor.c, lib/opencdk/keydb.c, lib/opencdk/literal.c, - lib/opencdk/stream.c, lib/opencdk/write-packet.c, lib/pkcs11.c, - lib/x509/ocsp_output.c: several cleanups - -2012-09-21 Nikos Mavrogiannopoulos - - * doc/Makefile.am, doc/manpages/Makefile.am: updated makefiles - -2012-09-21 Nikos Mavrogiannopoulos - - * configure.ac, m4/hooks.m4: bumped version - -2012-09-21 Nikos Mavrogiannopoulos - - * NEWS, doc/cha-gtls-app.texi, lib/gnutls_dtls.c, - lib/gnutls_dtls.h, lib/gnutls_int.h, lib/gnutls_record.c: Correctly - restore gnutls_record_recv() in DTLS mode if interrupted during the - retrasmition of handshake data. - -2012-09-18 Nikos Mavrogiannopoulos - - * Makefile.am, doc/Makefile.am: compare-makefile is only executed - during make dist. - -2012-09-18 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-09-17 Nikos Mavrogiannopoulos - - * configure.ac: do not complain on overlength strings - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/gnutls_cert.c, lib/gnutls_ui.c, lib/includes/gnutls/x509.h, - lib/x509/verify-high.c, tests/chainverify-unsorted.c: Added - verification flags GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN, which is - enabled by default for verifying TLS sessions. - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/x509/verify-high.c, tests/Makefile.am, - tests/chainverify-unsorted.c: Added function to sort the provided - certificate chain prior to verification. - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/x509/x509.c, lib/x509/x509_int.h: avoid duplicate asn1 - structure initialization. - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/gnutls_pubkey.c: fix ECDSA issues with openssl - -2012-09-01 Nikos Mavrogiannopoulos - - * lib/gnutls_pubkey.c: Be tolerant is ECDSA-violating signatures. - -2012-09-16 Nikos Mavrogiannopoulos - - * NEWS: documented updates - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/gnutls_sig.c: corrected prototype. - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/x509/mpi.c, lib/x509/x509_int.h: removed old libtasn1 - requirements - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/x509/verify-high.c: MAX_NAME_SIZE -> MAX_SERVER_NAME_SIZE - -2012-09-12 Nikos Mavrogiannopoulos - - * lib/x509/x509.c: Use the new asn1_read_node_value() - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/errors.c, - lib/minitasn1/gstr.c, lib/minitasn1/int.h, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/version.c: updated minitasn1 to 2.14. - -2012-09-16 Nikos Mavrogiannopoulos - - * lib/Makefile.am, m4/hooks.m4: Use the pkg-config macro to find - libtasn1. - -2012-09-16 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - lib/gnutls_cipher.c, lib/gnutls_int.h, lib/gnutls_priority.c, - lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in: use a - %STATELESS_COMPRESSION priority string instead of gnutls_init() - flag. - -2012-09-15 Nikos Mavrogiannopoulos - - * src/certtool.c: Do not ask unnecessary questions when signing a - certificate (request). - -2012-09-15 Nikos Mavrogiannopoulos - - * NEWS: documented update - -2012-09-15 Nikos Mavrogiannopoulos - - * doc/cha-intro-tls.texi, lib/gnutls_cipher.c, - lib/gnutls_compress.c, lib/gnutls_compress.h, lib/gnutls_int.h, - lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in: Added - GNUTLS_STATELESS_COMPRESSION flag to gnutls_init(). - -2012-09-15 Nikos Mavrogiannopoulos - - * NEWS: documented update - -2012-09-15 Nikos Mavrogiannopoulos - - * lib/gnutls_int.h, lib/gnutls_priority.c, lib/gnutls_sig.c: Key - usage violations are allowed when the COMPAT keyword is specified. I've noticed in the SSL observatory data that most key usage bits in - a certificate are set randomly (e.g., there are DSA certificates - marked for encryption, and most RSA certificates marked for - signature only are used for encryption anyway). There is no point of - being strict in such environment. - -2012-09-15 Nikos Mavrogiannopoulos - - * doc/Makefile.am, lib/Makefile.am: Refer to files with explicit - path. Patch by LRN. - -2012-09-15 Nikos Mavrogiannopoulos - - * gl/tests/ioctl.c: win32 fix. Patch by LRN. - -2012-09-15 Nikos Mavrogiannopoulos - - * src/libopts/Makefile.am: libopts depends on libintl. Patch by LRN. - -2012-09-13 Nikos Mavrogiannopoulos - - * lib/gnutls.asn, lib/gnutls_asn1_tab.c, lib/pkix.asn, - lib/pkix_asn1_tab.c: small optimizations in ASN.1 to save memory - -2012-09-02 Nikos Mavrogiannopoulos - - * doc/Makefile.am, doc/gnutls.texi: backported the short function - inclusion - -2012-09-02 Nikos Mavrogiannopoulos - - * doc/Makefile.am: Added missing files - -2012-09-02 Nikos Mavrogiannopoulos - - * NEWS, configure.ac, m4/hooks.m4: bumped version - -2012-09-01 Nikos Mavrogiannopoulos - - * NEWS, lib/abstract_int.h, lib/ext/signature.c, - lib/gnutls_pubkey.c, lib/gnutls_sig.c: Be tolerant in - ECDSA-violating signatures. - -2012-09-01 Nikos Mavrogiannopoulos - - * tests/suite/testcompat-main: Added server mode tests for the - various EC curves. - -2012-09-01 Nikos Mavrogiannopoulos - - * tests/certs/cert-ecc256.pem, tests/certs/cert-ecc384.pem, - tests/certs/cert-ecc521.pem, tests/certs/ecc256.pem, - tests/certs/ecc384.pem, tests/certs/ecc521.pem, - tests/suite/testcompat-main: Added suite for ECDSA under various - curves - -2012-09-01 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-08-30 Nikos Mavrogiannopoulos - - * src/serv.c: On Linux with /proc/sys/net/ipv6/bindv6only == 0 - (which is now the default), gnutls-serv cannot listen on ipv6. Patch - by Bernhard R. Link. - -2012-08-26 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-08-26 Nikos Mavrogiannopoulos - - * lib/pkcs11_privkey.c: fix DSA and ECDSA signing in smart cards. - -2012-08-26 Nikos Mavrogiannopoulos - - * src/common.c: null terminate the certificate being print - -2012-08-25 Nikos Mavrogiannopoulos - - * lib/x509/privkey_pkcs8.c: Prevent the usage of strlen() on null - values. - -2012-08-17 Nikos Mavrogiannopoulos - - * lib/ext/signature.c: When selecting a session signature algorithm - consider the enabled. - -2012-08-15 Nikos Mavrogiannopoulos - - * src/Makefile.am: Link srptool with libintl. Suggested by B. Scott - Michel. - -2012-08-11 Nikos Mavrogiannopoulos - - * cfg.mk, doc/Makefile.am: the new makeinfo sets the FLOAT_NAME by - default. - -2012-08-10 Nikos Mavrogiannopoulos - - * cfg.mk: corrected html generation - -2012-08-08 Nikos Mavrogiannopoulos - - * cfg.mk: updated html doc +2014-06-26 Nikos Mavrogiannopoulos -2012-08-07 Nikos Mavrogiannopoulos + * tests/cert-tests/aki, tests/cert-tests/pathlen, + tests/cert-tests/pem-decoding, tests/suite/crl-test, + tests/suite/invalid-cert, tests/suite/testcompat-main, + tests/suite/testrandom: tests: better replacement of LIBTOOL + variable in scripts - * doc/Makefile.am, doc/gnutls.texi: use FLOAT_NAME_IN_XREF +2014-06-26 Nikos Mavrogiannopoulos -2012-08-04 Nikos Mavrogiannopoulos + * tests/Makefile.am: tests: ship certs/ - * lib/gnutls_rsa_export.c: corrected typo +2014-06-26 Nikos Mavrogiannopoulos -2012-08-04 Nikos Mavrogiannopoulos + * doc/Makefile.am, doc/manpages/Makefile.am, symbols.last: added new + symbols - * cross.mk: bumped version - -2012-08-04 Nikos Mavrogiannopoulos - - * doc/Makefile.am, doc/gnutls.texi: better doc output - -2012-08-04 Nikos Mavrogiannopoulos - - * NEWS: corrected news entry. - -2012-08-04 Nikos Mavrogiannopoulos - - * NEWS, configure.ac, m4/hooks.m4: bumped version - -2012-08-04 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-08-04 Nikos Mavrogiannopoulos - - * lib/x509/privkey_pkcs8.c: Revert "Do not crash if password is null - and GNUTLS_PKCS_PLAIN is not specified." This allows decrypting PKCS - #12 structures that are encrypted with a NULL password (which is - different than empty). This reverts commit 7b20e72332e3e5238e8236375a2a82b1387e2e06. - -2012-08-02 Nikos Mavrogiannopoulos - - * NEWS: documented update - -2012-07-26 Petr Písař - - * src/certtool.c: Respect certtool --hash when signing request and - CRL The certtool hard-codes the digest algorithm despite '--hash' option - exists. This patch allows user to choose the algorithm when signing - certificate request or certificate revocation list. Signed-off-by: Nikos Mavrogiannopoulos - -2012-07-21 Nikos Mavrogiannopoulos - - * tests/openpgp-auth.c, tests/openpgp-auth2.c: use stack for file - paths - -2012-07-21 Nikos Mavrogiannopoulos - - * doc/scripts/mytexi2latex: handle noindent - -2012-07-19 Nikos Mavrogiannopoulos - - * configure.ac: Check for /etc/ssl/cert.pem in OpenBSD. Reported by - David Woodhouse and Mike Miller. - -2012-07-19 Nikos Mavrogiannopoulos - - * tests/openpgp-auth.c, tests/openpgp-auth2.c: Avoid the usage of - alloca(). Reported by Rob McMahon. - -2012-07-19 Nikos Mavrogiannopoulos - - * lib/nettle/cipher.c: Avoid returning from void function. Patch by - Rob McMahon. - -2012-07-13 Nikos Mavrogiannopoulos - - * lib/x509/verify-high.c: When verifying a certificate chain make - sure it is chain. If the chain is interrupted (wrong) at some point then truncate, - only try to verify the correct part. Patch by David Woodhouse. - -2012-07-13 Nikos Mavrogiannopoulos - - * src/certtool-common.c: added support for legacy sec-param. - -2012-07-02 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos * NEWS, configure.ac, m4/hooks.m4: bumped version -2012-07-02 Nikos Mavrogiannopoulos - - * lib/gnutls_ui.c: removed warning for bits==512 - -2012-07-02 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-07-02 Nikos Mavrogiannopoulos - - * lib/x509/privkey.c: Handle EC DER keys. - -2012-06-30 Nikos Mavrogiannopoulos - - * doc/Makefile.am: Added missing functions - -2012-06-30 Nikos Mavrogiannopoulos - - * NEWS: documented update - -2012-06-30 David Woodhouse - - * lib/gnutls_record.c: Return GNUTLS_E_LARGE_PACKET instead of - truncating when sending DTLS record Signed-off-by: Nikos Mavrogiannopoulos - -2012-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: fix - -2012-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: no need to check for DTLS - -2012-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: no need for _gnutls prefix. - -2012-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: only block ciphers need 1 byte padding. - -2012-06-29 David Woodhouse - - * lib/gnutls_dtls.c: Fix documentation for gnutls_dtls_set_mtu() It *isn't* the interface MTU, it's the transport MTU. Signed-off-by: Nikos Mavrogiannopoulos - -2012-06-30 Nikos Mavrogiannopoulos - - * NEWS: documented update - -2012-06-30 Nikos Mavrogiannopoulos - - * lib/gnutls_dtls.c: sign fixes - -2012-06-29 David Woodhouse - - * lib/gnutls_dtls.c, lib/includes/gnutls/dtls.h, lib/libgnutls.map: - Add gnutls_dtls_set_data_mtu() Signed-off-by: Nikos Mavrogiannopoulos - -2012-06-30 Nikos Mavrogiannopoulos - - * NEWS, lib/gnutls_dtls.c, lib/gnutls_int.h, lib/gnutls_state.c, - lib/gnutls_state.h: gnutls_dtls_get_data_mtu() is more precise. - Based on patch by David Woodhouse. +2014-06-25 Nikos Mavrogiannopoulos -2012-06-29 Nikos Mavrogiannopoulos + * src/serv-args.def, src/serv.c: gnutls-serv: removed the + --print-cert option; the cert was anyway being printed. - * .gitignore, src/certtool-args.c, src/certtool-args.h, - src/cli-args.c, src/cli-args.h, src/cli-debug-args.c, - src/cli-debug-args.h, src/ocsptool-args.c, src/ocsptool-args.h, - src/p11tool-args.c, src/p11tool-args.h, src/psk-args.c, - src/psk-args.h, src/serv-args.c, src/serv-args.h, - src/srptool-args.c, src/srptool-args.h: Added autogen generated - files. - -2012-06-29 Nikos Mavrogiannopoulos - - * lib/gnutls_buffers.c: cleaned up errno handling. - -2012-06-28 Nikos Mavrogiannopoulos - - * NEWS, doc/cha-gtls-app.texi, lib/gnutls_buffers.c, - lib/gnutls_errors.c, lib/gnutls_record.c, lib/system.c: Return - GNUTLS_E_LARGE_PACKET when errno is EMSGSIZE - -2012-06-25 Nikos Mavrogiannopoulos - - * src/certtool-args.def: do not require load-privkey for to-p12 - -2012-06-21 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-06-21 Nikos Mavrogiannopoulos - - * lib/pkcs11.c, lib/pkcs11_privkey.c: Use the label when looking for - a certificate or private key in PKCS #11. Patch by David Woodhouse. Conflicts: lib/pkcs11.c - -2012-06-20 Nikos Mavrogiannopoulos - - * NEWS: removed crap - -2012-06-07 Nikos Mavrogiannopoulos - - * NEWS, doc/Makefile.am, lib/algorithms.h, - lib/algorithms/ciphersuites.c, lib/algorithms/protocols.c, - lib/gnutls_constate.c, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_kx.c, lib/gnutls_session_pack.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added support - for an old version of the DTLS protocol used by openconnect vpn - client for compatibility with Cisco's AnyConnect SSL VPN. It is - marked as GNUTLS_DTLS0_9. Do not use it for newer protocols as it - has issues. Conflicts: NEWS lib/libgnutls.map - -2012-06-15 Diego Elio Pettenò - - * src/Makefile.am: build: make sure to declare the generated source - files as BUILT_SOURCES This allows proper building when using parallel make on a multi-core - system. Signed-off-by: Diego Elio Pettenò - Signed-off-by: Nikos Mavrogiannopoulos - -2012-06-19 Nikos Mavrogiannopoulos - - * tests/dtls/dtls-stress.c: correct comparison of sent data in - dtls-stress. - -2012-06-09 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-06-09 Nikos Mavrogiannopoulos - - * lib/x509/privkey_pkcs8.c: Fixed leaks in PKCS #8 decoding - -2012-06-08 Nikos Mavrogiannopoulos - - * doc/examples/ex-cert-select-pkcs11.c: documented pin_callback - expectations. - -2012-06-07 Nikos Mavrogiannopoulos - - * src/common.c: Print the fingerprint only in the first certificate - in the chain. - -2012-06-06 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi: corrected function name - -2012-06-06 Mark Brand - - * lib/gnutls_x509.c: add missing include wincrypt.h Signed-off-by: Nikos Mavrogiannopoulos - -2012-06-05 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi: mention retrieve_function2 - -2012-06-05 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/gnutls.h.in: corrected invalid char - -2012-06-05 Nikos Mavrogiannopoulos - - * doc/cha-upgrade.texi, doc/latex/Makefile.am: updates in latex - build - -2012-06-05 Nikos Mavrogiannopoulos - - * doc/latex/gnutls.tex: no need for eurosans - -2012-06-05 Nikos Mavrogiannopoulos - - * doc/cha-cert-auth.texi: do not use @euro{} - -2012-06-05 Nikos Mavrogiannopoulos - - * build-aux/ar-lib, build-aux/config.rpath, - build-aux/snippet/_Noreturn.h, gl/Makefile.am, gl/errno.in.h, - gl/fseeko.c, gl/fstat.c, gl/ftello.c, gl/lseek.c, gl/m4/dup2.m4, - gl/m4/errno_h.m4, gl/m4/fseeko.m4, gl/m4/fstat.m4, gl/m4/ftello.m4, - gl/m4/ftruncate.m4, gl/m4/getcwd.m4, gl/m4/getdelim.m4, - gl/m4/getline.m4, gl/m4/gettimeofday.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/largefile.m4, gl/m4/lseek.m4, - gl/m4/lstat.m4, gl/m4/malloc.m4, gl/m4/manywarnings.m4, - gl/m4/memmem.m4, gl/m4/mmap-anon.m4, gl/m4/off_t.m4, - gl/m4/putenv.m4, gl/m4/realloc.m4, gl/m4/setenv.m4, - gl/m4/signbit.m4, gl/m4/sleep.m4, gl/m4/stat.m4, gl/m4/strerror.m4, - gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_types_h.m4, - gl/m4/ungetc.m4, gl/m4/unistd_h.m4, gl/m4/warnings.m4, gl/select.c, - gl/stdint.in.h, gl/stdio.in.h, gl/strerror-override.c, - gl/strerror-override.h, gl/sys_stat.in.h, gl/sys_types.in.h, - gl/tests/binary-io.h, gl/tests/fcntl.in.h, gl/tests/ftruncate.c, - gl/tests/ignore-value.h, gl/tests/init.sh, gl/tests/stat.c, - gl/tests/test-binary-io.c, gl/tests/test-binary-io.sh, - gl/tests/test-errno.c, gl/u64.h, gl/unistd.in.h, ltmain.sh, - maint.mk: updated gnulib - -2012-06-05 Nikos Mavrogiannopoulos - - * .gitignore: move files to ignore - -2012-06-05 Nikos Mavrogiannopoulos - - * tests/Makefile.am, tests/cert-tests/Makefile.am, - tests/cert-tests/ca-certs.pem, tests/certs/ca-certs.pem: moved - ca-certs. - -2012-06-05 Nikos Mavrogiannopoulos - - * : updated - -2012-06-05 Nikos Mavrogiannopoulos - - * NEWS, m4/hooks.m4: bumped version - -2012-06-05 Nikos Mavrogiannopoulos - - * NEWS: doc fix - -2012-06-05 Nikos Mavrogiannopoulos - - * doc/cha-cert-auth2.texi: removed text about function that doesn't - exist in this release. - -2012-06-04 Nikos Mavrogiannopoulos - - * src/certtool-cfg.c: print warning to stderr - -2012-06-04 Nikos Mavrogiannopoulos - - * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi: doc updates - -2012-06-03 Nikos Mavrogiannopoulos - - * lib/openpgp/pgpverify.c: fixes in openpgp certificate - verification. - -2012-06-03 Nikos Mavrogiannopoulos - - * lib/libgnutls.map: Removed duplicate entries and added an explicit - local. - -2012-06-03 Nikos Mavrogiannopoulos - - * lib/pkcs11.c: better function naming. - -2012-06-02 Nikos Mavrogiannopoulos - - * NEWS: updated - -2012-06-02 Nikos Mavrogiannopoulos - - * lib/x509/x509.c: doc updates - -2012-05-31 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/gnutls.h.in: corrected text - -2012-05-31 Nikos Mavrogiannopoulos - - * lib/x509/verify.c: corrected typo - -2012-05-31 Nikos Mavrogiannopoulos - - * lib/gnutls_ui.c: typo fix - -2012-05-31 Nikos Mavrogiannopoulos - - * lib/x509/privkey.c: documented behavior. - -2012-05-31 Nikos Mavrogiannopoulos - - * lib/x509/privkey_pkcs8.c: Do not crash if password is null and - GNUTLS_PKCS_PLAIN is not specified. - -2012-05-29 Nikos Mavrogiannopoulos - - * .gitignore, lib/gnutls_buffers.c, tests/Makefile.am, - tests/certs/ca-certs.pem, tests/mini-x509-cas.c: Corrected handling - of handshake packets that span multiple records. - -2012-05-28 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi: documentation update - -2012-05-27 Nikos Mavrogiannopoulos - - * : added missing file - -2012-05-27 Nikos Mavrogiannopoulos - - * configure.ac, cross.mk, m4/hooks.m4: bumped version - -2012-05-27 Nikos Mavrogiannopoulos - - * lib/gnutls_session_pack.c: corrected data copy - -2012-05-27 Nikos Mavrogiannopoulos - - * NEWS: documented fix - -2012-05-27 Nikos Mavrogiannopoulos - - * src/certtool-cfg.c: MAX_ENTRIES increased to 128. - -2012-05-27 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi: Updated documentation on DTLS. - -2012-05-26 Nikos Mavrogiannopoulos - - * doc/cha-gtls-examples.texi: updated documentation. - -2012-05-26 Nikos Mavrogiannopoulos +2014-06-18 Nikos Mavrogiannopoulos - * doc/Makefile.am: no need to distribute gnutls.ps + * doc/TODO: doc update -2012-05-26 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/gnutls_x509.c: Use windows trusted - certificate store. + * src/p11tool-args.def: corrected typo -2012-05-25 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * configure.ac, lib/gnutls_x509.c: Added the notion of a default CRL - file. - -2012-05-25 Nikos Mavrogiannopoulos - - * doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-shared-key.texi, doc/examples/ex-client-x509.c, - doc/manpages/Makefile.am: documentation updates - -2012-05-24 Nikos Mavrogiannopoulos - - * lib/gnutls_cert.c: updated doc + * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/element.h, + lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, + lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, + lib/minitasn1/structure.c: minitasn1: updated to version 4.0 -2012-05-24 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * src/common.h: no need for netinet/ip.h + * src/p11tool-args.def: p11tool: updated documentation -2012-05-23 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * src/cli.c: no need for default_ca_file + * src/pkcs11.c: p11tool: Warn when no --outfile has been specified + on key generation -2012-05-23 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * lib/x509/verify.c: When checking for an issuer check for a match - in the key identifiers. + * NEWS: doc update -2012-05-19 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: Added text for gnutls_dh_set_prime_bits and - gnutls_srp_set_prime_bits + * tests/pkcs12-decode/pkcs12: tests: Added new tests on PKCS #12 + structure generation and decoding. -2012-05-19 Nikos Mavrogiannopoulos +2014-06-26 Nikos Mavrogiannopoulos - * lib/gnutls_ui.c: Document the effect of lowering the DH bits. + * src/certtool-args.def, src/certtool-common.c, + src/certtool-common.h, src/certtool.c: certtool: allow specifying + the friendly name on the command line and use the + load-ca-certificate -2012-05-16 Nikos Mavrogiannopoulos +2014-06-25 Nikos Mavrogiannopoulos - * doc/examples/ex-client-x509.c, doc/examples/ex-serv-x509.c, - lib/gnutls_x509.c: Be more conservative with examples. - gnutls_certificate_set_x509_system_trust() returns - GNUTLS_E_UNIMPLEMENTED_FEATURE on systems that do not have a (known) - default trust store. + * src/pkcs11.c: p11tool: warn in more operations if --login is not + specified -2012-05-16 Nikos Mavrogiannopoulos +2014-06-25 Nikos Mavrogiannopoulos - * doc/examples/ex-client-dtls.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c: Revert - "updated examples" This reverts commit 559614fc7a288bf6eaf36ebe696e07b150c96be5. + * src/pkcs11.c: p11tool: No longer assume a default URL for + operations. -2012-05-14 Nikos Mavrogiannopoulos +2014-06-25 Nikos Mavrogiannopoulos - * src/cli.c, src/common.c: Print certificate if --print-cert is - given, even on verification failure. + * src/common.c: p11tool: Do not allow a newline as PIN. -2012-05-14 Nikos Mavrogiannopoulos +2014-06-25 Nikos Mavrogiannopoulos - * src/certtool-args.def: documented uri option + * lib/pkcs11.c: pkcs11: avoid callig _gnutls_bin2hex() when length + is zero. -2012-05-14 Nikos Mavrogiannopoulos +2014-06-18 Nikos Mavrogiannopoulos - * configure.ac: Revert "This patch fixes following kind of issue - with automake 1.12" It was suggested that this need not to be solved - by gnutls. This reverts commit ace8a662ff90679c575658e787f48577e2fd5940. + * THANKS: updated thanks file -2012-05-11 Nikos Mavrogiannopoulos +2014-06-18 Nikos Mavrogiannopoulos - * NEWS, src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c, - tests/cert-tests/template-test.pem: Added support for the URI type - of subject alternative name in certtool. + * README: clarified license text -2012-05-10 Nikos Mavrogiannopoulos +2014-06-17 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, - doc/cha-intro-tls.texi: updated examples and documentation. + * src/cli.c: gnutls-cli: Do not try to load the system CA trust if + --insecure is specified. -2012-05-10 Nikos Mavrogiannopoulos +2014-06-17 Nikos Mavrogiannopoulos - * doc/examples/ex-client-dtls.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c: updated - examples + * lib/gnutls_srp.c: doc: more consistent use of pointer star. -2012-05-10 Nikos Mavrogiannopoulos +2014-06-16 Attila Molnar - * NEWS, lib/gnutls_x509.c, lib/libgnutls.map: fixes in patch. + * lib/gnutls_srp.c: doc: Explain post-callback deallocation behavior + for the SRP server callback Signed-off-by: Attila Molnar -2012-05-08 Ludwig Nussel +2014-06-16 Attila Molnar - * configure.ac, doc/Makefile.am, doc/manpages/Makefile.am, - lib/gnutls_x509.c, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map, src/cli.c: introduce - gnutls_certificate_set_x509_system_trust gnutls_certificate_set_x509_system_trust() imports the trusted root - CA's from a compile time defined location. That way applications - don't need to know. Signed-off-by: Nikos Mavrogiannopoulos + * doc/examples/ex-serv-srp.c, doc/examples/ex-serv-x509.c: doc: + Correct comment about ignoring certs in the SRP server example Point readers to another example for a way to validate certificates + in both the SRP and the X.509 server example Signed-off-by: Attila Molnar -2012-05-09 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * doc/Makefile.am: added new functions + * NEWS, lib/gnutls_buffers.c, lib/gnutls_buffers.h, + lib/gnutls_record.c, lib/gnutls_record.h, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + src/benchmark-tls.c, tests/anonself.c: gnutls_packet_get() was + introduced to avoid exporting a structure on the API. That change will allow exporting more info associated with a packet + in the future. -2012-05-09 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * README-alpha, src/libopts/Makefile.am, src/libopts/ag-char-map.h, - src/libopts/ao-strs.c, src/libopts/ao-strs.h, - src/libopts/autoopts.c, src/libopts/autoopts.h, - src/libopts/autoopts/options.h, src/libopts/autoopts/project.h, - src/libopts/autoopts/usage-txt.h, src/libopts/boolean.c, - src/libopts/check.c, src/libopts/compat/compat.h, - src/libopts/compat/pathfind.c, src/libopts/configfile.c, - src/libopts/cook.c, src/libopts/enum.c, src/libopts/env.c, - src/libopts/find.c, src/libopts/genshell.c, src/libopts/genshell.h, - src/libopts/libopts.c, src/libopts/load.c, - src/libopts/m4/libopts.m4, src/libopts/makeshell.c, - src/libopts/nested.c, src/libopts/parse-duration.c, - src/libopts/pgusage.c, src/libopts/proto.h, src/libopts/putshell.c, - src/libopts/reset.c, src/libopts/save.c, src/libopts/stack.c, - src/libopts/streqvcmp.c, src/libopts/tokenize.c, - src/libopts/usage.c, src/libopts/value-type.h, - src/libopts/xat-attribute.h: updated libopts + * lib/gnutls_handshake.c: treat the _gnutls_user_hello_func() output + the same on resumed sessions. -2012-05-09 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * NEWS, doc/cha-cert-auth2.texi, lib/abstract_int.h, - lib/algorithms.h, lib/algorithms/sign.c, lib/ext/signature.c, - lib/gnutls_pubkey.c, lib/gnutls_sig.c, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_int.h, tests/x509sign-verify.c: Added - gnutls_pubkey_verify_hash2() and gnutls_pk_to_sign(). + * NEWS: doc update -2012-05-09 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * configure.ac: This patch fixes following kind of issue with - automake 1.12 | automake: warnings are treated as errors | - /.../automake-1.12/am/ltlibrary.am: warning: 'libgnutls.la': linking - libtool libraries using a non-POSIX | - /.../automake-1.12/am/ltlibrary.am: archiver requires 'AM_PROG_AR' - in 'configure.ac' Patch by: Nitin A Kamble + * tests/suite/pkcs11-chainverify.c: Test the return code of + gnutls_x509_trust_list_add_trust_file() when loading a PKCS #11 + token. Check whether the return code of + gnutls_x509_trust_list_add_trust_file() is non-zero when + certificates are present. -2012-05-08 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: Corrected allocation check + * lib/x509/verify-high2.c: gnutls_x509_trust_list_add_trust_file(): + returns the number of certificates present when loading a PKCS #11 + URL. -2012-04-25 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * src/libopts/autoopts/options.h: removed redundant declaration. + * src/p11tool-args.def, src/p11tool.c, src/p11tool.h, src/pkcs11.c: + p11tool: Allow marking a certificate as a CA. -2012-04-25 Nikos Mavrogiannopoulos +2014-06-16 Nikos Mavrogiannopoulos - * devel/perlasm/cpuid-x86_64.pl, - lib/accelerated/x86/coff/cpuid-x86-64-coff.s: Corrected win64 - cpuid() code. Report and patch by Mann Ern Kang. + * lib/includes/gnutls/pkcs11.h, lib/pkcs11_write.c: Added flag + GNUTLS_PKCS11_OBJ_FLAG_MARK_CA. That flag allows to mark a certificate in the token as a CA + (category==CA) -2012-04-25 Nikos Mavrogiannopoulos +2014-06-15 Nikos Mavrogiannopoulos - * lib/gnutls_mpi.c: corrected bug in scan_nz() + * doc/README.CODING_STYLE: coding style: update the DCO text -2012-04-22 Nikos Mavrogiannopoulos +2014-06-15 Attila Molnar - * NEWS, build-aux/config.rpath, configure.ac, m4/hooks.m4: - documented updates and bumped version. + * lib/gnutls_state.c: doc: Corrections for + gnutls_handshake_set_hook_function() -2012-04-19 Nikos Mavrogiannopoulos +2014-06-09 Nikos Mavrogiannopoulos - * lib/gnutls_dh.c, lib/gnutls_dh.h: corrected typo + * doc/cha-intro-tls.texi: doc: updated text for the ALPN + experimental protocols -2012-04-19 Nikos Mavrogiannopoulos +2014-06-09 Nikos Mavrogiannopoulos - * lib/auth/dh_common.c, lib/gnutls_dh.c, lib/gnutls_dh.h: Return - proper error code if parameter check fails. + * doc/cha-intro-tls.texi: doc: Avoid listing the extensions as they + are duplicated in the section index. -2012-04-19 Nikos Mavrogiannopoulos +2014-06-09 Nikos Mavrogiannopoulos - * lib/auth/srp.c: Added complete check in SRP parameters. + * NEWS: doc update -2012-04-18 Nikos Mavrogiannopoulos +2014-06-09 Nikos Mavrogiannopoulos - * lib/gnutls_dh.c: Added better sanity checks in Diffie-Hellman key - exchange. + * tests/Makefile.am, tests/eagain-common.h, + tests/mini-x509-callbacks-intr.c: tests: Added check for the + interrupted post client hello. -2012-04-17 Nikos Mavrogiannopoulos +2014-06-09 Nikos Mavrogiannopoulos - * configure.ac: Added option to unconditionally disable crywrap. - Patch by Daniel Mierswa. + * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_state.c, + lib/gnutls_v2_compat.c: handshake: Allow the post client hello + callback to put the handshake on hold That is, when the callback returns GNUTLS_E_AGAIN or + GNUTLS_E_INTERRUPTED the handshake will return GNUTLS_E_INTERRUPTED, + and can be resumed when needed. -2012-04-17 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * lib/verify-tofu.c: Use openpgp if enabled. + * src/benchmark-tls.c: use the new API for receiving data -2012-04-16 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * NEWS, lib/pkcs11.c: If a callback fails try the other. + * tests/anonself.c: Adapted test to check + gnutls_record_recv_packet(). -2012-04-16 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * NEWS, lib/pkcs11.c: by default register a file callback in p11-kit - to read a file from the pin-source pkcs11url field. + * NEWS: doc update -2012-04-14 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * po/cs.po.in, po/de.po.in, po/fi.po.in, po/it.po.in, po/nl.po.in, - po/pl.po.in, po/sv.po.in, po/uk.po.in, po/vi.po.in: Sync with TP. + * lib/ext/heartbeat.c, lib/gnutls_buffers.c, lib/gnutls_buffers.h, + lib/gnutls_handshake.c, lib/gnutls_record.c, lib/gnutls_record.h, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added + gnutls_record_recv_packet() and gnutls_packet_deinit() These functions allow for a faster variant of gnutls_record_recv(), + i.e., a variant that eliminates the data memcpy(). -2012-04-14 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * src/Makefile.am, src/cli.c, src/srptool.c: No need to include - gettext.h. Link against libintl when needed. + * src/tests.c: gnutls-cli-debug: Use proper HTTP request -2012-04-13 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * NEWS: no abi change in 3.0.19 + * NEWS: doc update -2012-04-13 Nikos Mavrogiannopoulos +2014-06-06 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_buffers.c, lib/gnutls_buffers.h, - lib/gnutls_handshake.c, lib/includes/gnutls/gnutls.h.in: - gnutls_record_check_unprocessed is now inline function. + * lib/x509/common.c: When decoding of a DN string fails, treat it as + unknown string and print its hex value. -2012-04-13 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c: Update random state on all cases. + * tests/suite/testpkcs11: Print errors but avoid being verbose on + stderr -2012-04-12 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * gl/tests/ioctl.c: updated gnulib + * src/certtool-common.c: certtool: avoid sizeof() on lbuffer -2012-04-11 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * tests/suite/testcompat-main: Added TLS 1.2 interop tests. + * src/certtool-common.c: certtool: ensure that allocated buffer has + a minimum size of 64kb. -2012-04-11 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_pubkey.c, lib/gnutls_state.c: Relax strict - DSA/ECDSA checks to allow broader interoperability. Stronger hash - algorithms are now allowed even if DSA might only allow SHA1. + * src/certtool-args.def, src/certtool.c: certtool: Added option + --stdout-info -2012-04-11 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * lib/gnutls_dh.c: Add sanity checks in Diffie-Hellman key exchange - values. + * lib/x509/x509.c: initialize iterator. -2012-04-09 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * lib/nettle/mpi.c: corrected DH generation check. + * lib/x509/crl.c: corrected the allocation size for CRL iterator. -2012-04-09 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * doc/Makefile.am: updated + * tests/suite/Makefile.am, tests/suite/crl-test, + tests/suite/crl/long.pem: Added test for CRL decoding. -2012-04-09 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_buffers.c, lib/gnutls_handshake.c, - lib/includes/gnutls/gnutls.h.in: gnutls_record_check_pending - functionality was divided to gnutls_record_check_pending and - gnutls_record_check_unprocessed. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/crl.c, lib/x509/output.c, lib/x509/x509.c, + lib/x509/x509_int.h: Made gnutls_x509_crl_iter_crt_serial() + thread-safe by making the iterator explicit. -2012-04-09 Nikos Mavrogiannopoulos +2014-06-05 Nikos Mavrogiannopoulos - * lib/gnutls_int.h: doc updates + * tests/cert-tests/Makefile.am, tests/cert-tests/aki, + tests/cert-tests/pathlen, tests/cert-tests/pem-decoding, + tests/suite/Makefile.am, tests/suite/invalid-cert, + tests/suite/testcompat-main, tests/suite/testrandom: Pass the + LIBTOOL variable into test scripts That allows using the detected libtool in scripts. That corrects an + issue on OS X systems that ship a different libtool. Reported by + Daniel E. Macks. -2012-04-08 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * lib/nettle/mpi.c: refuse to generate small group sizes. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/crl.c, lib/x509/output.c, lib/x509/x509.c: renamed + gnutls_x509_crl_get_crt_serial2 to gnutls_x509_crl_iter_crt_serial. -2012-04-08 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * configure.ac: do not check for fchmod + * lib/accelerated/x86/x86-common.h: define NN_HASH unconditionally -2012-04-06 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi: updated - documentation for dtls. + * NEWS: doc update -2012-04-06 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * src/certtool-args.def: updated documentation + * lib/includes/gnutls/x509.h, lib/libgnutls.map, lib/x509/crl.c, + lib/x509/output.c, lib/x509/x509.c, lib/x509/x509_int.h: Added + gnutls_x509_crl_get_crt_serial2(), a faster variant of + gnutls_x509_crl_get_crt_serial(). The new function caches pointers to allow working faster in CRL + structures with lots of entries (e.g., 50000+ entries). -2012-04-06 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c: Revert "avoid killing child" This reverts commit 4965c2fbfd3405e2dfe7f7d747d03185d155c2a1. + * src/certtool-common.c, src/certtool-common.h, src/certtool.c, + src/danetool.c: certtool: When an external file is used increase out + maximum buffer accordingly. -2012-04-06 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * NEWS: documented fixes + * lib/x509/output.c: Abort printing on error. -2012-04-06 Nikos Mavrogiannopoulos +2014-06-04 Nikos Mavrogiannopoulos - * src/certtool.c: do not print Key ID in a pkcs12 structure if it is - null. + * lib/gnutls_ui.c: tie the weak DH warning to the very weak security + parameter. -2012-04-05 Nikos Mavrogiannopoulos +2014-06-03 Nikos Mavrogiannopoulos - * src/common.c: raw_to_string no longer returns NULL. + * m4/hooks.m4: m4/hooks.m4: use enableval rather than fixed values. That should resolve issue #108592 at + http://savannah.gnu.org/support/?108592 -2012-04-05 Nikos Mavrogiannopoulos +2014-06-02 Nikos Mavrogiannopoulos - * tests/pkcs12-decode/pkcs12: improved test and added debugging + * lib/gnutls_v2_compat.c: handshake: Prevent memory leak on invalid + SSLv2 hello length. -2012-04-05 Nikos Mavrogiannopoulos +2014-05-31 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: corrected comparison + * NEWS, configure.ac, m4/hooks.m4: bumped version -2012-04-05 Nikos Mavrogiannopoulos +2014-05-30 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/dirent.in.h, gl/m4/math_h.m4, - gl/m4/stdio_h.m4, gl/m4/warn-on-use.m4, gl/m4/warnings.m4, - gl/math.in.h, gl/stdio.in.h, gl/stdlib.in.h, gl/string.in.h, - gl/tests/strerror_r.c, gl/tests/test-float.c, gl/tests/test-math.c, - gl/wchar.in.h, maint.mk: updated gnulib + * NEWS: doc update -2012-04-05 Nikos Mavrogiannopoulos +2014-05-30 Nikos Mavrogiannopoulos - * doc/cha-upgrade.texi: Added more deprecated functions + * .gitignore: more files to ignore -2012-04-05 Nikos Mavrogiannopoulos +2014-05-30 Nikos Mavrogiannopoulos + + * devel/openssl, lib/accelerated/x86/coff/aes-ssse3-x86.s, + lib/accelerated/x86/coff/aes-ssse3-x86_64.s, + lib/accelerated/x86/coff/aesni-x86.s, + lib/accelerated/x86/coff/aesni-x86_64.s, + lib/accelerated/x86/coff/e_padlock-x86.s, + lib/accelerated/x86/coff/e_padlock-x86_64.s, + lib/accelerated/x86/coff/ghash-x86_64.s, + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s, + lib/accelerated/x86/coff/sha256-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s, + lib/accelerated/x86/elf/aes-ssse3-x86.s, + lib/accelerated/x86/elf/aes-ssse3-x86_64.s, + lib/accelerated/x86/elf/aesni-x86.s, + lib/accelerated/x86/elf/aesni-x86_64.s, + lib/accelerated/x86/elf/e_padlock-x86.s, + lib/accelerated/x86/elf/e_padlock-x86_64.s, + lib/accelerated/x86/elf/ghash-x86_64.s, + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s, + lib/accelerated/x86/elf/sha256-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aes-ssse3-x86.s, + lib/accelerated/x86/macosx/aes-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aesni-x86.s, + lib/accelerated/x86/macosx/aesni-x86_64.s, + lib/accelerated/x86/macosx/e_padlock-x86.s, + lib/accelerated/x86/macosx/e_padlock-x86_64.s, + lib/accelerated/x86/macosx/ghash-x86_64.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s, + lib/accelerated/x86/macosx/sha256-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s: Updated asm + sources + +2014-05-29 Nikos Mavrogiannopoulos - * gl/override/tests/test-float.c.diff: avoid the floating point - test. + * NEWS: doc update -2012-04-04 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * tests/mini-dtls-rehandshake.c, tests/mini-loss-time.c, - tests/mini-record.c, tests/mini-termination.c, - tests/openpgp-auth.c, tests/openpgp-auth2.c: use AF_UNIX for - socketpair. + * cross.mk: updated windows makefile -2012-04-02 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * cross.mk: updated + * doc/Makefile.am, doc/manpages/Makefile.am, symbols.last: update + files for gnutls_credentials_get() -2012-04-02 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * configure.ac: make dist will also make lzip compressed tarball + * configure.ac, m4/hooks.m4: bumped version -2012-04-02 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * lib/accelerated/x86/hmac-padlock.c, lib/algorithms.h, - lib/algorithms/kx.c, lib/algorithms/mac.c, lib/crypto-api.c, - lib/gnutls_cipher_int.c, lib/gnutls_constate.c, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_pk.c, - lib/gnutls_pubkey.c, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/includes/gnutls/crypto.h, lib/opencdk/armor.c, - lib/opencdk/misc.c, lib/opencdk/new-packet.c, lib/x509/ocsp.c, - lib/x509/verify.c, lib/x509/x509.c, lib/x509/x509_int.h: several - type changes to please clang + * tests/Makefile.am, tests/long-session-id.c: Added test for memory + corruption issue in server hello. Related to the 688ea6428a432c39203d00acd1af0e7684e5ddfd commit. -2012-04-02 Nikos Mavrogiannopoulos +2014-05-25 Nikos Mavrogiannopoulos - * NEWS: set release date + * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/gstr.h, + lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, + lib/minitasn1/parser_aux.h: updated libtasn1 -2012-04-01 Nikos Mavrogiannopoulos +2014-05-25 Nikos Mavrogiannopoulos - * NEWS, lib/minitasn1/decoding.c: updated libtasn1 + * lib/x509/common.c: avoid cleanup when there are no allocations in + _gnutls_x509_der_encode(). -2012-04-01 Nikos Mavrogiannopoulos +2014-05-25 Nikos Mavrogiannopoulos - * doc/Makefile.am: removed old function. + * lib/gnutls_ecc.c: cleanup resources on + _gnutls_ecc_ansi_x963_export() failure. -2012-04-01 Nikos Mavrogiannopoulos +2014-05-25 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: bumped versions + * src/serv-args.def, src/serv.c: Added the --print-cert option to + gnutls-serv. -2012-04-01 Nikos Mavrogiannopoulos +2014-05-24 Nikos Mavrogiannopoulos - * lib/includes/gnutls/gnutls.h.in: removed function that didn't - exist + * src/certtool-extras.c: certtool: correct size calculation when + loading privkey -2012-03-31 Nikos Mavrogiannopoulos +2014-05-24 Nikos Mavrogiannopoulos - * tests/mini-termination.c: initialize value + * lib/opencdk/armor.c: re-indented messy table. -2012-03-31 Nikos Mavrogiannopoulos +2014-05-24 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c: avoid killing child + * lib/opencdk/armor.c: Removed unused function. -2012-03-31 Nikos Mavrogiannopoulos +2014-05-24 Nikos Mavrogiannopoulos - * tests/mini-dtls-rehandshake.c: avoid closing fd[1] on server. For - some reason it makes connection fail. + * m4/hooks.m4: document the symbol version bump needed in a .so + version bump. -2012-03-31 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * doc/Makefile.am: Add FUNCS to distribution + * lib/gnutls_handshake.c: Prevent memory corruption due to server + hello parsing. Issue discovered by Joonas Kuorilehto of Codenomicon. -2012-03-31 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * .gitignore, NEWS, lib/gnutls_record.c, tests/Makefile.am, - tests/mini-dtls-rehandshake.c, tests/mini-record.c, - tests/mini-termination.c: Make sure that - GNUTLS_E_PREMATURE_TERMINATION is returned if there is premature - termination. + * lib/gnutls_handshake.c: only try to copy session ID if there is a + session ID. -2012-03-31 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * tests/dtls/dtls-stress.c: do not build test with timers when posix - timers are not present. + * NEWS: doc update -2012-03-24 Nikos Mavrogiannopoulos +2014-05-29 Kurt Roeckx - * lib/opencdk/keydb.c, lib/opencdk/literal.c: corrected types + * lib/x509/x509_ext.c: Fix capitalisation of ia5String Signed-off-by: Nikos Mavrogiannopoulos -2012-03-24 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * lib/x509/ocsp.c: use correct type in snprintf. + * lib/pkcs11.c: increased the maximum certificate size buffer in the + PKCS #11 subsystem. -2012-03-24 Nikos Mavrogiannopoulos +2014-05-29 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: added prototypes for inline - functions (some gcc versions couldn't compile without) + * lib/system.c: re-enabled config path discovery code, and check the + return code of getpwuid_r(). Reported by Viktor Dukhovni. -2012-03-24 Nikos Mavrogiannopoulos +2014-05-27 Nikos Mavrogiannopoulos - * lib/auth/cert.c, lib/gnutls_auth.h, lib/gnutls_handshake.c, - lib/gnutls_int.h, lib/gnutls_kx.c, lib/gnutls_kx.h, - lib/gnutls_sig.c, lib/gnutls_sig.h, lib/gnutls_ui.c: even more - cleanups + * NEWS: doc update -2012-03-24 Nikos Mavrogiannopoulos +2014-05-27 Nikos Mavrogiannopoulos - * lib/auth/cert.c, lib/auth/cert.h, lib/auth/dhe.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_rsa.c: more cleanups + * src/benchmark-cipher.c, src/benchmark.h, src/cli-args.def, + src/cli.c: gnutls-cli's benchmark-soft-ciphers is no more. It could not be emulated with the new library. -2012-03-24 Nikos Mavrogiannopoulos +2014-05-27 Nikos Mavrogiannopoulos - * cross.mk: updated + * lib/accelerated/accelerated.c: removed old check for nettle -2012-03-24 Nikos Mavrogiannopoulos +2014-05-27 Nikos Mavrogiannopoulos - * tests/ocsp.c, tests/openpgp-auth2.c, tests/resume-dtls.c: Fixes - for win32 and time. OCSP test now sets a fixed time to avoid - expiration errors. + * lib/safe-memset.c: safe_memset: allow memset of zero bytes. -2012-03-24 Nikos Mavrogiannopoulos +2014-05-27 Hani Benhabiles - * lib/auth/cert.c, lib/auth/cert.h, lib/auth/dhe.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_rsa.c: simplified internal - function names. + * lib/x509/verify-high.c: Fix unused variable warning without + PKCS#11 support. Signed-off-by: Hani Benhabiles -2012-03-22 Nikos Mavrogiannopoulos +2014-05-26 Nikos Mavrogiannopoulos - * m4/hooks.m4: improvements in long long usage + * src/ocsptool-common.c: ocsptool: Include path in ocsp request. This resolves #108582 (https://savannah.gnu.org/support/?108582), + reported by Matt McCutchen. -2012-03-22 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: corrected probing of cryptodev - digests. + * lib/algorithms/protocols.c, lib/gnutls_handshake.c: + _gnutls_version_get() returns GNUTLS_VERSION_UNKNOWN on error + instead of negative. -2012-03-22 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * NEWS, lib/accelerated/x86/aes-x86.h, m4/hooks.m4: Do not assume - sizeof(unsigned long)==sizeof(void*). Based on patch by B. Scott - Michel. + * src/certtool-cfg.c: Allow wildcard comparison of options. -2012-03-22 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * src/libopts/genshell.h: include libintl. Patch by B. Scott Michel + * NEWS: doc update -2012-03-22 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * src/libopts/Makefile.am, src/libopts/genshell.h: Revert "use - header files from gl/ and include gettext.h" This reverts commit 6b3d7b6e31ddab337e185922910262d68f1fc6fa. + * NEWS: doc update -2012-03-22 Nikos Mavrogiannopoulos +2014-05-23 Nikos Mavrogiannopoulos - * src/libopts/Makefile.am, src/libopts/genshell.h: use header files - from gl/ and include gettext.h + * src/certtool-cfg.c: certtool: Warn when invalid configuration + options are set into a template. -2012-03-22 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * doc/examples/ex-cxx.cpp: more warnings to silence. + * lib/x509/common.c: Do not allow null strings to be read from ASN.1 + structures. This corrects a null pointer dereference when parsing some specially + crafted certificates. Issue discovered using the Codenomicon TLS + test suite. -2012-03-22 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * NEWS: updated + * lib/x509/common.c: removed redundant null termination -2012-03-22 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * doc/examples/ex-serv-anon.c: silence warnings. Patch by B. Scott - Michel. + * lib/gnutls_handshake.c, lib/gnutls_handshake.h: removed _gnutls + prefix from static functions. -2012-03-21 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * doc/scripts/getfuncs.pl, lib/includes/gnutls/compat.h: Added - doc-skip to skip certain functions from documentation. + * lib/gnutls_handshake.c: Do not call the user_hello_func multiple + times when performing ticket resumption. -2012-03-21 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: remove brackets. + * doc/TODO: doc update -2012-03-21 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: Cleaned up deprecated types and - added a deprecation warning on them. + * lib/x509/x509.c: gnutls_x509_crt_get_extension_data: will return + zero if data is NULL and memory buffer size is not sufficient. -2012-03-21 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: Provide compatibility inline - functions for gnutls_session_get_server_random() and - gnutls_session_get_client_random(). + * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_priority.c: + When assigning the TLS version, double check that it is valid. -2012-03-20 Nikos Mavrogiannopoulos +2014-05-22 Nikos Mavrogiannopoulos - * NEWS, lib/accelerated/x86/aes-padlock.c: Only call - check_phe_partial() if PHE has been detected. + * lib/algorithms/ciphersuites.c: Prevent a crash by ensuring that + there is a valid negotiated version. Issue discovered by Joonas Kuorilehto of Codenomicon. -2012-03-21 Simon Josefsson +2014-05-20 Nikos Mavrogiannopoulos - * README-alpha: Update bootstrapping instructions. + * src/certtool-cfg.c: Added aliases for unit and organization. -2012-03-21 Simon Josefsson +2014-05-17 Nikos Mavrogiannopoulos - * .gitignore, doc/Makefile.am: Tell automake about all filenames to - fix 'make distcheck'. + * lib/x509/common.c: use a signed value for bits. -2012-03-21 Simon Josefsson +2014-05-20 Nikos Mavrogiannopoulos - * README-alpha: Clarify bootstrapping. + * NEWS: doc update -2012-03-21 Simon Josefsson +2014-05-20 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Generated. + * src/certtool-cfg.c: certtool: allow multiple organizations and + organizational unit names to be specified in a template. -2012-03-21 Simon Josefsson +2014-05-19 Nikos Mavrogiannopoulos - * doc/Makefile.am: Build functions/ files (this should be done by - listing all files instead). + * lib/gnutls_priority.c: increased the number of allowed elements in + a priority string. -2012-03-21 Simon Josefsson +2014-05-19 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/fpucw.h, gl/glthread/threadlib.c, - gl/isnanf-nolibm.h, gl/m4/frexpl.m4, gl/m4/gnulib-comp.m4, - gl/m4/ldexpl.m4, gl/m4/math_h.m4, gl/m4/timer_time.m4, - gl/math.in.h, gl/tests/Makefile.am, gl/tests/glthread/threadlib.c, - gl/tests/macros.h, gl/tests/randomd.c, gl/tests/randoml.c, - gl/tests/test-frexp.c, gl/tests/test-frexp.h, - gl/tests/test-frexpl.c, gl/tests/test-math.c, maint.mk: Update - gnulib files. + * lib/gnutls_priority.c: simplify break_comma_list(). -2012-03-19 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * NEWS, devel/perlasm/e_padlock-x86.pl, - devel/perlasm/e_padlock-x86_64.pl, devel/perlasm/ghash-x86.pl, - lib/accelerated/x86/README, - lib/accelerated/x86/coff/padlock-x86-64-coff.s, - lib/accelerated/x86/coff/padlock-x86-coff.s, - lib/accelerated/x86/elf/padlock-x86-64.s, - lib/accelerated/x86/license.txt, - lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, - lib/accelerated/x86/macosx/padlock-x86-macosx.s: updated openssl - code + * lib/x509/x509.c: gnutls_x509_crt_get_signature() will use the + internal _gnutls_x509_get_signature(). That prevents unnecessary replication of its code. -2012-03-19 Simon Josefsson +2014-05-17 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: Remove TLS_RANDOM_SIZE and - TLS_MASTER_SIZE compat mappings. + * lib/x509/common.c, lib/x509/x509.c: more sanity checks on + signature size -2012-03-19 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * .gitignore, NEWS, doc/cha-upgrade.texi, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added - gnutls_session_get_random() + * src/certtool-args.def, src/p11tool-args.def, src/tpmtool-args.def: + tools: Replace normal sec-param with medium in documentation. -2012-03-18 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * NEWS, lib/libgnutls.map: added missing function + * doc/scripts/cleanup-autogen.pl: invoke-*.texi generation: do not + print the bug reports line from autogen. -2012-03-18 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * m4/hooks.m4: better error message + * NEWS: doc update -2012-03-18 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * doc/scripts/mytexi2latex: updated + * NEWS, lib/gnutls_mem.h, lib/includes/gnutls/gnutls.h.in, + lib/safe-memset.c: do not yet export gnutls_memset(). -2012-03-18 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-upgrade.texi, doc/gnutls.texi, - doc/latex/Makefile.am, doc/latex/gnutls.tex: Added chapter to - describe changes needed when upgrading. + * .gitignore: more files to ignore -2012-03-18 Nikos Mavrogiannopoulos +2014-05-15 Michał Górny - * doc/cha-library.texi: doc update + * tests/slow/Makefile.am: tests/slow: add -I flags necessary for + out-of-source builds. Signed-off-by: Nikos Mavrogiannopoulos -2012-03-18 Nikos Mavrogiannopoulos +2014-05-15 Michał Górny - * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/pkix.asn, lib/pkix_asn1_tab.c, lib/x509/common.c, - lib/x509/common.h, lib/x509/crl.c, lib/x509/crl_write.c, - lib/x509/crq.c, lib/x509/output.c, lib/x509/x509.c, - lib/x509/x509_write.c, tests/cert-tests/template-test.pem: Added - gnutls_x509_crt_set_private_key_usage_period() and - gnutls_x509_crt_get_private_key_usage_period(). The time stored in - generated certificates is now GeneralizedTime. + * tests/Makefile.am: tests: pass PKCS12PATH to fix tests in + out-of-source builds. The set_pkcs12_cred used to default to looking for input files in a + subdirectory of the current working directory. When an out-of-source + build is performed, the files reside in a subdirectory of source + directory instead. Set PKCS12PATH to that directory in order to fix + the build. Signed-off-by: Nikos Mavrogiannopoulos -2012-03-17 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: changed debugging level for message + * tests/dsa/testdsa: changed port of DSA test -2012-03-17 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c: corrected ciphersuite number + * lib/x509/x509.c: gnutls_x509_crt_get_signature() will return the + correct signature size rather than the max. -2012-03-17 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: Added debugging message when encounter an - invalid ciphersuite. + * lib/openpgp/output.c: Print the openpgp DN only when + gnutls_openpgp_crt_get_name() failed appropriately. -2012-03-17 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * NEWS, src/certtool.c: Applied patch to cast days to (time_t) - before converting it to seconds to prevent a Y2K38 bug. Patch by - Robert Millan. + * lib/x509/x509_ext.c: initialize string in + gnutls_x509_ext_import_basic_constraints(). -2012-03-17 Nikos Mavrogiannopoulos +2014-05-17 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/gnutls.texi, doc/scripts/split-texi.pl: - texinfo documentation is similar to the printed manual. + * lib/x509/x509.c: corrected error checking in + gnutls_x509_crt_get_extension_data() -2012-03-17 Nikos Mavrogiannopoulos +2014-05-16 Nikos Mavrogiannopoulos - * NEWS, configure.ac, cross.mk, m4/hooks.m4: bumped version + * lib/gnutls_ui.c: Allow null list_size argument in + gnutls_certificate_get_peers() -2012-03-17 Nikos Mavrogiannopoulos +2014-05-16 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c, lib/x509/crq.c, lib/x509/x509.c: corrected - the documentation of the verification functions. + * src/serv.c: certificate verification is performed asynchronously. -2012-03-16 Nikos Mavrogiannopoulos +2014-05-15 Nikos Mavrogiannopoulos - * NEWS: released 3.0.16 + * NEWS: doc update -2012-03-16 Nikos Mavrogiannopoulos +2014-05-15 Nikos Mavrogiannopoulos - * configure.ac: enable_local_libopts is by default no + * src/danetool-args.def: enhanced the danetool usage instructions. -2012-03-16 Nikos Mavrogiannopoulos +2014-05-15 Nikos Mavrogiannopoulos - * m4/hooks.m4: bumped shared lib version + * src/certtool-args.def: Do not use autogen's file option for input + parameters. Instead use a string. We check the file for validity and autogen's + check was imposing rules such as normal file (as opposed to a + device), that were not needed. -2012-03-16 Nikos Mavrogiannopoulos +2014-05-14 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/x509/x509_write.c, src/certtool-args.def, src/certtool-cfg.c, - src/certtool-cfg.h, src/certtool.c: Added - gnutls_x509_crt_set_authority_info_access. + * src/certtool-common.c: certtool: check for null prior to checking + for empty passwd -2012-03-16 Nikos Mavrogiannopoulos +2014-05-11 Nikos Mavrogiannopoulos - * lib/accelerated/x86/README: updated + * lib/auth/ecdhe.c: cleanup in the initialization of ECDH + parameters. -2012-03-16 Nikos Mavrogiannopoulos +2014-05-14 Nikos Mavrogiannopoulos - * devel/perlasm/license-gnutls.txt, devel/perlasm/license.txt, - lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s, - lib/accelerated/x86/coff/appro-aes-x86-64-coff.s, - lib/accelerated/x86/coff/appro-aes-x86-coff.s, - lib/accelerated/x86/coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/coff/cpuid-x86-coff.s, - lib/accelerated/x86/coff/padlock-x86-64-coff.s, - lib/accelerated/x86/coff/padlock-x86-coff.s, - lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/elf/appro-aes-x86-64.s, - lib/accelerated/x86/elf/appro-aes-x86.s, - lib/accelerated/x86/elf/cpuid-x86-64.s, - lib/accelerated/x86/elf/cpuid-x86.s, - lib/accelerated/x86/elf/padlock-x86-64.s, - lib/accelerated/x86/elf/padlock-x86.s, - lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s, - lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s, - lib/accelerated/x86/macosx/appro-aes-x86-macosx.s, - lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s, - lib/accelerated/x86/macosx/cpuid-x86-macosx.s, - lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, - lib/accelerated/x86/macosx/padlock-x86-macosx.s: updated licenses - -2012-03-16 Nikos Mavrogiannopoulos - - * cfg.mk, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/asm-coff/appro-aes-gcm-x86-64-coff.s, - lib/accelerated/x86/asm-coff/appro-aes-x86-64-coff.s, - lib/accelerated/x86/asm-coff/appro-aes-x86-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s, - lib/accelerated/x86/asm-coff/padlock-x86-64-coff.s, - lib/accelerated/x86/asm-coff/padlock-x86-coff.s, - lib/accelerated/x86/asm-macosx/appro-aes-gcm-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/appro-aes-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/appro-aes-x86-macosx.s, - lib/accelerated/x86/asm-macosx/cpuid-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/cpuid-x86-macosx.s, - lib/accelerated/x86/asm-macosx/padlock-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/padlock-x86-macosx.s, - lib/accelerated/x86/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s, - lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s, - lib/accelerated/x86/coff/appro-aes-x86-64-coff.s, - lib/accelerated/x86/coff/appro-aes-x86-coff.s, - lib/accelerated/x86/coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/coff/cpuid-x86-coff.s, - lib/accelerated/x86/coff/padlock-x86-64-coff.s, - lib/accelerated/x86/coff/padlock-x86-coff.s, - lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/elf/appro-aes-x86-64.s, - lib/accelerated/x86/elf/appro-aes-x86.s, - lib/accelerated/x86/elf/cpuid-x86-64.s, - lib/accelerated/x86/elf/cpuid-x86.s, - lib/accelerated/x86/elf/padlock-x86-64.s, - lib/accelerated/x86/elf/padlock-x86.s, - lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s, - lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s, - lib/accelerated/x86/macosx/appro-aes-x86-macosx.s, - lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s, - lib/accelerated/x86/macosx/cpuid-x86-macosx.s, - lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, - lib/accelerated/x86/macosx/padlock-x86-macosx.s: renamed asm - directories. + * lib/nettle/pk.c: Eliminated memory leak on failed curve + assignment. The memory leak was uncovered by the Codenomicon TLS suite. -2012-03-15 Nikos Mavrogiannopoulos +2014-05-13 Nikos Mavrogiannopoulos - * NEWS: documented update + * src/cli.c: gnutls-cli: if dane verification is used but not PKIX + only check the end certificate. -2012-03-15 Nikos Mavrogiannopoulos +2014-05-13 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am: corrected makefile + * libdane/dane.c: doc update -2012-03-15 Nikos Mavrogiannopoulos +2014-05-11 Nikos Mavrogiannopoulos - * configure.ac: Added missing elf part. + * doc/examples/ex-client-x509.c, lib/gnutls_priority.c: use + gnutls_set_default_priority() in examples. -2012-03-15 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * cfg.mk, configure.ac, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/asm-macosx/appro-aes-gcm-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/appro-aes-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/appro-aes-x86-macosx.s, - lib/accelerated/x86/asm-macosx/cpuid-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/cpuid-x86-macosx.s, - lib/accelerated/x86/asm-macosx/padlock-x86-64-macosx.s, - lib/accelerated/x86/asm-macosx/padlock-x86-macosx.s: Added assembly - for macosx + * NEWS: doc update -2012-03-15 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: corrected typo + * libdane/dane.c, libdane/includes/gnutls/dane.h, + libdane/libdane.map: Revert "Added dane_verify_crt_raw2() which + allows verifying against the certificate name." This reverts commit d19ac66361300aaf188bc69ae64d5fcd7e89b0f6. -2012-03-15 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * doc/examples/ex-verify-ssh.c: reduced lines + * libdane/dane.c, libdane/includes/gnutls/dane.h: Revert "corrected + prototypes for dane_verify_crt_raw2()." This reverts commit b065ea137a6bcb49c3755886cb1ff30ca5e8f9e3. -2012-03-15 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * src/certtool-args.def, src/p11tool-args.def: doc updates + * libdane/dane.c, libdane/includes/gnutls/dane.h: corrected + prototypes for dane_verify_crt_raw2(). -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * src/certtool-args.def: added spacing + * NEWS, lib/gnutls_mem.h, lib/includes/gnutls/gnutls.h.in, + lib/safe-memset.c: export gnutls_memset(). -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * tests/srp/Makefile.am, tests/srp/mini-srp.c, tests/srp/tpasswd, - tests/srp/tpasswd.conf: generate tpasswd files on the spot. + * NEWS: doc update -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * tests/ca.pem, tests/enc3pkcs8.pem, tests/test1.pem, - tests/test10.pem, tests/test13.pem, tests/test2.pem, - tests/test20.pem, tests/test21.pem, tests/test22.pem, - tests/test23.pem, tests/test24.pem, tests/test25.pem, - tests/test26.pem, tests/test3.pem, tests/x509_test.c: removed unused - files. + * libdane/dane.c, libdane/includes/gnutls/dane.h, + libdane/libdane.map: Added dane_verify_crt_raw2() which allows + verifying against the certificate name. -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * doc/Makefile.am: stamp_enums is shipped to avoid regenerating - parts of doc + * libdane/dane.c: Improved dane_verify_session_crt(), which now + attempts to create a full chain. This addresses points from + https://savannah.gnu.org/support/index.php?108552 -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * README: corrected urls + * lib/auth/anon.c, lib/auth/anon_ecdh.c, lib/auth/cert.c, + lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/ecdhe.c, + lib/auth/psk.c, lib/auth/psk_passwd.c, lib/auth/rsa_psk.c, + lib/auth/srp.c, lib/auth/srp_passwd.c, lib/auth/srp_rsa.c, + lib/ext/srp.c, lib/ext/status_request.c, lib/gnutls_auth.c, + lib/gnutls_auth.h, lib/gnutls_cert.c, lib/gnutls_handshake.c, + lib/gnutls_state.c, lib/gnutls_ui.c, lib/gnutls_v2_compat.c, + lib/gnutls_x509.c: removed legacy code. -2012-03-14 Nikos Mavrogiannopoulos +2014-05-10 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: bumped version. + * lib/gnutls_auth.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added gnutls_credentials_get(). -2012-03-14 Nikos Mavrogiannopoulos +2014-05-09 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: corrected call to gnutls_error_is_fatal(). + * src/serv-args.def, src/serv.c: Added gnutls-serv option + --verify-client-cert. That option allows forcing verification of the provided certificate + even if it is not required to present one. In that case the + connection will be closed with a fatal alert. -2012-03-14 Nikos Mavrogiannopoulos +2014-05-09 Nikos Mavrogiannopoulos - * NEWS: updated description + * lib/ext/status_request.c: Addressed memory leak in status request + extension handling during rehandshake. The memory leak was uncovered by the Codenomicon TLS suite. -2012-03-14 Simon Josefsson +2014-05-09 Nikos Mavrogiannopoulos - * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/libtasn1.h: Update minitasn1. + * lib/auth/dh_common.c, lib/auth/ecdhe.c: Addressed memory leaks in + DHE and ECDHE rehandshakes. The memory leak was uncovered by the Codenomicon TLS suite. -2012-03-13 Nikos Mavrogiannopoulos +2014-05-08 Nikos Mavrogiannopoulos - * tests/suite/Makefile.am, tests/suite/invalid-cert: Added test on - an invalid certificate. + * cross.mk: updated cross compilation Makefile. -2012-03-13 Nikos Mavrogiannopoulos +2014-05-08 Nikos Mavrogiannopoulos - * lib/minitasn1/decoding.c: updated. + * lib/ext/safe_renegotiation.c: Avoid memory leak in safe + renegotiation extension handling. The memory leak was uncovered by the Codenomicon TLS suite. -2012-03-13 Nikos Mavrogiannopoulos +2014-05-08 Nikos Mavrogiannopoulos - * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/libtasn1.h: more recent libtasn1 + * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_record.c: + Small cleanups in packet receive as well as a memory leak error. The memory leak was uncovered by the Codenomicon TLS suite. -2012-03-13 Nikos Mavrogiannopoulos +2014-05-07 Nikos Mavrogiannopoulos - * NEWS, lib/minitasn1/coding.c, lib/minitasn1/decoding.c, - lib/minitasn1/element.c, lib/minitasn1/element.h, - lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, - lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, - lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, - lib/minitasn1/structure.c, lib/minitasn1/structure.h, - lib/minitasn1/version.c: updated included libtasn1 + * doc/cha-gtls-app.texi: doc update -2012-03-13 Nikos Mavrogiannopoulos +2014-05-07 Nikos Mavrogiannopoulos - * src/cli.c: gnutls-cli honours the --x509fmtder. + * NEWS: doc update -2012-03-13 Nikos Mavrogiannopoulos +2014-05-07 Nikos Mavrogiannopoulos - * src/cli.c: only set the server name if we do not have an IP - address. + * doc/cha-gtls-app.texi: updated documentation on library + initialization to reflex the changes in 3.3.0. -2012-03-13 Nikos Mavrogiannopoulos +2014-05-07 Nikos Mavrogiannopoulos - * README: Do not use fixed versions + * lib/locks.c: re-enabled gnutls_global_set_mutex(). -2012-03-13 Nikos Mavrogiannopoulos +2014-05-06 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, - lib/includes/gnutls/gnutls.h.in: Documentation updates + * src/Makefile.am: Do not run autogen twice to generate the header + files. -2012-03-07 Nikos Mavrogiannopoulos +2014-05-06 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: when using cryptodev do not set all - the digest function since they are not always faster. + * tests/cert-tests/Makefile.am: Ship suppressions.valgrind -2012-03-07 Nikos Mavrogiannopoulos +2014-05-06 Nikos Mavrogiannopoulos - * lib/accelerated/x86/aes-gcm-padlock.c, - lib/accelerated/x86/aes-gcm-x86.c: corrected comments. + * NEWS, configure.ac, m4/hooks.m4: bumped version -2012-03-07 Nikos Mavrogiannopoulos +2014-05-05 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: reset the siop structure on every - loop + * lib/auth/cert.c, lib/gnutls_int.h: Ensure that there is no + remainders in the TLS handshake packets. The issue was discovered using the codenomicon TLS suite. -2012-03-07 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * src/benchmark-cipher.c: add more space to dst to allow GCM mode - tests in cryptodev. + * lib/ext/srp.c: Account the length byte in SRP extension. Issue identified using valgrind and the Codenomicon TLS test suite. -2012-03-06 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * NEWS, src/certtool-args.def, src/certtool-cfg.c, - src/certtool-cfg.h, src/certtool.c: certtool may explicitly set the - domain component (DC) field of a DN. + * NEWS: doc update -2012-03-06 Nikos Mavrogiannopoulos +2014-05-05 Nikos Mavrogiannopoulos - * lib/includes/gnutls/x509.h, src/certtool-args.def: Added a real - key purpose OID as example + * src/cli.c: Do not set "NORMAL" as default priority string. That is, allow the library to select the appropriate default. -2012-03-06 Nikos Mavrogiannopoulos +2014-05-05 Nikos Mavrogiannopoulos - * src/p11tool-args.def: updated p11tool documentation. + * doc/cha-gtls-app.texi: fixed typo -2012-03-06 Nikos Mavrogiannopoulos +2014-05-05 Nikos Mavrogiannopoulos - * NEWS, src/p11tool.c: Only set the private status if it has been - explicitly specified. That is because some tokens don't want it set. + * NEWS, doc/cha-gtls-app.texi, lib/gnutls_priority.c, + lib/includes/gnutls/x509.h, lib/priority_options.gperf, + lib/x509/verify.c: Added the 'very weak' certificate verification + profile. This profile corresponds to a 64-bit security level (e.g., RSA + parameters of 768 bits). -2012-03-06 Nikos Mavrogiannopoulos +2014-05-05 Nikos Mavrogiannopoulos - * src/certtool.c: The default cipher when encrypting with PKCS12 is - AES. + * doc/cha-gtls-app.texi: doc update -2012-03-06 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * src/certtool-args.def: to-p12 requires the load-certificate and - load-privkey. + * doc/credentials/x509/cert-ecc.pem, + doc/credentials/x509/clicert-ecdsa.pem, + doc/credentials/x509/clikey-ecdsa.pem, + doc/credentials/x509/key-ecc.pem: test ECC keys were upgraded to + secp256r1 -2012-03-05 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * doc/latex/cover.tex: updated front-page to include all - contributors. + * src/certtool-common.c, src/certtool.c: When generating ECDSA keys, + generate 256-bit keys by default. Curves with less than 256 bits (i.e., SECP192R1 and SECP224R1) are + not widely supported. -2012-03-05 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * doc/cha-bib.texi, doc/cha-internals.texi, doc/latex/gnutls.bib: - Some updates on supplemental data handling. + * doc/credentials/x509/clicert-ecdsa.pem, + doc/credentials/x509/clikey-ecdsa.pem: Added ECDSA example keys. -2012-03-05 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * tests/safe-renegotiation/Makefile.am: safe renegotiation tests - only run under valgrind in the devel environment. + * lib/minitasn1/decoding.c: Corrected an off-by-one error. The issue was discovered using the codenomicon TLS suite. -2012-03-03 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * doc/latex/gnutls.tex: updated + * NEWS: doc update -2012-03-03 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/scripts/mytexi2latex: changes in - asynchronous documentation + * lib/ext/srp.c: initialize to null the SRP extension data on + allocation. Issue identified using valgrind and the Codenomicon TLS test suite. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * NEWS: documented fix + * tests/suite/testrng: Modified the testrng for Debian's dieharder. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * src/libopts/makeshell.c: Added ifdef HAVE_FCHMOD + * lib/algorithms/sign.c: Better check for null signature method. Issue identified using valgrind and the Codenomicon TLS test suite. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * doc/cha-shared-key.texi: More documentation on SRP + * lib/ext/ecc.c, lib/ext/safe_renegotiation.c, lib/ext/signature.c: + More precise packet length checking. Issue discovered using valgrind and the Codenomicon TLS test suite. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * tests/srp/mini-srp.c: Test SRP-RSA and plain SRP. + * lib/auth/psk_passwd.c: Eliminated password file descriptor leak. Issue discovered using codenomicon TLS test suite. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-04 Nikos Mavrogiannopoulos - * lib/auth/srp_rsa.c: Corrected SRP-RSA in TLS 1.2 + * src/serv.c: Added a timeout to close inactive sessions. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-03 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: break line on long string. + * doc/cha-gtls-app.texi: doc update -2012-03-02 Nikos Mavrogiannopoulos +2014-05-03 Nikos Mavrogiannopoulos - * cfg.mk, cross.mk: small updates + * doc/cha-gtls-app.texi: doc update -2012-03-02 Nikos Mavrogiannopoulos +2014-05-03 Nikos Mavrogiannopoulos - * doc/examples/ex-client-psk.c: Corrected PSK client example. + * src/serv.c: Send the appropriate alert when a certificate is + required but not present. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-03 Nikos Mavrogiannopoulos - * tests/srp/Makefile.am: Added missing files. + * lib/gnutls_global.c: use __sun definition to detect solaris. -2012-03-02 Carolin Latze +2014-05-03 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: supp data doc added Signed-off-by: Nikos Mavrogiannopoulos + * src/serv.c: Cleaned up server process. This eliminates an infinate loop triggered by unexpected client + disconnections. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-03 Nikos Mavrogiannopoulos - * NEWS: released 3.0.15 + * lib/gnutls_global.c: Added support for constructors and + destructors in solaris CC. -2012-03-02 Simon Josefsson +2014-05-02 Nikos Mavrogiannopoulos - * doc/reference/gnutls-docs.sgml: Fix index with new 3.0.x symbols. + * tests/suite/testrng: Updated dieharder tests. -2012-03-02 Simon Josefsson +2014-05-02 Nikos Mavrogiannopoulos - * lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/ocsp.h, - lib/verify-tofu.c: Doc fixes for GTK-DOC. + * README-alpha: doc update -2012-03-02 Simon Josefsson +2014-05-02 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h: De-inline some dtls - functions. Avoids compiler error on gcc 4.4.5 (Debian Squeeze) that complains - about "call is unlikely and code size would grow". + * tests/slow/cipher-test.c: include header for self-test functions -2012-03-02 Nikos Mavrogiannopoulos +2014-05-02 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, tests/Makefile.am, - tests/srp/Makefile.am, tests/srp/mini-srp.c, tests/srp/tpasswd, - tests/srp/tpasswd.conf: Added SRP test. + * tests/suite/testrng: Allow testrng test to run with older versions + of dieharder. -2012-03-02 Nikos Mavrogiannopoulos +2014-05-02 Nikos Mavrogiannopoulos - * lib/auth/srp_passwd.c, lib/ext/srp.c, lib/gnutls_errors.c: Fixes - and memory leak elimination in SRP authentication. + * lib/nettle/gnettle.h, lib/nettle/mpi.c, lib/nettle/pk.c: simplify + casting to mpz_t using __mpz_struct and cleaned up mpz_t access. -2012-03-01 Nikos Mavrogiannopoulos +2014-05-02 Nikos Mavrogiannopoulos - * NEWS, lib/auth/srp.c: Eliminate double free during SRP - authentication. + * lib/nettle/gnettle.h, lib/nettle/mpi.c, lib/nettle/pk.c: simplify + casting to mpz_t using __mpz_struct. -2012-03-01 Nikos Mavrogiannopoulos +2014-05-01 Nikos Mavrogiannopoulos - * Makefile.am: corrected version replacement in .texi. + * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/element.h, + lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, + lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, + lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, + lib/minitasn1/structure.c, lib/minitasn1/structure.h, + lib/minitasn1/version.c: updated included libtasn1. -2012-03-01 Nikos Mavrogiannopoulos +2014-05-01 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: bumped version + * src/certtool-cfg.c: Do not return from void functions. Reported by + dev [at] cor0.com. -2012-03-01 Nikos Mavrogiannopoulos +2014-04-30 Nikos Mavrogiannopoulos - * doc/Makefile.am: avoid regeneration of header files + * lib/gnutls_global.c: removed return from void function. -2012-03-01 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS, lib/pkcs11.c: No longer crash on a pkcs11 object without an - ID. + * tests/suite/rng.c, tests/suite/testrng: updated prng test -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS: updated + * .gitignore, tests/suite/Makefile.am, tests/suite/rng.c, + tests/suite/testrng: Test the random generators in gnutls using the + dieharder tool. -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * tests/mini-record.c: eliminated memory leaks in new test. + * tests/suite/pkcs11-get-issuer.c: use different db file for + pkcs11-get-issuer. -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS: documented fix + * NEWS: doc update -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * .gitignore, tests/Makefile.am, tests/mini-record.c: Added test for - invalid record packet sizes. + * lib/x509/verify-high.c: doc update -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_mbuffers.c, lib/gnutls_record.c: - artistic changes. + * tests/suite/Makefile.am, tests/suite/pkcs11-get-issuer.c: Added + test to verify whether gnutls_x509_trust_list_get_issuer() operates + correctly under PKCS #11 trust list. -2012-02-29 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * lib/gnutls_mbuffers.c: corrected copying of buffers. + * lib/includes/gnutls/x509.h, lib/x509/verify-high.c: + gnutls_x509_trust_list_get_issuer() will work correctly with a PKCS + #11 trust list. -2012-02-28 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * src/serv.c: corrected check_command() input + * lib/pkcs11_write.c: initialize the size value -2012-02-29 Simon Josefsson +2014-04-28 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/m4/fpieee.m4, gl/m4/math_h.m4, gl/math.in.h: - Update gnulib files. + * lib/crypto-selftests-pk.c, lib/crypto-selftests.c, lib/fips.c: + Include the correct header for the self tests functions -2012-02-29 Simon Josefsson +2014-04-28 Nikos Mavrogiannopoulos - * src/libopts/Makefile.am, src/libopts/ag-char-map.h, - src/libopts/ao-strs.c, src/libopts/ao-strs.h, - src/libopts/autoopts/options.h, src/libopts/autoopts/usage-txt.h, - src/libopts/genshell.c, src/libopts/genshell.h, - src/libopts/m4/libopts.m4, src/libopts/makeshell.c, - src/libopts/proto.h, src/libopts/value-type.h, - src/libopts/xat-attribute.h: Update to autogen 5.15. + * NEWS: doc update -2012-02-28 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c: changes in packet parsing. + * lib/ext/safe_renegotiation.c: removed redundant code. Reported by + David Binderman. -2012-02-28 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * THANKS, src/common.c: Do not call gnutls_x509_crt_check_hostname() - if hostname eq NULL. Reported by Matthew Hall. + * libdane/dane.c: increased MAX_DATA_ENTRIES to 100. -2012-02-27 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, lib/gnutls_state.c: Updated documentation - on gnutls_prf() + * libdane/dane.c: rearranged code -2012-02-27 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS: updated + * src/cli.c: only fail DANE verification if status is non-zero -2012-02-26 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS: re-updated + * libdane/dane.c, libdane/includes/gnutls/dane.h: Accept a + certificate using DANE if there is at least one entry that matches + the certificate. This corrects the previous behavior that was rejecting the + certificate if there were multiple entries and one couldn't be + validated. New flag DANE_VERIFY_UNKNOWN_DANE_INFO is synonymous to + DANE_VERIFY_NO_DANE_INFO. Patch by simon@arlott.org. Signed-off-by: Nikos Mavrogiannopoulos -2012-02-26 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * configure.ac: Revert "always link against the distributed libopts" This reverts commit ae3033fee01f058a028406648ebc32294774e282. + * NEWS: doc update -2012-02-26 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * Makefile.am: replace @VERSION@ in the program documentation. + * lib/gnutls_global.c: Do not deinitialize in gnutls_global_deinit() + if the call to gnutls_global_init() failed. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * README-alpha: document autogen minimum version + * lib/nettle/rnd-common.c, lib/nettle/rnd.c: Alternative fix for the + initialization of random generator. Reported by Martin Kletzander. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-28 Nikos Mavrogiannopoulos - * NEWS, lib/accelerated/cryptodev.c: Updated cryptodev code. Hash - reset is being performed in a single ioctl() with update and TLS - versions (<1.1) that do not have explicit IV are correctly handled. + * lib/nettle/rnd.c: Revert "Avoid dual initialization of random + generator. Reported by Martin Kletzander." This reverts commit 43a71114dfdb6aa5c28a1378102a935c68951eed. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-27 Nikos Mavrogiannopoulos - * tests/mini-dtls-rehandshake.c: added all cases. + * lib/accelerated/accelerated.c, lib/accelerated/x86/Makefile.am, + lib/accelerated/x86/aes-cbc-x86-aesni.c, + lib/accelerated/x86/aes-cbc-x86-ssse3.c, + lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86-aesni.c, + lib/accelerated/x86/aes-gcm-x86-pclmul.c, + lib/accelerated/x86/aes-gcm-x86-ssse3.c, + lib/accelerated/x86/aes-padlock.c, + lib/accelerated/x86/sha-padlock.c, + lib/accelerated/x86/sha-x86-ssse3.c, + lib/accelerated/x86/x86-common.c, lib/accelerated/x86/x86-common.h, + lib/accelerated/x86/x86.h: x86.h was renamed to x86-common.h to + avoid clashes with system headers. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-27 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev-gcm.c: removed debugging + * NEWS: doc update -2012-02-26 Nikos Mavrogiannopoulos +2014-04-27 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev-gcm.c, lib/accelerated/cryptodev.c: - simplified gcm registration in cryptodev. + * lib/nettle/rnd.c: Avoid dual initialization of random generator. + Reported by Martin Kletzander. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Kurt Roeckx - * src/cli-args.def: doc updates + * lib/fips.c: Test for the existance of the /etc/system-fips file We don't read it, the existance of the file is enough to say in what + mode we are. Signed-off-by: Nikos Mavrogiannopoulos -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Kurt Roeckx - * NEWS: documented updates + * lib/fips.c: Add _gnutls_fips_mode_enabled() return values. Signed-off-by: Nikos Mavrogiannopoulos -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Andreas Metzler - * lib/gnutls_record.c: If a client hello is received immediately - after a completed handshake delete the async_timer to rehandshake. + * lib/gnutls_cert.c: Typo fix: overriden -> overridden Signed-off-by: Nikos Mavrogiannopoulos -2012-02-26 Nikos Mavrogiannopoulos +2014-04-27 Nikos Mavrogiannopoulos - * NEWS: documented fix + * lib/auth/srp_sb64.c: Use unsigned type for encode(). Based on + suggestion by Shawn (sth0r2046 [at] gmail.com). -2012-02-26 Nikos Mavrogiannopoulos +2014-04-27 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.h, lib/gnutls_handshake.c: When rehandshake is - requested by server force the cleanup of the previous handshake - state. + * lib/gnutls_mem.c: tolerate NULL in strdup(). Patch by shawn + (sth0r2046 [at] gmail.com). -2012-02-26 Nikos Mavrogiannopoulos +2014-04-26 Nikos Mavrogiannopoulos - * .gitignore, tests/Makefile.am, tests/mini-dtls-rehandshake.c, - tests/mini-rehandshake.c, tests/mini-x509-rehandshake.c, - tests/resume-dtls.c: Added mini-dtls-rehandshake.c to test - rehandshake in DTLS. + * src/certtool.c: Allow exporting a CRL in DER format. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-25 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: Corrected session resumption for DTLS + * AUTHORS, THANKS: cleaned up authors and thanks file. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/mini-loss.c: removed redundant test. + * tests/suite/Makefile.am, tests/suite/invalid-cert, + tests/suite/suppressions.valgrind, tests/suite/testcompat-main, + tests/suite/testrandom: More script tests run under valgrind -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_constate.c, lib/gnutls_dtls.c, - lib/gnutls_dtls.h, lib/gnutls_handshake.c, lib/gnutls_record.c: - fixes in DTLS rehandshake and epoch cleanup. + * tests/cert-tests/Makefile.am, tests/cert-tests/aki, + tests/cert-tests/pathlen, tests/cert-tests/pem-decoding, + tests/cert-tests/suppressions.valgrind: Run scripts under valgrind. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * src/common.c, src/common.h, src/serv.c, src/udp-serv.c: - rehandshake command works in udp mode as well. + * lib/x509/x509.c: Treat othername as printable (i.e., null + terminate it), as the XMPP printing code assumes that. -2012-02-26 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, src/ocsptool-args.def, - src/p11tool-args.def: properly break lines. + * lib/x509/output.c: cleanups in output -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * doc/scripts/cleanup-autogen.pl: updated + * guile/src/core.c: do not override gnutls' allocation functions That was not being done using the API, and overriding them is no + longer possible in 3.3.x. -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * src/libopts/Makefile.am, src/libopts/ag-char-map.h, - src/libopts/alias.c, src/libopts/ao-strs.c, src/libopts/ao-strs.h, - src/libopts/autoopts.h, src/libopts/autoopts/options.h, - src/libopts/autoopts/usage-txt.h, src/libopts/compat/compat.h, - src/libopts/configfile.c, src/libopts/cook.c, - src/libopts/genshell.c, src/libopts/genshell.h, - src/libopts/m4/libopts.m4, src/libopts/numeric.c, - src/libopts/proto.h, src/libopts/putshell.c, - src/libopts/value-type.h, src/libopts/xat-attribute.h: Updated - libopts. + * NEWS: relased 3.3.1 -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * configure.ac: always link against the distributed libopts + * tests/suite/testpkcs11: changed port to allow parallelization -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * lib/Makefile.am, src/Makefile.am, tests/dtls/Makefile.am: Link to - correct libraries. + * lib/includes/gnutls/gnutls.h.in: gnutls_secure_malloc() is no + longer part of the API (though it remains in the ABI). -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * tests/dtls/dtls-stress.c: updated headers. + * lib/gnutls_mem.c, lib/libgnutls.map, symbols.last: revived + gnutls_secure_malloc() to avoid breaking ABI. gnutls_secure_calloc() is no longer exported as it was never in any + public header. -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * GNUmakefile, gl/Makefile.am, gl/alloca.in.h, gl/alphasort.c, - gl/arpa_inet.in.h, gl/asnprintf.c, gl/asprintf.c, gl/base64.c, - gl/base64.h, gl/c-ctype.c, gl/c-ctype.h, gl/errno.in.h, - gl/float+.h, gl/fseeko.c, gl/gai_strerror.c, gl/getaddrinfo.c, - gl/getdelim.c, gl/getline.c, gl/getpass.c, gl/getpass.h, - gl/gettext.h, gl/gettimeofday.c, gl/inet_ntop.c, gl/lseek.c, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/math_h.m4, - gl/m4/timer_time.m4, gl/malloc.c, gl/math.in.h, gl/memmem.c, - gl/mempcpy.c, gl/minmax.h, gl/msvc-inval.c, gl/msvc-inval.h, - gl/msvc-nothrow.c, gl/msvc-nothrow.h, gl/netdb.in.h, - gl/netinet_in.in.h, gl/printf-args.c, gl/printf-args.h, - gl/printf-parse.c, gl/printf-parse.h, gl/read-file.c, - gl/read-file.h, gl/scandir.c, gl/select.c, gl/size_max.h, - gl/snprintf.c, gl/stdalign.in.h, gl/stdarg.in.h, gl/stdbool.in.h, - gl/stddef.in.h, gl/stdint.in.h, gl/stdio.in.h, gl/str-two-way.h, - gl/strcasecmp.c, gl/strdup.c, gl/string.in.h, gl/strings.in.h, - gl/strncasecmp.c, gl/strndup.c, gl/strnlen.c, gl/strverscmp.c, - gl/sys_select.in.h, gl/sys_socket.in.h, gl/sys_stat.in.h, - gl/sys_time.in.h, gl/sys_types.in.h, gl/sys_uio.in.h, - gl/tests/glthread/lock.c, gl/tests/glthread/lock.h, - gl/tests/glthread/threadlib.c, gl/tests/malloca.c, - gl/tests/malloca.h, gl/tests/pathmax.h, gl/tests/pipe.c, - gl/tests/sys_ioctl.in.h, gl/tests/test-base64.c, - gl/tests/test-fgetc.c, gl/tests/test-fputc.c, - gl/tests/test-fread.c, gl/tests/test-fwrite.c, - gl/tests/test-getdelim.c, gl/tests/test-getline.c, - gl/tests/test-perror.c, gl/tests/test-perror2.c, - gl/tests/test-pipe.c, gl/tests/test-strerror.c, - gl/tests/test-strerror_r.c, gl/tests/test-strverscmp.c, - gl/time.in.h, gl/time_r.c, gl/unistd.in.h, gl/vasnprintf.c, - gl/vasnprintf.h, gl/vasprintf.c, gl/vsnprintf.c, gl/wchar.in.h, - gl/xsize.h, maint.mk: Added timer_time. + * lib/Makefile.am: removed file from Makefile that doesn't exist -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * NEWS: documented fix + * src/cli.c: gnutls-cli will no longer allow the session to proceed + if DANE verification fails. -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * src/udp-serv.c: provide accurate value to select + * NEWS: doc update -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * lib/system.c: make sure that the microseconds field does not - overflow + * tests/cert-tests/Makefile.am, tests/cert-tests/pem-decoding, + tests/cert-tests/xmpp-othername.pem: Added test certificate with + multiple XMPP othername SAN fields. -2012-02-25 Nikos Mavrogiannopoulos +2014-04-19 Nikos Mavrogiannopoulos - * tests/Makefile.am: use valgrind only on development environment. + * lib/x509/common.c, lib/x509/common.h, lib/x509/output.c, + lib/x509/x509.c: Corrected decoding of XMPP SAN othername. This also corrects the semantics of the get_*_othername_oid() + functions, such as gnutls_x509_crt_get_subject_alt_othername_oid(). -2012-02-25 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * configure.ac: updated libopts check + * lib/x509/x509_ext.c: always initialize size values -2012-02-25 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * cross.mk: updated + * lib/x509/common.c: copy_string() and copy_data() are more + resilient on null input -2012-02-25 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * NEWS, configure.ac: Link with local libopts if the installed is an - old one. + * tests/scripts/common.sh: increased server startup wait time. That is because we now check for key/certificate match via a + sign/verify request that may take longer in some systems. Based on + patch by Andreas Metzler. -2012-02-25 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * doc/scripts/Makefile.am: Added getfuncs.pl to distribution. + * NEWS: doc update -2012-02-24 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * NEWS: updated NEWS + * lib/x509/x509_ext.c: fix issue in gnutls_subject_alt_names_get(). That caused a null pointer dereference when extracting names from a + certificate that contained an OtherName. Reported and investigated + by Kirill A. Shutemov. -2012-02-23 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev-gcm.c, lib/accelerated/cryptodev.c, - lib/accelerated/cryptodev.h: compilation fixes. + * lib/auth/rsa_psk.c, lib/gnutls_mem.c, lib/gnutls_mem.h: Removed + the already unused secure alloc functions. -2012-02-23 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * NEWS, lib/accelerated/Makefile.am, - lib/accelerated/cryptodev-gcm.c, lib/accelerated/cryptodev.c, - lib/accelerated/cryptodev.h, lib/gnutls_cipher.c, - lib/gnutls_cipher_int.h, lib/gnutls_record.c, - tests/slow/cipher-test.c: Added GCM mode using cryptodev. This is - mostly a hack due to how GCM mode is exported from kernel. + * lib/Makefile.am, lib/gnutls_mem.c, lib/gnutls_mem.h, + lib/safe-memset.c: Use a harder to optimize out memset(). -2012-02-23 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * NEWS, lib/pkcs11.c: free allocated module name. Reported by Sam - Varshavchik. + * NEWS: fix typo -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/system.c: updated documentation + * NEWS: doc update -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/x509/pkcs7.c: added newline at end of file. + * NEWS: doc update -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * Makefile.am, src/Makefile.am: account args-std.def in make dist + * lib/auth/srp_rsa.c: corrected get_auth_info() for SRP-RSA. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: check errno in pull_timeout_func. + * tests/pskself.c: include hint into psk test. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: updates for cryptodev. Require the - COP_FLAG_RESET. + * lib/auth/psk.c, lib/auth/psk.h: Avoid dual generation of key. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * tests/gc.c, tests/pskself.c: added error reporting + * tests/mini-rsa-psk.c: Enable hint in the rsa-psk test. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c: properly deinitialize session. + * lib/auth/rsa_psk.c: use custom proc_server_kx for RSA-PSK -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * tests/slow/cipher-test.c: added (dead) code to test the - _hmac_fast. + * lib/gnutls_psk.c: eliminated the leak of hint when deallocating + the credentials. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: Always deinitialize. + * lib/gnutls_auth.c: _gnutls_auth_info_set() will decide the + replacing of auth info based on the provided credentials type. This avoids issues with discrepances in server and client mode. -2012-02-21 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c: check _gnutls_auth_cipher_add_auth for error - codes. + * lib/auth/cert.c, lib/auth/dhe_psk.c, lib/auth/psk.c, + lib/auth/rsa.c, lib/auth/rsa_psk.c, lib/auth/srp.c, + lib/auth/srp_rsa.c, lib/gnutls_auth.c, lib/gnutls_auth.h, + lib/gnutls_cert.c, lib/gnutls_psk.c, lib/gnutls_session_pack.c, + lib/gnutls_srp.c, lib/gnutls_state.c, lib/gnutls_ui.c, + lib/gnutls_x509.c: Made _gnutls_get_auth_info() safer to use. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: added reset + * src/cli-args.def, src/cli.c: Both DANE and PKI verification are + advisory when --tofu is being used. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/x86/sha-padlock.c, lib/crypto-backend.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/nettle/mac.c: hash - copy no longer needed. + * NEWS: doc update -2012-02-20 Nikos Mavrogiannopoulos +2014-04-18 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: initialize memory for siop + * lib/gnutls_buffers.c: When checking for data to be received use + the 'transport_recv_ptr' This affects cases where there is different send and recv pointers. + Reported and investigated by JMRecio. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c, lib/gnutls_datum.c, lib/gnutls_datum.h, - lib/openpgp/gnutls_openpgp.c: simplified the _datum functions. + * src/cli-args.def: doc update -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: bumped versions + * src/cli.c: documentation update. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: properly deinitialize cryptodev - resources, and only register ciphers if they are hw accelerated. + * src/cli.c: Do not print certificates twice. That will improve the visibility of messages of the various + verification methods. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * src/cli.c: benchmark-ciphers re-enabled + * src/cli-args.def: Updated TOFU documentation. Suggested by Jens + Lechtenboerger. -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: fixes in cryptodev support. Added - support for digest algorithms. + * src/p11tool.c: added newlines to p11tool error messages -2012-02-20 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: fixes in cryptodev support. Added - support for digest algorithms. + * NEWS: doc update -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * Makefile.am, src/Makefile.am, src/args-std.def, - src/certtool-args.def, src/cli-args.def, src/cli-debug-args.def, - src/ocsptool-args.def, src/p11tool-args.def, src/psk-args.def, - src/serv-args.def, src/srptool-args.def: Optimizations in command - line argument handling. Patch by Bruce Korb. + * lib/fips.c: corrected uninitialized value -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * NEWS: documented fix + * doc/Makefile.am: removed conditionally exported functions. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * lib/includes/Makefile.am, lib/includes/gnutls/gnutls.h.in, + lib/includes/gnutls/self-test.h: Added self check functions to + self-test.h. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * lib/auth/cert.c, lib/gnutls_pcert.c: Deinitialize the correct - number of certificates. Reported by Remi Gacogne. + * configure.ac, m4/hooks.m4: bumped versions -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c: force kill of child process. + * tests/chainverify.c, tests/suite/pkcs11-chainverify.c, + tests/test-chains.h: use MAX_CHAIN definition to avoid overflow + issues in the future -2012-02-19 Nikos Mavrogiannopoulos +2014-04-17 Nikos Mavrogiannopoulos - * NEWS: updated + * tests/chainverify.c: increased the space available for + certificates. That avoids a crash in sparc64; reported by Andreas Metzler. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-16 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: update in cryptodev + * lib/x509/verify-high.c: doc update -2012-02-19 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: register the .fast function for - cryptodev + * src/certtool-cfg.c, src/certtool.c: several bug fixes in certtool. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * tests/dtls/dtls, tests/dtls/dtls-nb: Added more tests. + * src/Makefile.am: use the same cflags for included programs as with + library. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * tests/dtls/dtls-stress.c: Added new dtls-stress.c by Sean + * libdane/dane.c: Corrected dane_verify_crt() to not deinitialize + any input state. -2012-02-19 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * src/libopts/m4/libopts.m4: Included libopts is not installed by - default. + * lib/auth/cert.c, lib/ext/heartbeat.c, lib/gnutls_db.c, + lib/gnutls_extensions.c, lib/gnutls_handshake.c, lib/gnutls_pk.c, + lib/gnutls_priority.c, lib/gnutls_range.c, lib/gnutls_record.c, + lib/gnutls_session_pack.c, lib/gnutls_x509.c, lib/nettle/egd.c, + lib/openpgp/pgp.c, lib/openpgp/privkey.c, lib/pkcs11.c, lib/tpm.c, + lib/verify-tofu.c: several bug fixes due to coverity. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c: updated description + * lib/x509/crl.c, lib/x509/crq.c, lib/x509/pkcs12.c, + lib/x509/sign.c, lib/x509/x509.c, lib/x509/x509_ext.c: several bug + fixes due to coverity. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * doc/scripts/gdoc: corrected latex output + * lib/opencdk/armor.c, lib/opencdk/kbnode.c, lib/opencdk/keydb.c, + lib/opencdk/literal.c, lib/opencdk/main.h, lib/opencdk/misc.c, + lib/opencdk/new-packet.c, lib/opencdk/stream.c: Corrected bugs + reported from coverity in opencdk. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-15 Nikos Mavrogiannopoulos - * NEWS: added date + * lib/gnutls_buffers.c: correctly check for message upper limit. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-14 Nikos Mavrogiannopoulos - * lib/algorithms/ecc.c, lib/crypto-api.c, lib/gnutls_alert.c, - lib/gnutls_cert.c, lib/gnutls_dtls.c, lib/gnutls_global.c, - lib/gnutls_pcert.c, lib/gnutls_priority.c, lib/gnutls_privkey.c, - lib/gnutls_pubkey.c, lib/gnutls_record.c, lib/gnutls_state.c, - lib/gnutls_x509.c, lib/pkcs11.c, lib/pkcs11_privkey.c, - lib/system_override.c, lib/verify-tofu.c, lib/x509/common.c, - lib/x509/crl.c, lib/x509/privkey.c, lib/x509/verify-high.c, - lib/x509/x509.c: Since: 3.0.0 -> Since 3.0 to reflect that it might - be on a later version than 3.0.0. + * lib/x509/verify-high2.c: Allow a null ca file; i.e., allow setting + only CRLs in gnutls_x509_trust_list_add_trust_file(). -2012-02-18 Nikos Mavrogiannopoulos +2014-04-14 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Added new functions + * doc/cha-gtls-app.texi: doc update -2012-02-18 Nikos Mavrogiannopoulos +2014-04-14 Nikos Mavrogiannopoulos - * tests/mini-tdb.c: verify that the correct error code is returned + * src/cli-args.def: Added the PFS priority string. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-12 Nikos Mavrogiannopoulos - * doc/scripts/gdoc: do not stick parameters to the next word. + * NEWS: corrected Peter's name! -2012-02-18 Nikos Mavrogiannopoulos +2014-04-11 Nikos Mavrogiannopoulos - * lib/verify-tofu.c: return the documented error code + * NEWS: doc update -2012-02-18 Nikos Mavrogiannopoulos +2014-04-11 Nikos Mavrogiannopoulos - * cfg.mk: copy gnutls.epub to webdir + * tests/key-tests/Makefile.am, tests/key-tests/key-ecc.p8, + tests/key-tests/key-ecc.pem, tests/key-tests/openssl-key-ecc.p8, + tests/key-tests/pkcs8: Added self tests for ECC PKCS #8 files. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-11 Nikos Mavrogiannopoulos - * README-alpha: gaa is no longer needed + * lib/gnutls_pubkey.c, lib/x509/key_decode.c, lib/x509/privkey.c, + lib/x509/privkey_pkcs8.c, lib/x509/x509_int.h: Allow decoding PKCS + #8 files with ECC parameters from openssl. These files do not contain the curve information with the private + key (ECPrivateKey), but they rather contain it in the + privateKeyAlgorithm. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-11 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Set the handshake type when calling - record_add_to_buffers(). + * lib/ext/heartbeat.c: More strict checking of heartbeat padding + size boundaries. This will let us enforce RFC6520 minimum size for padding. Suggest + by Peter Williams; initially investigated by Frank Li. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * src/serv.c: do not try to verify certificates when not needed. + * lib/gnutls_mem.h: unconditionally zeroize temporal keys. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c, lib/gnutls_record.c, - lib/includes/gnutls/gnutls.h.in: properly report unexpected EOF. + * cross.mk, doc/examples/Makefile.am: link examples to GPL gnulib. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * tests/dtls/dtls-stress.c: increase the total timeout in the tests - since they seem to exceed the default DTLS maximum timeout. + * tests/Makefile.am, tests/mini-global-load.c: Avoid unneeded + dependency -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: Do not update twice the DTLS retransmission - timer on finished messages. Report and patch by Sean Buckheister. + * lib/crypto-selftests-pk.c, lib/crypto-selftests.c: Do not include + the FIPS140-specific functions into the main documentation. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: Cleanups in DTLS timers usage. + * tests/key-tests/Makefile.am: Added missing file -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * lib/verify-tofu.c: corrected memory leak + * NEWS: updated documentation -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * .gitignore, NEWS, doc/cha-cert-auth.texi, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, - lib/verify-tofu.c, tests/Makefile.am, tests/mini-deflate.c, - tests/mini-tdb.c: The public key storage backend was made - extendable. Added self test for the pubkey trust default backend. + * lib/libgnutls.map, symbols.last: updated exported symbols table. -2012-02-18 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * tests/dn.c, tests/dn2.c: corrected var names + * NEWS: doc update -2012-02-17 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * src/ocsptool-args.def: updated doc + * lib/crypto-selftests-pk.c, lib/crypto-selftests.c, + lib/libgnutls.map: mark functions that are only available under + FIPS140 mode -2012-02-17 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Added missing functions. + * doc/Makefile.am, doc/manpages/Makefile.am, symbols.last: updated + auto-generated files. -2012-02-17 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: corrected typo + * lib/x509/rfc2818_hostname.c: doc update -2012-02-17 Nikos Mavrogiannopoulos +2014-04-10 Nikos Mavrogiannopoulos - * NEWS, doc/cha-gtls-app.texi, lib/gnutls_dtls.c, - lib/includes/gnutls/dtls.h, lib/libgnutls.map: Added - gnutls_dtls_get_timeout() + * lib/gnutls_cert.c: Enhanced _gnutls_check_key_cert_match() This function now performs a sign/verify test to check whether the + public and private keys match. -2012-02-15 Giuseppe Scrivano +2014-04-10 Nikos Mavrogiannopoulos - * doc/examples/ex-cert-select.c: Fix file leak in an example - application. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_pubkey.c: doc update -2012-02-16 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * tests/dtls/dtls, tests/dtls/dtls-nb: Added more tests. + * cross.mk: update gmplib location -2012-02-16 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, lib/includes/gnutls/gnutls.h.in, - lib/verify-tofu.c: Modified the trust_db API to avoid dependendance - on a structure. + * lib/Makefile.am: removed double entry -2012-02-16 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Prevent any handshake packet except client - hello to trigger a rehandshake error. Patch by Sean Buckheister. + * tests/rsa-encrypt-decrypt.c, tests/x509sign-verify.c: win32 + updates -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-internals.texi: doc updates + * .gitignore: more files to ignore -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * lib/gnutls_global.c, lib/verify-tofu.c: make the default storage - backend thread safe. + * lib/gnutls_int.h: Prevent gnulib from replacing strdup as we don't + include this gnulib module. -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * tests/dtls/dtls, tests/dtls/dtls-nb: added more test cases + * tests/suite/Makefile.am: do not build ecore when cross-compiling + for windows. -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * NEWS: updated + * src/gl/Makefile.am, src/gl/bind.c, src/gl/m4/gnulib-cache.m4, + src/gl/m4/gnulib-comp.m4: Added bind gnulib module. -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: Corrected DTLS retransmission in non-blocking - mode. Based on patch by Sean Buckheister. + * src/gl/Makefile.am, src/gl/connect.c, src/gl/m4/gnulib-cache.m4, + src/gl/m4/gnulib-comp.m4: Added connect gnulib module. -2012-02-15 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, lib/Makefile.am, - lib/includes/gnutls/gnutls.h.in, lib/verify-ssh.c, - lib/verify-tofu.c: The hash in gnutls_store_commitment() is - specified in raw format. + * gl/Makefile.am, gl/getdelim.c, gl/getline.c, gl/m4/getdelim.m4, + gl/m4/getline.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, + gl/tests/Makefile.am, gl/tests/test-getdelim.c, + gl/tests/test-getline.c: Added getline() in gnulib. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-intro-tls.texi: doc updates + * configure.ac: corrected configure test for pthread_mutex_lock -2012-02-14 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * ChangeLog.1: removed unneeded file. + * lib/gnutls_x509.c, lib/x509/x509.c: updated documentation -2012-02-14 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/alert-printlist.c, doc/common.c, - doc/common.h, doc/errcodes.c, doc/printlist.c: break long strings. + * tests/suite/certs/create-chain.sh: updated test cert generator. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-09 Nikos Mavrogiannopoulos - * NEWS, lib/libgnutls.map: documented added function + * NEWS, doc/cha-cert-auth.texi, doc/examples/ex-client-x509.c, + doc/examples/verify.c, lib/gnutls_cert.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/cli.c, + src/common.c, src/common.h, src/serv.c, tests/mini-x509-2.c, + tests/mini-x509.c: Replaced gnutls_certificate_verify_peers3() with + the extendable gnutls_certificate_verify_peers(). That will allow adding new functionality to verification without the + need to add new functions. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * tests/dtls/Makefile.am, tests/dtls/dtls, tests/dtls/dtls-nb, - tests/dtls/dtls-stress.c: Added tests for non-blocking DTLS + * NEWS, doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, + doc/examples/ex-client-x509.c, doc/examples/verify.c, + lib/gnutls_cert.c, lib/gnutls_x509.c, lib/gnutls_x509.h, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + tests/mini-x509.c: Added gnutls_certificate_verify_peers4 which will + verify in addition to hostname, the purpose of the end-certificate. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * doc/cha-bib.texi, doc/cha-cert-auth.texi, doc/latex/gnutls.bib, - lib/includes/gnutls/gnutls.h.in, lib/verify-ssh.c: Added ability to - store commitments (hashes) of public keys. + * m4/hooks.m4: bumped version -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * doc/Makefile.am: Avoid generation of invoke-* in platforms other - than the development + * lib/gnutls_cert.c: simulate gnutls_certificate_verify_peers2() + using gnutls_certificate_verify_peers3(). -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * tests/dtls/dtls: more tests + * lib/gnutls_cert.c: doc update -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * doc/scripts/Makefile.am, doc/scripts/cleanup-autogen.pl: added - cleanup-autogen.pl + * lib/ext/heartbeat.c: doc update -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c: reset sliding window size on new epochs + * lib/gnutls_priority.c: modify to conform to the documentated + level. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-08 Nikos Mavrogiannopoulos - * tests/dtls/dtls, tests/dtls/dtls-stress.c: added more tests and - updated to compile with gnutls' options + * cross.mk: updated makefile -2012-02-14 Nikos Mavrogiannopoulos +2014-04-07 Nikos Mavrogiannopoulos - * configure.ac, tests/Makefile.am, tests/dtls/Makefile.am, - tests/dtls/dtls, tests/dtls/dtls-stress.c: Added DTLS-stress test. - Contributed by Sean Buckheister. + * configure.ac, lib/Makefile.am: avoid checking or linking with + libpthread in windows -2012-02-14 Nikos Mavrogiannopoulos +2014-04-07 Nikos Mavrogiannopoulos - * .gitignore, doc/Makefile.am, doc/epub.texi: Added rules to build - epub version. + * tests/suite/testpkcs11: Corrected check for softhsm shared object. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-07 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_record.c: discard unexpected - buffered changecipherspec + * lib/gnutls_priority.c: Allow multiple spaces into priorities file. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-07 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h, lib/gnutls_int.h, - lib/gnutls_record.c, lib/gnutls_state.c: simplified sliding window. - Now a different window is kept per epoch. + * NEWS, configure.ac, doc/cha-gtls-app.texi, lib/gnutls_priority.c: + The "SYSTEM" initial keyword was replaced with the more generic + "@KEYWORD" The @KEYWORD string will open the pre-configured system priority + file and will expand the KEYWORD, to the priority string set in the + file. The file should have the following format: + KEYWORD=PRIORITY_STRING -2012-02-14 Nikos Mavrogiannopoulos +2014-04-07 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: documentation update + * lib/gnutls_int.h: Use the IANA assigned padding extension number. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/gnutls.texi, doc/scripts/cleanup-autogen.pl: - updated documentation for included programs. + * tests/suite/testpkcs11: skip the test if softhsm doesn't exist -2012-02-14 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_record.c: handle GNUTLS_E_INTERRUPTED when in DTLS mode. + * .gitignore, tests/suite/testpkcs11: Use separate softhsm databases + and config in tests to allow parallel runs. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * tests/key-id/key-id: added a valid template + * README-alpha: added softhsm dependency for testsuite -2012-02-14 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * lib/ext/session_ticket.c, lib/gnutls_buffers.c, - lib/gnutls_buffers.h, lib/gnutls_dtls.c, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_int.h, lib/gnutls_kx.c: Do not - treat any message from the peer as an indication that the last - flight was correctly received. Verify instead that the received - handshake message has an expected sequence number. + * tests/suite/Makefile.am, tests/suite/pkcs11-chainverify.c, + tests/suite/testpkcs11: Converted the PKCS #11 test suite to use + softhsm That allows us running it in the normal test suite. -2012-02-14 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: changecipherspec is correctly added into - buffers. + * src/certtool-args.def, src/certtool.c, src/cli-args.def, + src/cli.c, src/p11tool.c: Allow using the --provider parameter in + gnutls-cli and certtool to specify a PKCS #11 module. -2012-02-12 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * configure.ac, src/libopts/m4/libopts.m4: use NEED_LIBOPTS_DIR=true - instead of modifying libopts.m4 + * tests/suite/pkcs11-chainverify.c: updated test to run in more + systems. -2012-02-12 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h: update and reset timers on - final flight and print timeout value in debugging mode. + * lib/pkcs11.c: set the same flags in the second search -2012-02-11 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * tests/mini-loss-time.c, tests/mini-loss.c: tests with fork are - disabled in windows + * .gitignore: ignore the softhsm test suite files. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * .gitignore: updated + * tests/suite/testpkcs11: fixed bashisms -2012-02-11 Nikos Mavrogiannopoulos +2014-04-05 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h, lib/gnutls_int.h, - lib/gnutls_state.c: use subsecond granularity for DTLS packet - retransmissions. + * tests/suite/certs/create-chain.sh: depend on bash for the + create-chain script -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/mini-loss-time.c: added test to check - whether the DTLS timeout is within a reasonable time. + * tests/mini-x509.c: Enhanced test to check that the correct number + of certificates is received -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * src/tests.c, src/tests.h, src/tls_test.c: Added more tests to - check whether various TLS versions need to be disabled. + * lib/gnutls_x509.c: corrected check for sorted server certificate + chain. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * doc/Makefile.am: be more silent + * lib/pkcs11.c: The GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED flag + is specific to p11-kit trust modules. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * Makefile.am: do not generate .texi on make dist. + * tests/suite/Makefile.am, tests/suite/pkcs11-chainverify.c: Perform + the certificate verification tests in PKCS #11-based verification + using softhsm. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * cross.mk: cross building updates + * lib/x509/verify.c: Perform time check when removing a certificate + in _gnutls_pkcs11_verify_crt_status() This brings the function in par with _gnutls_verify_crt_status(). -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: updated + * lib/pkcs11.c, lib/x509/verify.c: When verifying, check for the + same certificate in the pkcs11 trusted list, not only the issuer When the certificate list verifying ends in a non self-signed + certificate, and the self-signed isn't in our pkcs11 trusted list, + make sure that we search for the non-self-signed as well. This + affects, gnutls_x509_trust_list_verify_crt() when used with a PKCS + #11 trust module. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * src/libopts/m4/libopts.m4, src/libopts/makeshell.c: corrections + * lib/pkcs11.c: Allow manually loading a 'trusted' module. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * src/libopts/COPYING.gplv3, src/libopts/COPYING.lgplv3, - src/libopts/Makefile.am, src/libopts/README, - src/libopts/ag-char-map.h, src/libopts/alias.c, - src/libopts/ao-strs.c, src/libopts/ao-strs.h, - src/libopts/autoopts.c, src/libopts/autoopts.h, - src/libopts/autoopts/options.h, src/libopts/autoopts/usage-txt.h, - src/libopts/boolean.c, src/libopts/check.c, - src/libopts/compat/compat.h, src/libopts/compat/windows-config.h, - src/libopts/configfile.c, src/libopts/cook.c, src/libopts/enum.c, - src/libopts/env.c, src/libopts/file.c, src/libopts/find.c, - src/libopts/genshell.c, src/libopts/genshell.h, - src/libopts/libopts.c, src/libopts/load.c, - src/libopts/m4/libopts.m4, src/libopts/m4/liboptschk.m4, - src/libopts/makeshell.c, src/libopts/nested.c, - src/libopts/numeric.c, src/libopts/parse-duration.c, - src/libopts/parse-duration.h, src/libopts/pgusage.c, - src/libopts/proto.h, src/libopts/putshell.c, src/libopts/reset.c, - src/libopts/restore.c, src/libopts/save.c, src/libopts/sort.c, - src/libopts/stack.c, src/libopts/streqvcmp.c, - src/libopts/text_mmap.c, src/libopts/time.c, - src/libopts/tokenize.c, src/libopts/usage.c, - src/libopts/value-type.h, src/libopts/version.c, - src/libopts/xat-attribute.h: updated libopts + * lib/gnutls_global.c: Do not try to deinitialize the PKCS #11 + libraries from the destructor. If we do and the PKCS #11 modules are already being unloaded, we may + crash. If the deinitialization of the PKCS #11 subsystem is + required then, gnutls_pkcs11_deinit() must be explicitly called. -2012-02-11 Nikos Mavrogiannopoulos +2014-04-04 Nikos Mavrogiannopoulos - * Makefile.am: corrected move of files + * tests/Makefile.am, tests/chainverify.c, tests/test-chains.h: split + test chains from chainverify program. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: escaped brackets + * configure.ac, tests/Makefile.am, tests/key-id/Makefile.am, + tests/key-id/README, tests/key-id/ca-gnutls-keyid.pem, + tests/key-id/ca-no-keyid.pem, tests/key-id/ca-weird-keyid.pem, + tests/key-id/key-ca.pem, tests/key-id/key-id, + tests/key-id/key-user.pem, tests/key-tests/Makefile.am, + tests/key-tests/README, tests/key-tests/ca-gnutls-keyid.pem, + tests/key-tests/ca-no-keyid.pem, + tests/key-tests/ca-weird-keyid.pem, tests/key-tests/key-ca-1234.p8, + tests/key-tests/key-ca-empty.p8, tests/key-tests/key-ca-null.p8, + tests/key-tests/key-ca.pem, tests/key-tests/key-id, + tests/key-tests/key-user.pem, tests/key-tests/pkcs8: Added self-test + for PKCS #8 key conversion and reading -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * cross.mk: depend on p11-kit 0.11 + * tests/chainverify.c: the chainverify test ensures that there is no + diverge between different verification functions. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c: disabled dead code when PKCS11 is not there + * lib/x509/verify-high.c: When verifying check for the same + certificate in the trusted list, not only the issuer When the certificate list verifying ends in a non self-signed + certificate, and the self-signed isn't in our trusted list, make + sure that we search for the non-self-signed in our list as well. + This affects, gnutls_x509_trust_list_verify_crt() and makes its + results identical to gnutls_x509_crt_list_verify(). -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * NEWS, configure.ac: depend on p11-kit 0.11 + * README-alpha: mention test on smart card support -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, lib/includes/gnutls/gnutls.h.in, - lib/verify-ssh.c: updated documentation for back-end. + * README: Added make check to the make process in README -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * doc/latex/gnutls.tex: index after bibliography + * NEWS: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * .gitignore, doc/latex/.gitignore: more files to ignore + * src/certtool-args.def, src/certtool-common.c, + src/certtool-common.h, src/certtool.c: changed the behavior in + certtool's PKCS #8 key export with no password By default when no password is specified, an unencrypted key is + output. The previous behavior of encrypting using an empty password + can be replicated using --empty-password. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-03 Nikos Mavrogiannopoulos - * doc/alert-printlist.c, doc/errcodes.c, doc/printlist.c: avoid - headers in tables + * src/certtool-args.def: Updated documentation on null-password and + password options of certtool. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * src/cli-args.def: documentation update + * tests/suite/testrandom: Added test to check verification with + randomly generated certificates. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * lib/verify-ssh.c: documentation update + * src/certtool-args.def, src/certtool-cfg.c, src/certtool-cfg.h, + src/certtool.c: Combined the code to set CRL next update with + certificate expiration date. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/latex/Makefile.am, doc/scripts/gdoc, - doc/scripts/mytexi2latex: updated doc generation + * NEWS: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * src/certtool-args.def, src/p11tool-args.def, src/srptool-args.def: - doc fixes + * src/certtool-cfg.c: corrected typo -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * NEWS: updated NEWS + * src/certtool-common.c: improved error message -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * doc/examples/Makefile.am: added missing files + * src/certtool-args.def, src/certtool-cfg.c, src/certtool-cfg.h, + src/certtool.c: When a CRL serial number is not specified, generate + a time-based one. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * src/cli.c: resolve port only when needed to. + * doc/cha-shared-key.texi: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * cross.mk: updated makefile + * NEWS, doc/cha-gtls-app.texi, lib/gnutls_priority.c, + lib/priority_options.gperf: Added priority string + %DISABLE_WILDCARDS. This will disable any wildcard matching when comparing hostnames in + certificates. -2012-02-10 Nikos Mavrogiannopoulos +2014-04-02 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: fix in non-blocking case. + * NEWS, lib/gnutls_cert.c, lib/gnutls_str.c, lib/gnutls_str.h, + lib/gnutls_x509.c, lib/includes/gnutls/openpgp.h, + lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/openpgp/compat.c, lib/openpgp/gnutls_openpgp.h, + lib/openpgp/pgp.c, lib/x509/rfc2818_hostname.c, + tests/hostname-check.c: Added verification flag to disable wildcard + checking This adds the verification flag + GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS, and + gnutls_x509_crt_check_hostname2(), + gnutls_openpgp_crt_check_hostname2().  -2012-02-10 Nikos Mavrogiannopoulos +2014-04-01 Nikos Mavrogiannopoulos - * configure.ac: small correction + * NEWS: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-04-01 Nikos Mavrogiannopoulos - * Makefile.am, src/Makefile.am: corrected subdirs for libopts + * tests/cert-tests/aki-cert.pem, tests/cert-tests/bmpstring.pem, + tests/cert-tests/ca-no-pathlen.pem, + tests/cert-tests/complex-cert.pem, + tests/cert-tests/no-ca-or-pathlen.pem: updates for accounting the + SHA256 fingerprint output in certtool -2012-02-10 Nikos Mavrogiannopoulos +2014-04-01 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c, lib/x509/crl.c, lib/x509/crl_write.c, - lib/x509/crq.c, lib/x509/extensions.c, lib/x509/mpi.c, - lib/x509/output.c, lib/x509/pkcs12.c, lib/x509/pkcs12_bag.c, - lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/sign.c, lib/x509/verify.c, - lib/x509/x509.c, lib/x509/x509_write.c, src/cli.c, src/dh.c, - src/serv.c: ENABLE_PKI is no more + * lib/x509/x509.c: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-04-01 Nikos Mavrogiannopoulos - * m4/hooks.m4, src/Makefile.am: fix + * lib/x509/output.c: Print the SHA256 fingerprint of the certificate + in addition to SHA1. -2012-02-10 Nikos Mavrogiannopoulos +2014-03-30 Nikos Mavrogiannopoulos - * doc/examples/Makefile.am, src/Makefile.am, src/socket.c: fix - compilation + * lib/verify-tofu.c: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-03-31 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: fixed leak + * lib/gnutls_ui.c: simplified + gnutls_certificate_client_get_request_status() - no error is + possible. -2012-02-10 Nikos Mavrogiannopoulos +2014-03-31 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: cleanup enable/disable options stuff. + * lib/gnutls_record.c: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-03-31 Nikos Mavrogiannopoulos - * configure.ac, src/libopts/compat/compat.h, src/libopts/cook.c, - src/libopts/makeshell.c, src/libopts/text_mmap.c: fixes to allow - libopts to compile in windows + * lib/gnutls_record.c: cleaned up documentation of + gnutls_record_send() -2012-02-10 Nikos Mavrogiannopoulos +2014-03-28 Nikos Mavrogiannopoulos - * lib/system.c: corrected typo + * tests/chainverify.c: Added test for CVE-2014-0092 -2012-02-10 Nikos Mavrogiannopoulos +2014-03-28 Nikos Mavrogiannopoulos - * NEWS, doc/examples/ex-verify-ssh.c, - lib/includes/gnutls/gnutls.h.in, lib/verify-ssh.c, - src/cli-args.def, src/cli.c: gnutls_verify_stored_pubkey() and - gnutls_store_pubkey() allow for alternative storage back-end. + * tests/Makefile.am: removed reference to mini_xssl -2012-02-10 Nikos Mavrogiannopoulos +2014-03-28 Nikos Mavrogiannopoulos - * src/cli.c, src/socket.c, src/socket.h: use getservbyport() to - obtain the service name. + * tests/chainverify.c: Added self checks for various verification + profiles -2012-02-10 Nikos Mavrogiannopoulos +2014-03-28 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/m4/gnulib-cache.m4: added servent + * tests/mini-dtls-large.c: Added test for gnutls_record_cork() and + uncork usage under DTLS. -2012-02-10 Nikos Mavrogiannopoulos +2014-03-28 Nikos Mavrogiannopoulos - * doc/examples/ex-verify-ssh.c, src/cli.c: use updated api + * lib/gnutls_record.c: make gnutls_record_uncork() more DTLS + friendly. -2012-02-10 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * src/benchmark-tls.c: updated for new eagain-common.h + * lib/gnutls_priority.c: using the SYSTEM priority string will fail + if there is no system file -2012-02-10 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-gtls-examples.texi, - doc/examples/ex-verify-ssh.c, lib/includes/gnutls/gnutls.h.in, - lib/verify-ssh.c: Removed the application field and added an - expiration field. + * doc/cha-gtls-app.texi: doc update -2012-02-10 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * doc/examples/ex-client-x509.c: updated example + * NEWS: reformatted NEWS entries -2012-02-10 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_record.c: More robust behavior - against packet loss + * NEWS, doc/cha-gtls-app.texi, lib/gnutls_int.h, + lib/gnutls_priority.c: The %COMPAT keyword no longer reduces + security. Introduced the LEGACY keyword which will enable the settings used in + GnuTLS 3.2.x for NORMAL keyword. That is to be used in cases where + compatibility with weak or misconfigured servers is required. -2012-02-09 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * lib/system.c, lib/system.h: removed unneeded function. + * doc/manpages/Makefile.am: replaced wrong manpage generation + parameter -2012-02-09 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * doc/examples/ex-client-srp.c: updated example + * lib/ext/status_request.c, lib/x509/crl.c, lib/x509/crq.c, + lib/x509/x509.c, lib/x509/x509_write.c: fixed gdoc documentation -2012-02-09 Nikos Mavrogiannopoulos +2014-03-26 Daniel Kahn Gillmor - * lib/gnutls_record.c: updated + * README: update README to reflect gmplib licensing change As of version 6.0.0, gmplib moved its licensing from LGPLv3+ to a + dual-license LGPLv3+/GPLv2+ license. This licensing change affects the licenses under which versions of + GnuTLS can be redistributed. Update the README to reflect this change. -2012-02-09 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: prevent sending EOF to caller. + * configure.ac: Fix patch version calculation when it contains + non-numeric chars -2012-02-09 Nikos Mavrogiannopoulos +2014-03-27 Nikos Mavrogiannopoulos - * tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, - tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, - tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c: - print client/server when in debugging + * configure.ac: print RSA-EXPORT status -2012-02-08 Nikos Mavrogiannopoulos +2014-03-23 Nikos Mavrogiannopoulos - * NEWS, THANKS, tests/mini-loss.c: Added Sean. + * lib/gnutls_str.c: use isascii instead of isprint for + internationalized name detection -2012-02-08 Nikos Mavrogiannopoulos +2014-03-26 Nikos Mavrogiannopoulos - * tests/eagain-common.h, tests/mini-deflate.c, - tests/mini-eagain-dtls.c, tests/mini-eagain.c, - tests/mini-x509-rehandshake.c, tests/mini-x509.c, tests/mini.c: - tests print server or client side in debugging output. + * m4/hooks.m4: bump so version -2012-02-08 Nikos Mavrogiannopoulos +2014-03-26 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_record.c: - gnutls_record_check_pending() accounts data not yet processed. DTLS - layer avoids multiple retransmissions in non-blocking mode. + * src/certtool-args.def, src/certtool-common.c: fixes for 'medium' + level -2012-02-08 Nikos Mavrogiannopoulos +2014-03-26 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: avoid many allocations for transmitting DTLS - packets. + * lib/auth/dh_common.c: add a check for invalid DH parameters. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-26 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/loss-common.h, tests/mini-loss.c, - tests/mini-loss2.c: mini-loss2 is more robust. + * tests/anonself.c, tests/dhepskself.c: Add checks in tests for the + DHE prime and exponent size. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-26 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h, lib/gnutls_handshake.c, - lib/gnutls_record.c: DTLS is more tolerant in packet loss during - last flight. + * doc/TODO: doc update -2012-02-08 Nikos Mavrogiannopoulos +2014-03-21 Nikos Mavrogiannopoulos - * .gitignore, tests/Makefile.am, tests/mini-loss2.c: Added test - program mini-loss2. + * tests/x509-extensions.c: fixed test to use the correct function + names. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-21 Nikos Mavrogiannopoulos - * doc/examples/ex-client-anon.c, doc/examples/ex-client-dtls.c, - doc/examples/ex-client-psk.c, doc/examples/ex-client-resume.c, - doc/examples/ex-client-srp.c, doc/examples/ex-serv-anon.c, - doc/examples/ex-serv-dtls.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv-x509.c: updated examples + * lib/gnutls_cert.c, lib/gnutls_str.c, lib/gnutls_str.h, + lib/openpgp/pgp.c, lib/x509/rfc2818_hostname.c, + tests/hostname-check.c: Severely simplified hostname matching. Now only wildcards only the leftmost position of the string are + allowed (followed by at least two components), and are only taken + into account into ascii strings. Non-ascii strings are compared + byte-by-byte. That means that wildcards in the form + bar*foo.example.com are no longer accepted, as well as wildcards of + the form *.*.*.example.com. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-21 Nikos Mavrogiannopoulos - * configure.ac: enable crywrap only if function daemon exists. + * lib/x509/verify-high.c, lib/x509/verify.c, lib/x509/x509_int.h: + use commit suffix for functions that return a status code. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-20 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h: Be - conservative when sending GNUTLS_E_AGAIN and check for a DTLS - timeout before. + * lib/nettle/rnd-common.c, lib/nettle/rnd.c: Simplifications in the + RNG code. -2012-02-08 Nikos Mavrogiannopoulos +2014-03-20 Nikos Mavrogiannopoulos - * .gitignore, gl/Makefile.am, gl/argp-help.c, gl/argp-parse.c, - gl/argp.h, gl/base64.c, gl/fseeko.c, gl/fseterr.c, - gl/gettimeofday.c, gl/m4/exponentd.m4, gl/m4/gettimeofday.m4, - gl/m4/gnulib-cache.m4, gl/m4/po.m4, gl/m4/stdalign.m4, - gl/m4/sys_time_h.m4, gl/m4/vasnprintf.m4, gl/select.c, gl/sleep.c, - gl/stdio-impl.h, gl/stdio.in.h, gl/sys_select.in.h, - gl/sys_socket.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, - gl/tests/init.sh, gl/tests/ioctl.c, gl/tests/test-base64.c, - gl/tests/test-init.sh, gl/tests/test-strerror.c, - gl/tests/test-sys_select.c, gl/tests/test-sys_time.c, - gl/tests/w32sock.h, gl/vasnprintf.c, gl/version-etc.h, - gl/w32sock.h, maint.mk: added strndup and updated gnulib. + * NEWS: doc update -2012-02-08 Nikos Mavrogiannopoulos +2014-03-20 Nikos Mavrogiannopoulos - * .gitignore, tests/Makefile.am, tests/loss-common.h, - tests/mini-loss.c: Added test to simulate loss of packets in DTLS. + * src/certtool-args.def: the longer e-mail caused crash in autogen's + manpage generation -2012-02-08 Nikos Mavrogiannopoulos +2014-03-20 Nikos Mavrogiannopoulos - * lib/debug.c, lib/gnutls_buffers.c, lib/gnutls_dtls.c, - lib/gnutls_record.c: DTLS fixes. Corrected bugs in DTLS sliding - window code to account for lost packets arriving after an epoch - change. The last handshake flight is now being kept by both parties - in order to be used as a lost packet indication. + * NEWS, doc/Makefile.am, doc/cha-cert-auth.texi, + doc/manpages/Makefile.am, lib/includes/gnutls/x509-ext.h, + lib/libgnutls.map, lib/x509/crq.c, lib/x509/extensions.c, + lib/x509/name_constraints.c, lib/x509/output.c, lib/x509/x509.c, + lib/x509/x509_ext.c, lib/x509/x509_write.c, symbols.last: renamed + some of the newly introduced functions -2012-02-07 Nikos Mavrogiannopoulos +2014-03-20 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Discard unexpected handshake or other packets - in DTLS + * lib/gnutls_x509.c: set the invalid flag when the owner is + unexpected. -2012-02-07 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/gnutls_int.h: initial_negotiation_completed type changed to - unsigned + * lib/gnutls_str.c, lib/x509/rfc2818_hostname.c, + tests/hostname-check.c: Changed the behaviour in wildcard acceptance + in certificates. Wildcards are only accepted when there are more than two domain + components after the wildcard. This will prevent accepting + certificates from CAs that issued '*.com', or 'www.*'. -2012-02-07 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am: Included missing file in windows - builds. + * NEWS: doc update -2012-02-06 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/auth/cert.c: Corrected check for the callback for - gnutls_certificate_set_retrieve_function(). Reported by Dan Winship. + * tests/x509-extensions.c: Added more key usage flags in the test + for x509-extensions. -2012-02-06 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/gnutls_cert.c: updated documentation for - gnutls_certificate_set_retrieve_function2. + * tests/x509-extensions.c: x509-extensions test will fail if an + unhandled extension is found. -2012-02-06 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/includes/gnutls/abstract.h: include - gnutls_certificate_set_retrieve_function2() to documentation. - Reported by Dan Winship. + * lib/Makefile.am: ship the gperf file and the generated one. -2012-02-06 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_int.h, lib/gnutls_state.c: Corrected DTLS retransmission - timeouts. Added the _ms suffix to the time variables in - milliseconds. Report and patch by Sean Buckheister. + * .gitignore, Makefile.am, NEWS, cfg.mk, doc/Makefile.am, + doc/doc.mk, doc/manpages/Makefile.am, symbols.last: doc update -2012-02-01 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * doc/scripts/gdoc: updated information in manpages. + * doc/cha-cert-auth.texi: documented the new X.509 extension API -2012-02-01 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: updated manpages + * src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c: Certtool + can now write more than a single crl_dist_point. -2012-02-01 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * NEWS: corrected added function + * tests/Makefile.am, tests/cert-tests/template-test.pem, + tests/cert-tests/template-test.tmpl, + tests/cert-tests/template-utf8.pem, + tests/cert-tests/template-utf8.tmpl, tests/hostname-check.c, + tests/x509-extensions.c: Added unit tests for new API -2012-01-31 Nikos Mavrogiannopoulos +2014-03-19 Nikos Mavrogiannopoulos - * lib/gnutls_global.c: text update + * lib/includes/Makefile.am, lib/includes/gnutls/x509-ext.h, + lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/Makefile.am, lib/x509/common.c, lib/x509/common.h, + lib/x509/crq.c, lib/x509/extensions.c, lib/x509/name_constraints.c, + lib/x509/output.c, lib/x509/x509.c, lib/x509/x509_ext.c, + lib/x509/x509_int.h, lib/x509/x509_write.c: Added new API to handle + X.509 extensions. This API handles the X.509 extensions in separate, allowing to parse + similarly formatted extensions stored in other structures. In + addition functions that simplify the extraction of extensions from + known structures were added: - gnutls_x509_crq_get_extension_data2() - gnutls_x509_crl_get_extension_data2() - gnutls_x509_crt_get_extension_data2() The old functions were rewritten to use the new API. -2012-01-31 Nikos Mavrogiannopoulos +2014-03-14 Nikos Mavrogiannopoulos - * doc/cha-cert-auth2.texi, lib/gnutls_pubkey.c: Updated - documentation for gnutls_pubkey. + * NEWS: doc update -2012-01-31 Nikos Mavrogiannopoulos +2014-02-28 Nikos Mavrogiannopoulos - * Makefile.am, doc/Makefile.am, doc/manpages/Makefile.am: replacing - the version is not enough. Regenerate all files depending on .dep on - dist-hook. + * lib/x509/extensions.c: Corrected error checking in + _gnutls_x509_ext_gen_proxyCertInfo -2012-01-31 Nikos Mavrogiannopoulos +2014-03-12 Nikos Mavrogiannopoulos - * .gitignore, Makefile.am, configure.ac, src/certtool-args.def, - src/certtool-args.def.in, src/cli-args.def, src/cli-args.def.in, - src/cli-debug-args.def, src/cli-debug-args.def.in, - src/ocsptool-args.def, src/ocsptool-args.def.in, - src/p11tool-args.def, src/p11tool-args.def.in, src/psk-args.def, - src/psk-args.def.in, src/serv-args.def, src/serv-args.def.in, - src/srptool-args.def, src/srptool-args.def.in: No need for .def.in - files. The @VERSION@ is now being replaced on dist-hook. Also - corrected the dist-hook for ChangeLog. + * doc/TODO: doc update -2012-01-31 Nikos Mavrogiannopoulos +2014-03-12 Nikos Mavrogiannopoulos - * doc/Makefile.am: updates + * src/serv.c: initialize pointer -2012-01-31 Nikos Mavrogiannopoulos +2014-03-12 Luis G.F - * configure.ac: make configure detect valgrind. This is by creating - the suppressions.valgrind file. + * src/serv.c: serv.c Fix memory leak for *crtinfo pointer. The + reference is lost if an allocation error occured. Signed-off-by: Luis G.F -2012-01-31 Nikos Mavrogiannopoulos +2014-03-11 Nikos Mavrogiannopoulos - * lib/x509_b64.c: use gnulib's base64 code + * src/certtool-cfg.c: use the number of seconds as serial in 32-bit + systems -2012-01-30 Nikos Mavrogiannopoulos +2014-03-11 Nikos Mavrogiannopoulos - * tests/cert-tests/Makefile.am, tests/cert-tests/funny-spacing.pem, - tests/cert-tests/pem-decoding: Added test to ensure we can decode - PEM encoded certificates with carriage returns, spaces and tabs. + * lib/auth/cert.c: Only check PK compatibility in client side but + also when using openpgp certs. -2012-01-30 Nikos Mavrogiannopoulos +2014-03-11 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c: use gnulib's base64 encoding/decoding code + * lib/algorithms/kx.c: corrected initializer -2012-01-30 Nikos Mavrogiannopoulos +2014-03-11 Nikos Mavrogiannopoulos - * tests/openpgp-certs/testcerts: silence test + * lib/auth/cert.c: shortend static function names. -2012-01-30 Nikos Mavrogiannopoulos +2014-03-11 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c: align crc32 table + * lib/algorithms.h, lib/algorithms/kx.c, lib/auth/cert.c: verify + that the algorithm of the received certificate matches the expected. -2012-01-30 Nikos Mavrogiannopoulos +2014-03-10 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c: __MINGW32__ -> _WIN32 + * NEWS: doc update -2012-01-30 Nikos Mavrogiannopoulos +2014-03-10 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c, lib/opencdk/main.h: removed dummy function + * doc/Makefile.am, doc/cha-functions.texi, + doc/cha-gtls-examples.texi, doc/doc.mk, doc/examples/Makefile.am, + doc/examples/ex-client-xssl1.c, doc/examples/ex-client-xssl2.c, + doc/manpages/Makefile.am, lib/Makefile.am, + lib/includes/Makefile.am, lib/includes/gnutls/xssl.h, lib/xssl.c, + lib/xssl.h, lib/xssl_getline.c, tests/Makefile.am, + tests/mini-xssl.c: The xssl experimental library was removed. While the idea of a high level library is nice, there are no + resources to maintain an additional library. -2012-01-30 Nikos Mavrogiannopoulos +2014-03-09 Nikos Mavrogiannopoulos - * lib/opencdk/write-packet.c: corrected spacing + * configure.ac, lib/nettle/mpi.c, m4/hooks.m4: Added option to + enable linking with nettle-mini -2012-01-30 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * lib/opencdk/write-packet.c: Correct export of openpgp packets that - have no private keying material in it's primary key. Patch by Sean - Buckheister. + * lib/x509/verify.c: re-enabled certificate verification -2012-01-30 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * src/cli.c, src/common.c, src/common.h: added - print_cert_info_compact(). + * lib/algorithms/ciphersuites.c: ciphersuites that utilize SHA256 or + SHA384 are only available in TLS 1.0 The SSL 3.0 protocol (rfc6101) uses a variant of HMAC that is only + defined for MD5 and SHA1. Thus if such a ciphersuite is negotiated + under SSL 3.0, it will during MAC initialization. -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * src/ocsptool-common.c: send_ocsp_request is more tolerant on - errors. + * lib/algorithms.h, lib/algorithms/mac.c, lib/algorithms/sign.c, + lib/crypto-api.c, lib/gnutls_buffers.c, lib/gnutls_cert.c, + lib/gnutls_handshake.c, lib/gnutls_hash_int.c, lib/gnutls_int.h, + lib/gnutls_pcert.c, lib/gnutls_privkey.c, lib/gnutls_pubkey.c, + lib/gnutls_sig.c, lib/gnutls_srp.c, lib/gnutls_ui.c, + lib/verify-tofu.c, lib/x509/crq.c, lib/x509/ocsp.c, + lib/x509/ocsp_output.c, lib/x509/pkcs12_encr.c, lib/x509/privkey.c, + lib/x509/x509.c: stricter type usage -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * NEWS: updated doc + * lib/accelerated/x86/aes-padlock.h, + lib/accelerated/x86/x86-common.c, lib/algorithms/ciphersuites.c, + lib/gnutls_hash_int.c, lib/nettle/pk.c: explicit type conversions + when needed -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * gl/m4/valgrind-tests.m4: valgrind with suppressions. + * lib/auth/psk.c, lib/auth/rsa_psk.c, lib/auth/srp_passwd.c, + lib/gnutls_pubkey.c, lib/gnutls_sig.c, lib/pkcs11.c, + lib/x509/key_encode.c, src/certtool-common.c: more fixes due to + clang -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: until autogen supports subheading tag - live with a workaround. + * lib/x509/common.c: silence some warnings -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * src/cli-args.def.in, src/psk-args.def.in: updated manpages + * lib/auth/cert.c, lib/opencdk/armor.c, lib/openpgp/pgp.c, + lib/verify-tofu.c: clang warning fixes -2012-01-29 Nikos Mavrogiannopoulos +2014-03-08 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: autogen required for building. + * src/certtool-cfg.c: removed unused variables. -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Kevin Cernekee - * doc/Makefile.am: Revert "autogen failure is not fatal." This reverts commit 175e021fd8d0c195690b2d8806bd3a07e84415ce. + * src/Makefile.am: Fix build failures on autogen'ed docs autogen needs to be invoked with $(srcdir)/-args.def or else it + will not be able to find the input file if GnuTLS is built out of + tree, e.g. mkdir build cd build ../configure make Also, add missing targets for %-args.h, to avoid this error: make[2]: Entering directory `/home/user/gnutls/src' autogen srptool-args.def autogen psk-args.def make[2]: *** No rule to make target `ocsptool-args.h', needed by + `all'. Stop. make[2]: Leaving directory + `/home/user/gnutls/src' make[1]: *** [all-recursive] Error 1 For portability's sake we will spell out the rule for each target + instead of using a GNU '%' pattern rule: + https://www.gnu.org/software/make/manual/html_node/Features.html#FeaturesSigned-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Kevin Cernekee - * doc/Makefile.am: autogen failure is not fatal. + * .gitignore, doc/Makefile.am: Fix build failures involving + doc/invoke-*.texi Several problems were found in this area: 1) Currently, if SRC_DEF_* are undefined, autogen will get invoked + with no input file and it will hang forever waiting for content from + stdin: mv -f enums.texi-tmp enums.texi mkdir enums ../../doc/scripts/split-texi.pl enums enum < enums.texi echo stamp_enums > stamp_enums cd ../src/ && autogen -Tagtexi-cmd.tpl && \ rm -f ../doc/invoke-gnutls-cli.texi && \ ../doc/scripts/cleanup-autogen.pl + <../src/invoke-gnutls-cli.texi + >../doc/invoke-gnutls-cli.texi.tmp && \ mv -f + ../doc/invoke-gnutls-cli.texi.tmp ../doc/invoke-gnutls-cli.texi && \ + rm -f ../src/invoke-gnutls-cli.texi Since these documents are @include'd by other documents, it is + probably a good idea to make sure the targets are buildable in case + they get listed as prerequisites. 2) SRC_DEF_* used relative paths which are correct for an in-place + build, but incorrect for an out-of-tree build. They should use + something like $(top_srcdir)/src to resolve the ambiguity. 3) cleanup-autogen.pl was also referenced using a relative pathname, + breaking out-of-tree builds. 4) The non-portable "sed -i" flag was used. Signed-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Kevin Cernekee - * gl/override/m4/valgrind-tests.m4.diff: Added --leak-check=full to - valgrind options. + * README-alpha: README-alpha: Add gperf dependency for building from + git Without gperf, priority-options.h does not get built and this + results in a compile error. Signed-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Kevin Cernekee - * tests/ocsp.c: updated for new gnutls_ocsp_resp_verify_direct - semantics. + * src/gl/stdint.in.h, src/gl/sys_types.in.h: updated gnulib This pulls in upstream commit cb3c90598 (stdint, read-file: fix + missing SIZE_MAX on Android). Signed-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Nikos Mavrogiannopoulos - * .gitignore, doc/.gitignore: more files to ignore + * lib/x509/verify.c: more type separation -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Nikos Mavrogiannopoulos - * lib/auth/cert.h, lib/includes/gnutls/ocsp.h, - lib/openpgp/openpgp_int.h, lib/x509/ocsp.c, lib/x509/ocsp_output.c: - small fixes + * src/Makefile.am: use psktool-args -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Nikos Mavrogiannopoulos - * lib/auth/cert.h, lib/includes/gnutls/ocsp.h, lib/libgnutls.map, - lib/openpgp/openpgp_int.h, lib/x509/ocsp.c, lib/x509/ocsp_output.c: - Revert "Added gnutls_ocsp_resp_verify() and some sign fixes." This reverts commit efaa2ee176568fcd009ff2ca9daa1b7fdac4c491. Conflicts: lib/x509/ocsp.c + * lib/x509/verify.c: more type separation -2012-01-29 Nikos Mavrogiannopoulos +2014-03-07 Nikos Mavrogiannopoulos - * gl/m4/valgrind-tests.m4, gl/override/m4/valgrind-tests.m4.diff: - Revert "Enable valgrind again." This commit disabled the - suppressions which is required for tests to succeed. This reverts commit 82498bad27645c47222fa932a7caa2e95747980a. + * lib/x509/verify.c: separated types for easier verification -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Kevin Cernekee - * NEWS, src/ocsptool-args.def.in: updated text + * .gitignore, doc/manpages/Makefile.am, src/Makefile.am, + src/psk-args.def, src/psk.c, src/psktool-args.def: Rename + psk-args.def to psktool-args.def Other utilities generate invoke-%.texi from %-args.def, but + currently invoke-psktool.texi is generated from psk-args.def. If we + make psktool conform to the same convention as the other utilities, + we can use a generic pattern to handle all of them the same way. Signed-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Kevin Cernekee - * src/ocsptool.c: removed debugging code + * doc/Makefile.am: doc: Fix enums.texi failure on out-of-tree builds enums.texi is a generated file so we should not look for it in + $(srcdir). When we do, chaos ensues: mv -f enums.texi-tmp enums.texi mkdir enums ../../doc/scripts/split-texi.pl enums enum < + ../../doc/enums.texi /bin/bash: ../../doc/enums.texi: No such + file or directory make[4]: *** [stamp_enums] Error 1 make[4]: Leaving directory `/home/user/gnutls/build/doc' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/user/gnutls/build/doc' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/user/gnutls/build/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/user/gnutls/build' make: *** [all] Error 2 Signed-off-by: Kevin Cernekee -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * lib/x509/ocsp.c: gnutls_ocsp_resp_verify_direct() will use the - intermediate certificates in the response in order to verify the - validity, thus aligning its functionality with - gnutls_ocsp_resp_verify(). + * lib/openpgp/extras.c: Ensure failure when no base64 data have been + read. Suggested by Ramkumar Chinchani. -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * src/cli.c, src/common.c, src/common.h, src/ocsptool-common.c, - src/ocsptool-common.h, src/ocsptool.c, src/serv.c, src/tests.c: - cleanup a bit the printing information stuff. + * lib/Makefile.am: xssl compilation fix; patch by Colin Leroy -2012-01-29 Nikos Mavrogiannopoulos +2014-03-05 Jason Spafford - * src/Makefile.am: corrected dependencies + * lib/opencdk/misc.c: Fixed checking the length of a null string in cdk_strlist_add, it would check the strlen of the 'string' + parameter before it checked if the parameter was null. Signed-off-by Jason Spafford nullprogrammer@gmail.com -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi, - doc/cha-programs.texi, doc/cha-shared-key.texi, - src/certtool-args.def.in, src/cli-args.def.in, - src/cli-debug-args.def.in, src/ocsptool-args.def.in, - src/p11tool-args.def.in, src/psk-args.def.in, src/serv-args.def.in, - src/srptool-args.def.in: Manual pages for included programs are - auto-generated using the autoopts definitions. + * Makefile.am, symbols.last: Added symbol check prior to release + (after discussion with Andreas Metzler) -2012-01-29 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: corrected dependencies + * doc/Makefile.am, doc/manpages/Makefile.am: updated doc -2012-01-28 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * src/Makefile.am, src/cli-args.def.in, src/cli.c, src/common.c, - src/common.h, src/ocsptool-common.c, src/ocsptool-common.h, - src/ocsptool.c, src/serv.c: gnutls-cli will try to verify ocsp - responses if --ocsp is given. + * build-aux/test-driver, build-aux/ylwrap: updated build-aux files -2012-01-28 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * lib/auth/cert.h, lib/includes/gnutls/ocsp.h, lib/libgnutls.map, - lib/openpgp/openpgp_int.h, lib/x509/ocsp.c, lib/x509/ocsp_output.c: - Added gnutls_ocsp_resp_verify() and some sign fixes. + * doc/Makefile.am: removed no-split as it causes issues in pdf + building -2012-01-28 Nikos Mavrogiannopoulos +2014-03-06 Nikos Mavrogiannopoulos - * doc/TODO: updated todo + * gl/Makefile.am, gl/bind.c, gl/connect.c, gl/m4/arpa_inet_h.m4, + gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/inet_pton.m4, + gl/m4/socketlib.m4, gl/m4/sockets.m4, gl/stdint.in.h, + gl/sys_types.in.h, gl/tests/Makefile.am, gl/tests/test-arpa_inet.c, + gl/tests/test-bind.c, gl/tests/test-connect.c, + gl/tests/test-inet_pton.c, gl/tests/test-sockets.c, + gl/tests/w32sock.h, gl/w32sock.h: removed all networking code from + libgl -2012-01-28 Nikos Mavrogiannopoulos +2014-03-05 Nick Alcock - * NEWS: updated text. + * configure.ac: Overridewq AUTOGEN under --enable-local-libopts only + if autogen is not needed. After commit 6addbc3, specifying --enable-local-libopts + unconditionally replaces the autogen-erated files with their + distributed copies, and substitutes AUTOGEN to false. The assumption here is that if --enable-local-libopts is not + specified, autogen cannot be installed, and that the distributed + copies necessarily exist. Neither assumption is always correct. + e.g. someone building a 32-bit copy of GnuTLS from git with a copy + of autogen on their system will have a 64-bit copy of libopts, and a + working /usr/bin/autogen, but not a 32-bit libopts. Since building + autogen depends on Guile, this is a rather heavyweight pile of gear + to require. (You can force a successful build in this case, but it + requires providing AUTOGEN=/usr/bin/autogen to make(1), which is + distinctly inelegant.) So fix things so that if any of the distributed copies do not exist, + we do not substitute AUTOGEN, so as to let any copy of autogen that + configure found on the system do its job if necessary, while not + forcing the user to link against the copy of libopts which came with + that autogen. Signed-off-by: Nikos Mavrogiannopoulos -2012-01-28 Nikos Mavrogiannopoulos +2014-03-05 Nikos Mavrogiannopoulos - * doc/examples/ex-verify-ssh.c, src/cli.c: Do not store a key when - it already exists. + * configure.ac, lib/ext/session_ticket.c, lib/gnutls_extensions.c, + lib/gnutls_handshake.c, lib/gnutls_state.c, m4/hooks.m4, src/serv.c: + session tickets can be disabled -2012-01-28 Nikos Mavrogiannopoulos +2014-03-05 Nikos Mavrogiannopoulos - * NEWS, src/cli-args.def.in, src/cli.c: ssh flag is has the option - to be disabled/enabled. + * doc/examples/Makefile.am, lib/ext/cert_type.c, + lib/ext/status_request.c, lib/gnutls_extensions.c, + lib/gnutls_handshake.c, lib/gnutls_state.c, lib/gnutls_x509.c: + increased code disabled from disable-ocsp and disable-openpgp + options -2012-01-28 Nikos Mavrogiannopoulos +2014-02-17 Nikos Mavrogiannopoulos - * NEWS, configure.ac, doc/cha-cert-auth.texi, - doc/cha-gtls-examples.texi, doc/examples/Makefile.am, - doc/examples/ex-cert-select-pkcs11.c, - doc/examples/ex-cert-select.c, doc/examples/ex-client-dtls.c, - doc/examples/ex-client-resume.c, doc/examples/ex-client-srp.c, - doc/examples/ex-client-x509.c, doc/examples/ex-serv-dtls.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv-x509.c, doc/examples/ex-verify-ssh.c, - doc/examples/examples.h, lib/Makefile.am, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, - lib/openpgp/output.c, lib/system.c, lib/system.h, lib/verify-ssh.c, - lib/x509/output.c, src/cli-args.def.in, src/cli.c, src/common.c, - src/common.h, src/tests.c: Added gnutls_verify_stored_pubkey() and - gnutls_store_pubkey(). This enables using ssh-like authentication - for TLS sessions. + * doc/cha-gtls-app.texi, lib/ext/Makefile.am, + lib/ext/new_record_padding.c, lib/ext/new_record_padding.h, + lib/gnutls_cipher.c, lib/gnutls_constate.c, lib/gnutls_dtls.c, + lib/gnutls_extensions.c, lib/gnutls_int.h, lib/gnutls_priority.c, + lib/gnutls_range.c, lib/gnutls_record.h, lib/gnutls_session_pack.c, + lib/priority_options.gperf, src/cli-args.def, + tests/mini-record-2.c, tests/mini-record-range.c, + tests/mini-record.c: NEW_PADDING has been removed. This extension did not get accepted by IETF so it is now being + removed. The gnutls_range API is kept in case length hiding is + implemented in a different way at some point. -2012-01-28 Nikos Mavrogiannopoulos +2014-03-05 Ludovic Courtès - * src/ocsptool.c: allow the usage of --load-trust with --ask + * doc/gnutls-guile.texi: doc: Add indices to the gnutls-guile + manual. -2012-01-27 Nikos Mavrogiannopoulos +2014-03-04 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/strtok_r.m4, gl/strtok_r.c: Added strtok_r. + * m4/hooks.m4: re-introduced rsa-export configure option This broke backwards compatibility. Reported by Andreas Metzler. -2012-01-27 Nikos Mavrogiannopoulos +2014-03-04 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/base64.c, gl/base64.h, gl/m4/base64.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/stdalign.m4, - gl/tests/Makefile.am, gl/tests/malloca.c, gl/tests/test-base64.c: - added base64 module + * doc/examples/Makefile.am: examples include both gnulibs -2012-01-27 Nikos Mavrogiannopoulos +2014-03-04 Nikos Mavrogiannopoulos - * lib/x509_b64.c: added fixme + * src/gl/Makefile.am, src/gl/fseek.c, src/gl/fseeko.c, + src/gl/fstat.c, src/gl/getdelim.c, src/gl/getline.c, + src/gl/getpass.c, src/gl/getpass.h, src/gl/lseek.c, + src/gl/m4/fseek.m4, src/gl/m4/fseeko.m4, src/gl/m4/fstat.m4, + src/gl/m4/getdelim.m4, src/gl/m4/getline.m4, src/gl/m4/getpass.m4, + src/gl/m4/gnulib-cache.m4, src/gl/m4/gnulib-comp.m4, + src/gl/m4/largefile.m4, src/gl/m4/lseek.m4, src/gl/m4/malloc.m4, + src/gl/m4/realloc.m4, src/gl/m4/strdup.m4, src/gl/m4/sys_stat_h.m4, + src/gl/malloc.c, src/gl/realloc.c, src/gl/stdio-impl.h, + src/gl/strdup.c, src/gl/sys_stat.in.h: Added getpass in src/gl + +2014-03-04 Nikos Mavrogiannopoulos + + * gl/Makefile.am, gl/fseek.c, gl/fseeko.c, gl/getdelim.c, + gl/getline.c, gl/getpass.c, gl/getpass.h, gl/m4/fseek.m4, + gl/m4/getdelim.m4, gl/m4/getline.m4, gl/m4/getpass.m4, + gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/strdup.m4, + gl/strdup.c, gl/tests/Makefile.am, gl/tests/test-fseek.c, + gl/tests/test-fseek.sh, gl/tests/test-fseek2.sh, + gl/tests/test-fseeko.c, gl/tests/test-fseeko.sh, + gl/tests/test-fseeko2.sh, gl/tests/test-fseeko3.c, + gl/tests/test-fseeko3.sh, gl/tests/test-fseeko4.c, + gl/tests/test-fseeko4.sh, gl/tests/test-getdelim.c, + gl/tests/test-getline.c: removed getpass from gl/ + +2014-03-04 Nikos Mavrogiannopoulos + + * .gitignore, src/Makefile.am, src/certtool-cfg.c: more gl updates + +2014-03-04 Nikos Mavrogiannopoulos + + * src/Makefile.am: changes for new gnulib in src/ + +2014-03-04 Nikos Mavrogiannopoulos + + * lib/nettle/rnd-common.c: corrent error print in win32 + +2014-03-04 Nikos Mavrogiannopoulos + + * lib/fips.c, lib/system.c: Changes to account for the reduced + included gnulib + +2014-03-04 Nikos Mavrogiannopoulos + + * src/crywrap/crywrap.c: added missing declaration + +2014-03-04 Nikos Mavrogiannopoulos + + * lib/gnutls_global.c: removed any dependencies to gnulib network + stuff + +2014-03-04 Nikos Mavrogiannopoulos + + * lib/nettle/egd.c, lib/nettle/rnd-common.c: avoid gnulib's + insistence to replace strerror + +2014-03-04 Nikos Mavrogiannopoulos + + * src/gl/Makefile.am, src/gl/accept.c, src/gl/alloca.c, + src/gl/arpa_inet.in.h, src/gl/asnprintf.c, src/gl/close.c, + src/gl/dup2.c, src/gl/fd-hook.c, src/gl/fd-hook.h, src/gl/float+.h, + src/gl/float.c, src/gl/float.in.h, src/gl/gai_strerror.c, + src/gl/getaddrinfo.c, src/gl/getpeername.c, src/gl/inet_ntop.c, + src/gl/inet_pton.c, src/gl/itold.c, src/gl/listen.c, + src/gl/m4/arpa_inet_h.m4, src/gl/m4/close.m4, src/gl/m4/dup2.m4, + src/gl/m4/exponentd.m4, src/gl/m4/float_h.m4, + src/gl/m4/getaddrinfo.m4, src/gl/m4/gnulib-cache.m4, + src/gl/m4/gnulib-comp.m4, src/gl/m4/hostent.m4, + src/gl/m4/inet_ntop.m4, src/gl/m4/inet_pton.m4, + src/gl/m4/intmax_t.m4, src/gl/m4/inttypes_h.m4, + src/gl/m4/math_h.m4, src/gl/m4/memchr.m4, src/gl/m4/mmap-anon.m4, + src/gl/m4/netdb_h.m4, src/gl/m4/netinet_in_h.m4, + src/gl/m4/printf.m4, src/gl/m4/select.m4, src/gl/m4/servent.m4, + src/gl/m4/signal_h.m4, src/gl/m4/size_max.m4, + src/gl/m4/snprintf.m4, src/gl/m4/socketlib.m4, + src/gl/m4/sockets.m4, src/gl/m4/socklen.m4, src/gl/m4/sockpfaf.m4, + src/gl/m4/stdalign.m4, src/gl/m4/stdint_h.m4, + src/gl/m4/sys_select_h.m4, src/gl/m4/sys_uio_h.m4, + src/gl/m4/vasnprintf.m4, src/gl/m4/wchar_h.m4, src/gl/m4/wint_t.m4, + src/gl/m4/xsize.m4, src/gl/memchr.c, src/gl/memchr.valgrind, + src/gl/netdb.in.h, src/gl/netinet_in.in.h, src/gl/printf-args.c, + src/gl/printf-args.h, src/gl/printf-parse.c, src/gl/printf-parse.h, + src/gl/recv.c, src/gl/recvfrom.c, src/gl/select.c, src/gl/send.c, + src/gl/sendto.c, src/gl/setsockopt.c, src/gl/shutdown.c, + src/gl/signal.in.h, src/gl/size_max.h, src/gl/snprintf.c, + src/gl/socket.c, src/gl/sockets.c, src/gl/sockets.h, + src/gl/stdalign.in.h, src/gl/sys_select.in.h, src/gl/sys_socket.c, + src/gl/sys_socket.in.h, src/gl/sys_uio.in.h, src/gl/vasnprintf.c, + src/gl/vasnprintf.h, src/gl/w32sock.h, src/gl/wchar.in.h, + src/gl/xsize.c, src/gl/xsize.h: All socket options were moved to + src/gl + +2014-03-04 Nikos Mavrogiannopoulos + + * gl/Makefile.am, gl/accept.c, gl/arpa_inet.in.h, gl/close.c, + gl/dup2.c, gl/fd-hook.c, gl/fd-hook.h, gl/gai_strerror.c, + gl/getaddrinfo.c, gl/getpeername.c, gl/inet_ntop.c, gl/inet_pton.c, + gl/listen.c, gl/m4/close.m4, gl/m4/dup2.m4, gl/m4/ftruncate.m4, + gl/m4/getaddrinfo.m4, gl/m4/getcwd.m4, gl/m4/getdtablesize.m4, + gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/hostent.m4, + gl/m4/inet_ntop.m4, gl/m4/ioctl.m4, gl/m4/lstat.m4, + gl/m4/mode_t.m4, gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/perror.m4, + gl/m4/pipe.m4, gl/m4/select.m4, gl/m4/servent.m4, + gl/m4/signal_h.m4, gl/m4/stat.m4, gl/m4/strerror.m4, + gl/m4/strerror_r.m4, gl/m4/symlink.m4, gl/m4/sys_ioctl_h.m4, + gl/m4/sys_select_h.m4, gl/recv.c, gl/recvfrom.c, gl/select.c, + gl/send.c, gl/sendto.c, gl/setsockopt.c, gl/shutdown.c, + gl/signal.in.h, gl/socket.c, gl/sockets.c, gl/sockets.h, + gl/strerror-override.c, gl/strerror-override.h, gl/strerror.c, + gl/sys_select.in.h, gl/tests/Makefile.am, gl/tests/dosname.h, + gl/tests/ftruncate.c, gl/tests/getcwd-lgpl.c, + gl/tests/getdtablesize.c, gl/tests/glthread/lock.c, + gl/tests/glthread/lock.h, gl/tests/glthread/threadlib.c, + gl/tests/ignore-value.h, gl/tests/ioctl.c, gl/tests/lstat.c, + gl/tests/open.c, gl/tests/pathmax.h, gl/tests/perror.c, + gl/tests/pipe.c, gl/tests/same-inode.h, gl/tests/stat.c, + gl/tests/strerror_r.c, gl/tests/symlink.c, gl/tests/sys_ioctl.in.h, + gl/tests/test-accept.c, gl/tests/test-close.c, + gl/tests/test-dup2.c, gl/tests/test-ftruncate.c, + gl/tests/test-ftruncate.sh, gl/tests/test-getaddrinfo.c, + gl/tests/test-getcwd-lgpl.c, gl/tests/test-getdtablesize.c, + gl/tests/test-getpeername.c, gl/tests/test-ignore-value.c, + gl/tests/test-inet_ntop.c, gl/tests/test-ioctl.c, + gl/tests/test-listen.c, gl/tests/test-lstat.c, + gl/tests/test-lstat.h, gl/tests/test-open.c, gl/tests/test-open.h, + gl/tests/test-pathmax.c, gl/tests/test-perror.c, + gl/tests/test-perror.sh, gl/tests/test-perror2.c, + gl/tests/test-pipe.c, gl/tests/test-recv.c, + gl/tests/test-recvfrom.c, gl/tests/test-select-fd.c, + gl/tests/test-select-in.sh, gl/tests/test-select-out.sh, + gl/tests/test-select-stdin.c, gl/tests/test-select.c, + gl/tests/test-select.h, gl/tests/test-send.c, + gl/tests/test-sendto.c, gl/tests/test-setsockopt.c, + gl/tests/test-shutdown.c, gl/tests/test-signal-h.c, + gl/tests/test-stat.c, gl/tests/test-stat.h, + gl/tests/test-strerror.c, gl/tests/test-strerror_r.c, + gl/tests/test-symlink.c, gl/tests/test-symlink.h, + gl/tests/test-sys_ioctl.c, gl/tests/test-sys_select.c: removed + unused gnulib crap -2012-01-27 Nikos Mavrogiannopoulos +2014-03-03 Nikos Mavrogiannopoulos - * src/ocsptool-args.def.in: updated description + * src/crywrap/crywrap.c: fixed more memory leaks in crywrap -2012-01-26 Nikos Mavrogiannopoulos +2014-03-03 Nikos Mavrogiannopoulos - * NEWS, doc/cha-gtls-examples.texi, doc/examples/Makefile.am, - doc/examples/ex-ocsp-client.c, doc/examples/ex-ocsp-verify.c: - Combined ocsp apps to 1 using libcurl. + * src/crywrap/crywrap.c: addressed memory leak in crywrap.c -2012-01-25 Nikos Mavrogiannopoulos +2014-03-02 Nikos Mavrogiannopoulos - * lib/includes/gnutls/ocsp.h, lib/x509/ocsp_output.c, - src/Makefile.am, src/cli.c, src/common.c, src/common.h, - src/ocsptool-args.def.in, src/ocsptool.c, src/serv.c, src/socket.c, - src/socket.h, src/tls_test.c: Added --ask option to ocsptool. + * lib/x509/verify-high.c: check the blacklist for certificates + provided in gnutls_x509_trust_list_verify_named_crt(). -2012-01-25 Simon Josefsson +2014-03-02 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, src/Makefile.am: Fix builddir != srcdir - builds. + * configure.ac, doc/cha-library.texi, m4/hooks.m4: corrected + configure option. -2012-01-25 Simon Josefsson +2014-03-02 Nikos Mavrogiannopoulos - * lib/extras/randomart.c: Revert template fix. + * doc/cha-library.texi: rsa-export is no more -2012-01-25 Simon Josefsson +2014-03-02 Nikos Mavrogiannopoulos - * tests/infoaccess.c, tests/mpi.c, tests/openpgp-auth.c, - tests/openpgp-auth2.c, tests/openssl.c, tests/pkcs12_encode.c, - tests/rng-fork.c: Fix mem leaks. + * doc/cha-library.texi: updated option for TPM -2012-01-25 Simon Josefsson +2014-03-02 Nikos Mavrogiannopoulos - * gl/m4/valgrind-tests.m4, gl/override/m4/valgrind-tests.m4.diff: - Enable valgrind again. + * cross.mk: updated -2012-01-25 Simon Josefsson +2014-03-02 Nikos Mavrogiannopoulos - * lib/abstract_int.h, lib/crypto-api.c, lib/crypto-backend.c, - lib/crypto.h, lib/debug.c, lib/ext/max_record.c, - lib/ext/max_record.h, lib/ext/safe_renegotiation.c, - lib/ext/server_name.c, lib/ext/server_name.h, - lib/ext/session_ticket.c, lib/ext/signature.c, lib/ext/signature.h, - lib/ext/srp.c, lib/ext/srp.h, lib/gnutls.pc.in, lib/gnutls_alert.c, - lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, - lib/gnutls_compress.c, lib/gnutls_constate.c, lib/gnutls_datum.c, - lib/gnutls_dh.c, lib/gnutls_dh_primes.c, lib/gnutls_ecc.h, - lib/gnutls_errors.c, lib/gnutls_extensions.c, lib/gnutls_global.c, - lib/gnutls_hash_int.c, lib/gnutls_helper.c, lib/gnutls_helper.h, - lib/gnutls_kx.c, lib/gnutls_mem.c, lib/gnutls_mpi.c, - lib/gnutls_num.c, lib/gnutls_priority.c, lib/gnutls_psk.c, - lib/gnutls_rsa_export.c, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_sig.c, lib/gnutls_srp.c, - lib/gnutls_supplemental.c, lib/gnutls_ui.c, lib/gnutls_v2_compat.c, - lib/gnutlsxx.cpp, lib/hash.h, lib/locks.h, lib/nettle/cipher.c, - lib/nettle/ecc.h, lib/nettle/egd.c, lib/nettle/egd.h, - lib/nettle/init.c, lib/nettle/mac.c, lib/nettle/mpi.c, - lib/nettle/pk.c, lib/nettle/rnd.c, lib/opencdk/armor.c, - lib/opencdk/context.h, lib/opencdk/filters.h, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/keydb.h, - lib/opencdk/literal.c, lib/opencdk/main.h, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/opencdk.h, - lib/opencdk/packet.h, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, - lib/opencdk/stream.h, lib/opencdk/types.h, - lib/opencdk/write-packet.c, lib/openpgp/compat.c, - lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.h, - lib/openpgp/openpgp_int.h, lib/openpgp/output.c, - lib/openpgp/pgpverify.c, lib/pkcs11_int.h, lib/random.c, - lib/system.c, lib/system.h, lib/x509/crl.c, lib/x509/crl_write.c, - lib/x509/crq.c, lib/x509/dn.c, lib/x509/mpi.c, - lib/x509/pbkdf2-sha1.c, lib/x509/pbkdf2-sha1.h, lib/x509/pkcs12.c, - lib/x509/pkcs12_bag.c, lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, - lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, - lib/x509/rfc2818_hostname.c, lib/x509/sign.c, - lib/x509/x509_write.c, src/benchmark.h, src/certtool-cfg.h, - src/certtool-common.h, src/common.h, src/p11common.h, - src/p11tool.h, src/pkcs11.c, src/serv.c, src/tests.h, - src/udp-serv.h, tests/anonself.c, tests/certder.c, - tests/certificate_set_x509_crl.c, tests/certuniqueid.c, - tests/chainverify.c, tests/crq_apis.c, tests/cve-2008-4989.c, - tests/cve-2009-1415.c, tests/dhepskself.c, tests/dn.c, tests/dn2.c, - tests/gc.c, tests/hostname-check.c, tests/init_roundtrip.c, - tests/mini-deflate.c, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/mini-x509-rehandshake.c, - tests/mini-x509.c, tests/mini.c, tests/moredn.c, tests/mpi.c, - tests/nul-in-x509-names.c, tests/openpgp-keyring.c, - tests/openpgpself.c, tests/openssl.c, tests/parse_ca.c, - tests/pgps2kgnu.c, tests/pkcs12_encode.c, tests/pkcs12_s2k.c, - tests/pskself.c, tests/resume.c, tests/rfc2253-escape-test, - tests/rng-fork.c, tests/set_pkcs12_cred.c, tests/setcredcrash.c, - tests/simple.c, tests/utils.h, tests/x509_altname.c, - tests/x509_test.c, tests/x509dn.c, tests/x509self.c: Cleanup - copyright headers. - -2012-01-25 Simon Josefsson - - * cfg.mk, lib/extras/randomart.c: Silence update-copyright. - -2012-01-25 Simon Josefsson - - * cfg.mk, doc/cha-programs.texi, src/cli-args.def.in: Fix - syntax-check nits. - -2012-01-25 Simon Josefsson - - * .gitignore: Add ChangeLog. Sort. - -2012-01-25 Simon Josefsson - - * build-aux/config.rpath, build-aux/pmccabe.css, gl/Makefile.am, - gl/argp-pin.c, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/thread.m4, gl/m4/yield.m4, gl/stdint.in.h, - gl/tests/Makefile.am, gl/tests/glthread/thread.c, - gl/tests/glthread/thread.h, gl/tests/glthread/yield.h, - gl/tests/test-accept.c, gl/tests/test-bind.c, - gl/tests/test-connect.c, gl/tests/test-getpeername.c, - gl/tests/test-isnand-nolibm.c, gl/tests/test-listen.c, - gl/tests/test-lock.c, gl/tests/test-recv.c, - gl/tests/test-recvfrom.c, gl/tests/test-send.c, - gl/tests/test-sendto.c, gl/tests/test-setsockopt.c, - gl/tests/test-shutdown.c, gl/tests/test-thread_create.c, - gl/tests/test-thread_self.c, maint.mk: Update gnulib files. Drop - slow test-lock check. + * src/common.h: replace select() on windows + +2014-03-02 Nikos Mavrogiannopoulos + + * lib/gnutls_buffers.c: print message before failing when the pull + timeout function isn't replaced. + +2014-03-02 Nikos Mavrogiannopoulos + + * lib/algorithms/ciphersuites.c: Added NULL PSK ciphersuites with + SHA1; suggested by Manuel Pégourié-Gonnard. + +2014-03-01 Nikos Mavrogiannopoulos + + * GNUmakefile, build-aux/config.rpath, build-aux/gendocs.sh, + build-aux/pmccabe2html, build-aux/snippet/arg-nonnull.h, + build-aux/snippet/c++defs.h, build-aux/snippet/warn-on-use.h, + build-aux/useless-if-before-free, build-aux/vc-list-files, + doc/gendocs_template, gl/Makefile.am, gl/accept.c, gl/alloca.in.h, + gl/arpa_inet.in.h, gl/asnprintf.c, gl/asprintf.c, gl/base64.c, + gl/base64.h, gl/bind.c, gl/byteswap.in.h, gl/c-ctype.c, + gl/c-ctype.h, gl/close.c, gl/connect.c, gl/dup2.c, gl/errno.in.h, + gl/fd-hook.c, gl/fd-hook.h, gl/float+.h, gl/float.c, gl/float.in.h, + gl/fseek.c, gl/fseeko.c, gl/fstat.c, gl/ftell.c, gl/ftello.c, + gl/gai_strerror.c, gl/getaddrinfo.c, gl/getdelim.c, gl/getline.c, + gl/getpass.c, gl/getpass.h, gl/getpeername.c, gl/gettext.h, + gl/gettimeofday.c, gl/hash-pjw-bare.c, gl/hash-pjw-bare.h, + gl/inet_ntop.c, gl/inet_pton.c, gl/intprops.h, gl/itold.c, + gl/listen.c, gl/lseek.c, gl/m4/00gnulib.m4, + gl/m4/absolute-header.m4, gl/m4/alloca.m4, gl/m4/arpa_inet_h.m4, + gl/m4/base64.m4, gl/m4/byteswap.m4, gl/m4/close.m4, + gl/m4/codeset.m4, gl/m4/dup2.m4, gl/m4/errno_h.m4, + gl/m4/exponentd.m4, gl/m4/extensions.m4, gl/m4/extern-inline.m4, + gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, + gl/m4/float_h.m4, gl/m4/fpieee.m4, gl/m4/fseek.m4, gl/m4/fseeko.m4, + gl/m4/fstat.m4, gl/m4/ftell.m4, gl/m4/ftello.m4, + gl/m4/ftruncate.m4, gl/m4/func.m4, gl/m4/getaddrinfo.m4, + gl/m4/getcwd.m4, gl/m4/getdelim.m4, gl/m4/getdtablesize.m4, + gl/m4/getline.m4, gl/m4/getpagesize.m4, gl/m4/getpass.m4, + gl/m4/gettext.m4, gl/m4/gettimeofday.m4, gl/m4/glibc2.m4, + gl/m4/glibc21.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, + gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/hostent.m4, + gl/m4/iconv.m4, gl/m4/include_next.m4, gl/m4/inet_ntop.m4, + gl/m4/inet_pton.m4, gl/m4/intdiv0.m4, gl/m4/intl.m4, + gl/m4/intldir.m4, gl/m4/intlmacosx.m4, gl/m4/intmax.m4, + gl/m4/intmax_t.m4, gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, + gl/m4/inttypes_h.m4, gl/m4/ioctl.m4, gl/m4/largefile.m4, + gl/m4/lcmessage.m4, gl/m4/ld-output-def.m4, + gl/m4/ld-version-script.m4, gl/m4/lib-ld.m4, gl/m4/lib-link.m4, + gl/m4/lib-prefix.m4, gl/m4/lock.m4, gl/m4/longlong.m4, + gl/m4/lseek.m4, gl/m4/lstat.m4, gl/m4/malloc.m4, + gl/m4/manywarnings.m4, gl/m4/math_h.m4, gl/m4/memchr.m4, + gl/m4/memmem.m4, gl/m4/minmax.m4, gl/m4/mmap-anon.m4, + gl/m4/mode_t.m4, gl/m4/msvc-inval.m4, gl/m4/msvc-nothrow.m4, + gl/m4/multiarch.m4, gl/m4/netdb_h.m4, gl/m4/netinet_in_h.m4, + gl/m4/nls.m4, gl/m4/off_t.m4, gl/m4/open.m4, gl/m4/pathmax.m4, + gl/m4/perror.m4, gl/m4/pipe.m4, gl/m4/po.m4, gl/m4/printf-posix.m4, + gl/m4/printf.m4, gl/m4/progtest.m4, gl/m4/read-file.m4, + gl/m4/realloc.m4, gl/m4/select.m4, gl/m4/servent.m4, + gl/m4/signal_h.m4, gl/m4/size_max.m4, gl/m4/snprintf.m4, + gl/m4/socketlib.m4, gl/m4/sockets.m4, gl/m4/socklen.m4, + gl/m4/sockpfaf.m4, gl/m4/ssize_t.m4, gl/m4/stat.m4, + gl/m4/stdalign.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4, + gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, + gl/m4/stdlib_h.m4, gl/m4/strcase.m4, gl/m4/strdup.m4, + gl/m4/strerror.m4, gl/m4/strerror_r.m4, gl/m4/string_h.m4, + gl/m4/strings_h.m4, gl/m4/strndup.m4, gl/m4/strnlen.m4, + gl/m4/strtok_r.m4, gl/m4/strverscmp.m4, gl/m4/symlink.m4, + gl/m4/sys_ioctl_h.m4, gl/m4/sys_select_h.m4, gl/m4/sys_socket_h.m4, + gl/m4/sys_stat_h.m4, gl/m4/sys_time_h.m4, gl/m4/sys_types_h.m4, + gl/m4/sys_uio_h.m4, gl/m4/threadlib.m4, gl/m4/time_h.m4, + gl/m4/time_r.m4, gl/m4/uintmax_t.m4, gl/m4/ungetc.m4, + gl/m4/unistd_h.m4, gl/m4/valgrind-tests.m4, gl/m4/vasnprintf.m4, + gl/m4/vasprintf.m4, gl/m4/visibility.m4, gl/m4/vsnprintf.m4, + gl/m4/warn-on-use.m4, gl/m4/warnings.m4, gl/m4/wchar_h.m4, + gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/malloc.c, + gl/memchr.c, gl/memmem.c, gl/minmax.h, gl/msvc-inval.c, + gl/msvc-inval.h, gl/msvc-nothrow.c, gl/msvc-nothrow.h, + gl/netdb.in.h, gl/netinet_in.in.h, gl/printf-args.c, + gl/printf-args.h, gl/printf-parse.c, gl/printf-parse.h, + gl/read-file.c, gl/read-file.h, gl/realloc.c, gl/recv.c, + gl/recvfrom.c, gl/select.c, gl/send.c, gl/sendto.c, + gl/setsockopt.c, gl/shutdown.c, gl/signal.in.h, gl/size_max.h, + gl/snprintf.c, gl/socket.c, gl/sockets.c, gl/sockets.h, + gl/stdalign.in.h, gl/stdbool.in.h, gl/stddef.in.h, gl/stdint.in.h, + gl/stdio-impl.h, gl/stdio.in.h, gl/stdlib.in.h, gl/str-two-way.h, + gl/strcasecmp.c, gl/strdup.c, gl/strerror-override.c, + gl/strerror-override.h, gl/strerror.c, gl/string.in.h, + gl/strings.in.h, gl/strncasecmp.c, gl/strndup.c, gl/strnlen.c, + gl/strtok_r.c, gl/strverscmp.c, gl/sys_select.in.h, + gl/sys_socket.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, + gl/sys_types.in.h, gl/sys_uio.in.h, gl/tests/Makefile.am, + gl/tests/binary-io.h, gl/tests/dosname.h, gl/tests/fcntl.in.h, + gl/tests/fdopen.c, gl/tests/fpucw.h, gl/tests/ftruncate.c, + gl/tests/getcwd-lgpl.c, gl/tests/getdtablesize.c, + gl/tests/getpagesize.c, gl/tests/glthread/lock.c, + gl/tests/glthread/lock.h, gl/tests/glthread/threadlib.c, + gl/tests/ignore-value.h, gl/tests/init.sh, gl/tests/inttypes.in.h, + gl/tests/ioctl.c, gl/tests/lstat.c, gl/tests/macros.h, + gl/tests/open.c, gl/tests/pathmax.h, gl/tests/perror.c, + gl/tests/pipe.c, gl/tests/same-inode.h, gl/tests/signature.h, + gl/tests/stat.c, gl/tests/strerror_r.c, gl/tests/symlink.c, + gl/tests/sys_ioctl.in.h, gl/tests/test-accept.c, + gl/tests/test-alloca-opt.c, gl/tests/test-arpa_inet.c, + gl/tests/test-base64.c, gl/tests/test-binary-io.c, + gl/tests/test-bind.c, gl/tests/test-byteswap.c, + gl/tests/test-c-ctype.c, gl/tests/test-close.c, + gl/tests/test-connect.c, gl/tests/test-dup2.c, + gl/tests/test-errno.c, gl/tests/test-fcntl-h.c, + gl/tests/test-fdopen.c, gl/tests/test-fgetc.c, + gl/tests/test-float.c, gl/tests/test-fputc.c, + gl/tests/test-fread.c, gl/tests/test-fseek.c, + gl/tests/test-fseeko.c, gl/tests/test-fseeko3.c, + gl/tests/test-fseeko4.c, gl/tests/test-fstat.c, + gl/tests/test-ftell.c, gl/tests/test-ftell3.c, + gl/tests/test-ftello.c, gl/tests/test-ftello3.c, + gl/tests/test-ftello4.c, gl/tests/test-ftruncate.c, + gl/tests/test-func.c, gl/tests/test-fwrite.c, + gl/tests/test-getaddrinfo.c, gl/tests/test-getcwd-lgpl.c, + gl/tests/test-getdelim.c, gl/tests/test-getdtablesize.c, + gl/tests/test-getline.c, gl/tests/test-getpeername.c, + gl/tests/test-gettimeofday.c, gl/tests/test-iconv.c, + gl/tests/test-ignore-value.c, gl/tests/test-inet_ntop.c, + gl/tests/test-inet_pton.c, gl/tests/test-init.sh, + gl/tests/test-intprops.c, gl/tests/test-inttypes.c, + gl/tests/test-ioctl.c, gl/tests/test-listen.c, + gl/tests/test-lstat.c, gl/tests/test-lstat.h, + gl/tests/test-memchr.c, gl/tests/test-netdb.c, + gl/tests/test-netinet_in.c, gl/tests/test-open.c, + gl/tests/test-open.h, gl/tests/test-pathmax.c, + gl/tests/test-perror.c, gl/tests/test-perror2.c, + gl/tests/test-pipe.c, gl/tests/test-read-file.c, + gl/tests/test-recv.c, gl/tests/test-recvfrom.c, + gl/tests/test-select-fd.c, gl/tests/test-select-stdin.c, + gl/tests/test-select.c, gl/tests/test-select.h, + gl/tests/test-send.c, gl/tests/test-sendto.c, + gl/tests/test-setsockopt.c, gl/tests/test-shutdown.c, + gl/tests/test-signal-h.c, gl/tests/test-snprintf.c, + gl/tests/test-sockets.c, gl/tests/test-stat.c, + gl/tests/test-stat.h, gl/tests/test-stdalign.c, + gl/tests/test-stdbool.c, gl/tests/test-stddef.c, + gl/tests/test-stdint.c, gl/tests/test-stdio.c, + gl/tests/test-stdlib.c, gl/tests/test-strerror.c, + gl/tests/test-strerror_r.c, gl/tests/test-string.c, + gl/tests/test-strings.c, gl/tests/test-strnlen.c, + gl/tests/test-strverscmp.c, gl/tests/test-symlink.c, + gl/tests/test-symlink.h, gl/tests/test-sys_ioctl.c, + gl/tests/test-sys_select.c, gl/tests/test-sys_socket.c, + gl/tests/test-sys_stat.c, gl/tests/test-sys_time.c, + gl/tests/test-sys_types.c, gl/tests/test-sys_uio.c, + gl/tests/test-sys_wait.h, gl/tests/test-time.c, + gl/tests/test-u64.c, gl/tests/test-unistd.c, + gl/tests/test-vasnprintf.c, gl/tests/test-vasprintf.c, + gl/tests/test-vc-list-files-cvs.sh, + gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, + gl/tests/test-vsnprintf.c, gl/tests/test-wchar.c, + gl/tests/w32sock.h, gl/tests/zerosize-ptr.h, gl/time.in.h, + gl/time_r.c, gl/u64.h, gl/unistd.in.h, gl/vasnprintf.c, + gl/vasnprintf.h, gl/vasprintf.c, gl/verify.h, gl/vsnprintf.c, + gl/w32sock.h, gl/wchar.in.h, gl/xsize.h, maint.mk, + src/gl/Makefile.am, src/gl/alloca.in.h, src/gl/c-ctype.c, + src/gl/c-ctype.h, src/gl/errno.in.h, src/gl/error.c, + src/gl/error.h, src/gl/exitfail.c, src/gl/exitfail.h, + src/gl/gettext.h, src/gl/gettime.c, src/gl/gettimeofday.c, + src/gl/intprops.h, src/gl/m4/00gnulib.m4, + src/gl/m4/absolute-header.m4, src/gl/m4/alloca.m4, + src/gl/m4/bison.m4, src/gl/m4/clock_time.m4, src/gl/m4/eealloc.m4, + src/gl/m4/environ.m4, src/gl/m4/errno_h.m4, src/gl/m4/error.m4, + src/gl/m4/extensions.m4, src/gl/m4/extern-inline.m4, + src/gl/m4/gettime.m4, src/gl/m4/gettimeofday.m4, + src/gl/m4/gnulib-cache.m4, src/gl/m4/gnulib-common.m4, + src/gl/m4/gnulib-comp.m4, src/gl/m4/gnulib-tool.m4, + src/gl/m4/include_next.m4, src/gl/m4/longlong.m4, + src/gl/m4/malloca.m4, src/gl/m4/mktime.m4, src/gl/m4/msvc-inval.m4, + src/gl/m4/msvc-nothrow.m4, src/gl/m4/multiarch.m4, + src/gl/m4/off_t.m4, src/gl/m4/parse-datetime.m4, + src/gl/m4/setenv.m4, src/gl/m4/ssize_t.m4, src/gl/m4/stdbool.m4, + src/gl/m4/stddef_h.m4, src/gl/m4/stdint.m4, src/gl/m4/stdio_h.m4, + src/gl/m4/stdlib_h.m4, src/gl/m4/strerror.m4, + src/gl/m4/string_h.m4, src/gl/m4/sys_socket_h.m4, + src/gl/m4/sys_time_h.m4, src/gl/m4/sys_types_h.m4, + src/gl/m4/time_h.m4, src/gl/m4/time_r.m4, src/gl/m4/timespec.m4, + src/gl/m4/tm_gmtoff.m4, src/gl/m4/unistd_h.m4, + src/gl/m4/warn-on-use.m4, src/gl/m4/wchar_t.m4, + src/gl/m4/xalloc.m4, src/gl/malloca.c, src/gl/malloca.h, + src/gl/mktime.c, src/gl/msvc-inval.c, src/gl/msvc-inval.h, + src/gl/msvc-nothrow.c, src/gl/msvc-nothrow.h, + src/gl/parse-datetime.h, src/gl/parse-datetime.y, + src/gl/progname.c, src/gl/progname.h, src/gl/setenv.c, + src/gl/stdbool.in.h, src/gl/stddef.in.h, src/gl/stdint.in.h, + src/gl/stdio.in.h, src/gl/stdlib.in.h, src/gl/strerror-override.c, + src/gl/strerror-override.h, src/gl/strerror.c, src/gl/string.in.h, + src/gl/sys_time.in.h, src/gl/sys_types.in.h, src/gl/time.in.h, + src/gl/time_r.c, src/gl/timespec.h, src/gl/unistd.in.h, + src/gl/unsetenv.c, src/gl/verify.h, src/gl/xalloc-die.c, + src/gl/xalloc-oversized.h, src/gl/xalloc.h, src/gl/xmalloc.c: + updated gnulib -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * cfg.mk: Silence autoreconf with a dummy ChangeLog file. + * lib/algorithms/ciphersuites.c: Allow all ciphersuites in SSL3.0 + when they are available in TLS1.0 -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * ChangeLog, ChangeLog.1: Don't store generated ChangeLog in git. + * lib/gnutls_priority.c: The default priority is reset to NORMAL -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * tests/cert-tests/template-test, tests/pkcs1-padding/pkcs1-pad: Fix - datefudge checks, for when datefudge is missing. + * lib/gnutls_priority.c: Revert "the default priorities are reset to + be NORMAL." This reverts commit 9c07f75676b6b70da10e99c409b0cb7dbc245463. -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * src/Makefile.am: Only rebuild autogen sources if the real input - file is modified. + * doc/cha-gtls-app.texi: mention SHA384 as MAC option -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/manpages/Makefile.am, - tests/cert-tests/Makefile.am: Fix distcheck. + * src/cli-args.def, src/serv-args.def: documented the defaults -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * tests/pkcs1-padding/pkcs1-pad, tests/suite/testcompat: Fix - datefudge checks. + * lib/gnutls_priority.c: the default priorities are reset to be + NORMAL. Reported by Manuel Pégourié-Gonnard. -2012-01-25 Simon Josefsson +2014-02-28 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Generated. + * src/serv-args.def: Add required priorities -2012-01-25 Simon Josefsson +2014-02-27 Nikos Mavrogiannopoulos - * tests/cert-tests/template-test: Improve datefudge check. Fix - builddir != srcdir. + * lib/x509/verify.c: Preinitialize values; suggested by Sebastian + Krahmer and Tomas Hoger. -2012-01-24 Nikos Mavrogiannopoulos +2014-02-27 Nikos Mavrogiannopoulos - * NEWS: documented update + * lib/x509/verify.c: added doc on is_issuer() checks -2012-01-24 Nikos Mavrogiannopoulos +2014-02-26 Nikos Mavrogiannopoulos - * lib/includes/gnutls/gnutls.h.in: corrected prototypes. + * lib/gnutls_cert.c: removed not trusted message; reported by Michel + Briand. -2012-01-24 Nikos Mavrogiannopoulos +2014-02-26 Nikos Mavrogiannopoulos - * src/libopts/m4/libopts.m4: generate libopts makefile outside the - conditional. + * tests/chainverify.c: updated for verification updates -2012-01-24 Patrick Pelletier +2014-02-25 Nikos Mavrogiannopoulos - * doc/cha-internals.texi, extra/includes/gnutls/openssl.h, - lib/accelerated/x86/hmac-padlock.c, lib/crypto-backend.h, - lib/gnutls_int.h, lib/includes/gnutls/gnutls.h.in, - lib/nettle/cipher.c, lib/nettle/init.c, lib/nettle/mac.c: Fix up - some typos and obsolete comments Signed-off-by: Nikos Mavrogiannopoulos + * lib/x509/verify.c: Updated verification function -2012-01-24 Nikos Mavrogiannopoulos +2014-02-22 Jens Lechtenboerger - * NEWS, doc/cha-programs.texi, lib/gnutls_priority.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/common.c: - Added functions to allow quering a priority structure. That is to - allow more information being extracted than only the ciphersuites. gnutls_priority_certificate_type_list: Added - gnutls_priority_sign_list: Added gnutls_priority_protocol_list: - Added gnutls_priority_compression_list: Added - gnutls_priority_ecc_curve_list: Added + * src/cli-args.def, src/cli.c: New option --stricttofu for + gnutls-cli With option --tofu, gnutls-cli waits with a yes-no-question upon + certificate changes. I added the option --stricttofu that omits the + question and fails instead. The contribution is in accordance to the "Developer's Certificate of + Origin" as found in the file doc/DCO.txt. Best wishes Jens Signed-off-by: Jens Lechtenbörger -2012-01-24 Nikos Mavrogiannopoulos +2014-02-22 Nikos Mavrogiannopoulos - * NEWS, doc/printlist.c, lib/algorithms/ecc.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/common.c: - Allow quering available elliptic curves by adding - gnutls_ecc_curve_list(). + * lib/gnutls_handshake.c: moved priorities check to the first call + only. -2012-01-24 Nikos Mavrogiannopoulos +2014-02-21 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: updated + * lib/nettle/rnd-common.c: removed duplicate definition; reported by + Dennis Philipps. -2012-01-24 Nikos Mavrogiannopoulos +2014-02-21 Nikos Mavrogiannopoulos - * tests/key-id/key-id: it seems libopts does not want completely - empty templates. + * doc/README.CODING_STYLE: updated coding style -2012-01-24 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: correct typo + * NEWS: doc update -2012-01-24 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * src/cli.c, src/common.c: Do not print the same things twice. + * tests/cert-tests/template-nc.pem: added cert -2012-01-24 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * configure.ac: libcfg is no longer required. + * tests/cert-tests/template-test: corrected check -2012-01-24 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi: updated - interoperability and priority strings sections. + * lib/gnutls_handshake.c, lib/gnutls_handshake.h: combined timeout + values -2012-01-23 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: Added more text on interoperability + * tests/suite/testdane: updated -2012-01-24 Simon Josefsson +2014-02-20 Nikos Mavrogiannopoulos - * Makefile.am, src/Makefile.am: Fix make dist. + * NEWS: doc update -2012-01-24 Simon Josefsson +2014-02-20 Nikos Mavrogiannopoulos - * Makefile.am, configure.ac, libopts/COPYING.gplv3, - libopts/COPYING.lgplv3, libopts/COPYING.mbsd, libopts/MakeDefs.inc, - libopts/Makefile.am, libopts/README, libopts/ag-char-map.h, - libopts/autoopts.c, libopts/autoopts.h, libopts/autoopts/options.h, - libopts/autoopts/project.h, libopts/autoopts/usage-txt.h, - libopts/boolean.c, libopts/check.c, libopts/compat/compat.h, - libopts/compat/pathfind.c, libopts/compat/snprintf.c, - libopts/compat/strchr.c, libopts/compat/strdup.c, - libopts/compat/windows-config.h, libopts/configfile.c, - libopts/cook.c, libopts/enum.c, libopts/env.c, libopts/file.c, - libopts/find.c, libopts/genshell.c, libopts/genshell.h, - libopts/libopts.c, libopts/load.c, libopts/makeshell.c, - libopts/nested.c, libopts/numeric.c, libopts/parse-duration.c, - libopts/parse-duration.h, libopts/pgusage.c, libopts/proto.h, - libopts/putshell.c, libopts/reset.c, libopts/restore.c, - libopts/save.c, libopts/sort.c, libopts/stack.c, - libopts/streqvcmp.c, libopts/text_mmap.c, libopts/time.c, - libopts/tokenize.c, libopts/usage.c, libopts/value-type.c, - libopts/value-type.h, libopts/version.c, libopts/xat-attribute.c, - libopts/xat-attribute.h, m4/libopts.m4, m4/liboptschk.m4, - src/Makefile.am, src/cli-gaa.c, src/cli-gaa.h, - src/libopts/COPYING.gplv3, src/libopts/COPYING.lgplv3, - src/libopts/COPYING.mbsd, src/libopts/MakeDefs.inc, - src/libopts/Makefile.am, src/libopts/README, - src/libopts/ag-char-map.h, src/libopts/autoopts.c, - src/libopts/autoopts.h, src/libopts/autoopts/options.h, - src/libopts/autoopts/project.h, src/libopts/autoopts/usage-txt.h, - src/libopts/boolean.c, src/libopts/check.c, - src/libopts/compat/compat.h, src/libopts/compat/pathfind.c, - src/libopts/compat/snprintf.c, src/libopts/compat/strchr.c, - src/libopts/compat/strdup.c, src/libopts/compat/windows-config.h, - src/libopts/configfile.c, src/libopts/cook.c, src/libopts/enum.c, - src/libopts/env.c, src/libopts/file.c, src/libopts/find.c, - src/libopts/genshell.c, src/libopts/genshell.h, - src/libopts/libopts.c, src/libopts/load.c, - src/libopts/m4/libopts.m4, src/libopts/m4/liboptschk.m4, - src/libopts/makeshell.c, src/libopts/nested.c, - src/libopts/numeric.c, src/libopts/parse-duration.c, - src/libopts/parse-duration.h, src/libopts/pgusage.c, - src/libopts/proto.h, src/libopts/putshell.c, src/libopts/reset.c, - src/libopts/restore.c, src/libopts/save.c, src/libopts/sort.c, - src/libopts/stack.c, src/libopts/streqvcmp.c, - src/libopts/text_mmap.c, src/libopts/time.c, - src/libopts/tokenize.c, src/libopts/usage.c, - src/libopts/value-type.c, src/libopts/value-type.h, - src/libopts/version.c, src/libopts/xat-attribute.c, - src/libopts/xat-attribute.h, src/srptool-gaa.c, src/srptool-gaa.h: - Move libopts/ to src/libopts/. Drop gaa remains. + * lib/x509/name_constraints.c: When appending a name, ensure that we + append to the end of the list. -2012-01-24 Simon Josefsson +2014-02-20 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/x509.h, lib/x509/crl.c: Doc fixes. + * lib/x509/name_constraints.c: use gnutls_free() -2012-01-24 Simon Josefsson +2014-02-20 Nikos Mavrogiannopoulos - * configure.ac: Drop src/cfg/ stuff. + * src/certtool-args.def: corrected email in texi -2012-01-23 Nikos Mavrogiannopoulos +2014-02-20 Attila Molnar - * src/psk-args.def.in: corrected typo + * lib/auth/srp.h, lib/auth/srp_passwd.c, lib/gnutls_srp.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: srp: Add + resistance against guessing usernames When a client tries to authenticate using an unknown username, + instead of generating a random salt every time, generate the salt + based on the username and a secret seed. The seed is settable by the application, allowing servers to re-use + the same seed after a restart. A random seed is generated for each newly allocated SRP server + credentials structure, meaning that applications not using the new + API to set the seed continue to work and gain limited advantage + (because they use a different seed after every restart). For further information see section 2.5.1.3. in RFC 5054. Signed-off-by: Attila Molnar -2012-01-23 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, doc/manpages/Makefile.am, - src/Makefile.am, src/ocsptool-args.def.in, src/ocsptool.c, - src/ocsptool.gaa: ocsptool uses libopts + * lib/x509/verify-high.c: small artistic changes -2012-01-23 Nikos Mavrogiannopoulos +2014-02-20 Nikos Mavrogiannopoulos - * src/p11tool-args.def.in, src/p11tool.c: updated inder and inraw - commands. + * lib/x509/verify.c: check against the success value -2012-01-23 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/certtool-args.def.in, src/cli-args.def.in, - src/cli-debug-args.def.in, src/p11tool-args.def.in, - src/psk-args.def.in, src/serv-args.def.in, src/srptool-args.def.in: - the short version of --help is -h. + * lib/x509/common.h, lib/x509/verify.c, lib/x509/x509_int.h: use + bool types when needed. -2012-01-23 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * NEWS, doc/cha-cert-auth2.texi, lib/includes/gnutls/pkcs11.h, - lib/libgnutls.map, lib/pkcs11.c: Added gnutls_pkcs11_reinit(). + * lib/x509/verify.c: ensure failure when parsing fails. -2012-01-23 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/certtool-cfg.c: corrected token parsing. + * lib/x509/name_constraints.c: allow ip address as constraint -2012-01-23 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/certtool-cfg.c: READ_MULTI_LINE_TOKENIZED was corrected to - account the whole string. + * lib/x509/verify.c: Added check for IPaddress -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/TODO: updated + * NEWS: doc update -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_priority.c: Updated SUITEB requirements according - to rfc6460. + * tests/chainverify.c: Added tests for name constraints addition. -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/cha-cert-auth2.texi, src/Makefile.am, src/certtool-cfg.c, - src/cfg/Makefile.am, src/cfg/README, src/cfg/cfg+.c, - src/cfg/cfg+.h, src/cfg/cfgfile.c, src/cfg/cfgfile.h, - src/cfg/cmdline.c, src/cfg/cmdline.h, src/cfg/parse.c, - src/cfg/platon/Makefile.am, src/cfg/platon/str/Makefile.am, - src/cfg/platon/str/dynfgets.c, src/cfg/platon/str/dynfgets.h, - src/cfg/platon/str/strctype.c, src/cfg/platon/str/strctype.h, - src/cfg/platon/str/strdyn.c, src/cfg/platon/str/strdyn.h, - src/cfg/platon/str/strplus.c, src/cfg/platon/str/strplus.h, - src/cfg/props.c, src/cfg/shared.c, src/cfg/shared.h, - tests/cert-tests/Makefile.am, tests/cert-tests/template-test, - tests/cert-tests/template-test.key, - tests/cert-tests/template-test.pem, - tests/cert-tests/template-test.tmpl: Certtool completely relies on - libopts. As a side-effect the syntax of dn_oid and key_purpose_oids - has changed. + * src/certtool.c: better error printing -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/certtool.c: check for --inraw and --outraw. + * lib/x509/extensions.c: corrected empty name check -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * tests/cert-tests/template-nc.pem, + tests/cert-tests/template-nc.tmpl: Updated test for name constraints + to include empty constraints names. -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/manpages/certtool.1: removed certtool.1. + * lib/x509/output.c: pretty print empty DNSnames -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/p11tool.c, src/p11tool.h: No need for action enumerations. + * lib/x509/common.c, lib/x509/name_constraints.c: + _gnutls_x509_read_value() can now read empty values. -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * configure.ac, doc/manpages/Makefile.am, src/Makefile.am, - src/certtool-args.def.in, src/certtool-common.h, - src/certtool-gaa.c, src/certtool-gaa.h, src/certtool.c, - src/certtool.gaa, src/p11tool-args.def.in: certtool uses libopts for - command line parsing. + * lib/x509/extensions.c: Allow empty names. -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/Makefile.am: enums.texi is not run multiple times. Suggested - by Eli Zaretskii. + * src/certtool-cfg.c: removed debugging -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/Makefile.am, src/cli-args.def.in, src/cli-debug-args.def.in, - src/p11tool-args.def.in, src/psk-args.def.in, src/serv-args.def.in, - src/srptool-args.def.in: updated docs + * lib/x509/extensions.c: Added check for null -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/p11tool-args.def.in, src/p11tool.c: p11tool parses arguments - are before (with gaa). + * lib/x509/name_constraints.c: If alternative names are found, don't + bother checking the DN. -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/Makefile.am, src/cli-args.def.in, src/cli-debug-args.def.in, - src/cli.c, src/p11tool-args.def.in, src/p11tool.c, - src/psk-args.def.in, src/serv-args.def.in, src/serv.c, - src/srptool-args.def.in: corrected command line parsing issues. + * tests/suite/certs/create-chain.sh: Added tool to create a + certificate chain -2012-01-22 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * lib/x509/crl.c, lib/x509/x509.c: Added Since + * lib/x509/output.c: properly indent name constraints -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/Makefile.am: disable parallel builds. + * lib/x509/x509.c: _gnutls_parse_general_name2() will return the + expected data -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/scripts/gdoc: Do not allow space between section name and ':'. + * src/certtool-args.def, src/certtool-cfg.c, src/certtool-cfg.h, + src/certtool.c, tests/cert-tests/Makefile.am, + tests/cert-tests/template-nc.tmpl, tests/cert-tests/template-test: + certtool allows setting name constraints. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/latex/gnutls.bib, doc/latex/gnutls.tex: updated bibliography - and changed style. + * lib/x509/output.c, tests/cert-tests/template-nc.tmpl: removed + false warnings -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/p11tool-gaa.c, src/p11tool-gaa.h, src/p11tool.gaa: removed old - files. + * lib/x509/verify.c: simplify names -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/gnutls-guile.texi: removed references to IA + * lib/x509/name_constraints.c, lib/x509/verify.c: Verify name + constraints. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/p11tool-args.def.in, src/p11tool.c: updated p11tool def. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/name_constraints.c: Added + gnutls_x509_name_constraints_check_crt This function will check name constraints against all the names in a + certificate. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, doc/manpages/Makefile.am, - doc/manpages/p11tool.1, src/Makefile.am, src/cli-args.def.in, - src/cli-debug-args.def.in, src/p11tool-args.def.in, src/p11tool.c, - src/psk-args.def.in, src/serv-args.def.in, src/srptool-args.def.in: - p11tool uses libopts + * lib/x509/name_constraints.c, tests/name-constraints.c, + tests/suppressions.valgrind: Added support for e-mail constraints. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * src/cli-args.def.in, src/serv-args.def.in: keyfile and certfile - types were changed to string, to allow for PKCS #11 urls + * tests/name-constraints.c: Added more constraints tests for + unsupported structures. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-19 Nikos Mavrogiannopoulos - * doc/cha-cert-auth2.texi, doc/fdl-1.3.texi: replaced smallexample - with example. + * lib/x509/name_constraints.c: Corrected check for present + constraints in unsupported types. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * .gitignore, src/cli-args.c, src/cli-args.h, src/cli-debug-args.c, - src/cli-debug-args.h, src/psk-args.c, src/psk-args.h, - src/serv-args.c, src/serv-args.h, src/srptool-args.c, - src/srptool-args.h: Removed all auto-generated files. + * doc/examples/ex-ocsp-client.c: fix small leak -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * lib/x509/output.c, tests/cert-tests/aki-cert.pem: corrected AKI - test. + * src/ocsptool.c: When verifying a response and a signer isn't + provided assume that the signer is the issuer. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * NEWS: corrected typo + * src/cli.c, src/ocsptool-args.def, src/ocsptool-common.c, + src/ocsptool-common.h, src/ocsptool.c: When sending a nonce in OCSP + check if it is available on the reply. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * .gitignore, README-alpha, doc/manpages/gnutls-cli-debug.1, - doc/manpages/gnutls-serv.1, doc/manpages/psktool.1, - doc/manpages/srptool.1: Do not store auto-generated manpages to git. + * lib/x509/name_constraints.c: properly deinitialize name + constraints structure. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * tests/cert-tests/ca-no-pathlen.pem, - tests/cert-tests/no-ca-or-pathlen.pem: uploaded for new legacy sec - level + * doc/examples/ex-ocsp-client.c: Verify in example that the sent + nonce matches the received nonce. Reported by Benny Baumann. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * .gitignore, doc/manpages/gnutls-cli-debug.1, - doc/manpages/gnutls-serv.1, doc/manpages/psktool.1, - doc/manpages/srptool.1, src/cli-args.c, src/cli-args.h, - src/cli-debug-args.c, src/cli-debug-args.h, src/psk-args.c, - src/psk-args.h, src/serv-args.c, src/serv-args.h, - src/srptool-args.c, src/srptool-args.h: Added missing files. + * tests/name-constraints.c: Added missing file -2012-01-21 Nikos Mavrogiannopoulos +2014-02-17 Nikos Mavrogiannopoulos - * NEWS, configure.ac, lib/gnutls_errors.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/x509.h, - lib/x509/crl.c, lib/x509/output.c, lib/x509/x509.c, - tests/Makefile.am, tests/cert-tests/Makefile.am, - tests/cert-tests/aki, tests/cert-tests/aki-cert.pem, - tests/cert-tests/ca-no-pathlen.pem, - tests/cert-tests/no-ca-or-pathlen.pem, tests/cert-tests/pathlen, - tests/pathlen/Makefile.am, tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem, tests/pathlen/pathlen: Added - functions to parse authority key identifiers when stored as a - 'general name' and serial combo. + * lib/priority_options.gperf: priority string flag + VERIFY_ALLOW_X509_V1_CA_CRT is now a dummy -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * lib/x509/x509.c: Corrected bug in _gnutls_parse_aia() + * lib/gnutls_handshake.c, lib/gnutls_state.c: reinitialize the + handshake timers when gnutls_handshake() is called. -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * src/cli-args.c, src/cli-args.def.in, src/cli-args.h, - src/serv-args.c, src/serv-args.def.in, src/serv-args.h, src/serv.c, - src/srptool-args.c, src/srptool-args.def.in, src/srptool-args.h: - updated parameter parsing. + * tests/mini-dtls-rehandshake.c: Improved DTLS rehandshake test to + catch a timeout issue in handshake(). -2012-01-21 Nikos Mavrogiannopoulos +2014-02-18 Nikos Mavrogiannopoulos - * src/serv-gaa.c, src/serv-gaa.h, src/serv.gaa: removed serv gaa - files + * lib/gnutls_handshake.c: doc update -2012-01-21 Nikos Mavrogiannopoulos - - * doc/manpages/gnutls-cli-debug.1, doc/manpages/psktool.1, - doc/manpages/srptool.1, src/cli-args.c, src/cli-args.h, - src/srptool-args.c, src/srptool-args.h: updates. - -2012-01-21 Nikos Mavrogiannopoulos - - * .gitignore, configure.ac, doc/manpages/Makefile.am, - doc/manpages/gnutls-serv.1, src/Makefile.am, src/serv-args.c, - src/serv-args.def.in, src/serv-args.h, src/serv.c: gnutls-serv uses - libopts. - -2012-01-21 Nikos Mavrogiannopoulos - - * doc/examples/ex-ocsp-client.c, doc/examples/ex-ocsp-verify.c, - lib/x509/ocsp.c, lib/x509/ocsp_output.c, src/ocsptool.c: sign fixes. - -2012-01-21 Nikos Mavrogiannopoulos - - * NEWS, lib/includes/gnutls/gnutls.h.in: Documented updates. - -2012-01-18 Nikos Mavrogiannopoulos - - * doc/cha-gtls-app.texi, lib/algorithms/secparams.c, - lib/includes/gnutls/gnutls.h.in, tests/slow/keygen.c: Added new - security level "legacy" for 96-bit security. - -2012-01-19 Nikos Mavrogiannopoulos - - * .gitignore, configure.ac, doc/manpages/Makefile.am, - doc/manpages/gnutls-cli-debug.1, doc/manpages/psktool.1, - doc/manpages/srptool.1, src/Makefile.am, src/cli-args.c, - src/cli-args.h, src/psk-args.def.in, src/psk-gaa.c, src/psk-gaa.h, - src/psk.c, src/psk.gaa, src/srptool-args.c, src/srptool-args.h: - psktool also uses libopt. - -2012-01-17 Nikos Mavrogiannopoulos - - * .gitignore, Makefile.am, configure.ac, doc/manpages/Makefile.am, - doc/manpages/gnutls-cli.1, doc/manpages/srptool.1, - libopts/COPYING.gplv3, libopts/COPYING.lgplv3, - libopts/COPYING.mbsd, libopts/MakeDefs.inc, libopts/Makefile.am, - libopts/README, libopts/ag-char-map.h, libopts/autoopts.c, - libopts/autoopts.h, libopts/autoopts/options.h, - libopts/autoopts/project.h, libopts/autoopts/usage-txt.h, - libopts/boolean.c, libopts/check.c, libopts/compat/compat.h, - libopts/compat/pathfind.c, libopts/compat/snprintf.c, - libopts/compat/strchr.c, libopts/compat/strdup.c, - libopts/compat/windows-config.h, libopts/configfile.c, - libopts/cook.c, libopts/enum.c, libopts/env.c, libopts/file.c, - libopts/find.c, libopts/genshell.c, libopts/genshell.h, - libopts/libopts.c, libopts/load.c, libopts/makeshell.c, - libopts/nested.c, libopts/numeric.c, libopts/parse-duration.c, - libopts/parse-duration.h, libopts/pgusage.c, libopts/proto.h, - libopts/putshell.c, libopts/reset.c, libopts/restore.c, - libopts/save.c, libopts/sort.c, libopts/stack.c, - libopts/streqvcmp.c, libopts/text_mmap.c, libopts/time.c, - libopts/tokenize.c, libopts/usage.c, libopts/value-type.c, - libopts/value-type.h, libopts/version.c, libopts/xat-attribute.c, - libopts/xat-attribute.h, m4/libopts.m4, m4/liboptschk.m4, - src/Makefile.am, src/cli-args.c, src/cli-args.def.in, - src/cli-args.h, src/cli-debug-args.def.in, src/cli.c, src/cli.gaa, - src/common.h, src/srptool-args.c, src/srptool-args.def.in, - src/srptool-args.h, src/srptool.c, src/srptool.gaa, - src/tls_test-gaa.c, src/tls_test-gaa.h, src/tls_test.c, - src/tls_test.gaa: gnutls-cli, gnutls-cli-debug and srptool use - libopts. - -2012-01-17 Nikos Mavrogiannopoulos - - * lib/auth/cert.c: If peer doesn't send any issuers and we have a - single certificate then send that one. - -2012-01-15 Nikos Mavrogiannopoulos - - * configure.ac, doc/examples/ex-client-psk.c, - doc/examples/ex-pkcs11-list.c, doc/examples/ex-pkcs12.c, - doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv-x509.c, doc/examples/tcp.c, - lib/abstract_int.h, lib/accelerated/cryptodev.c, lib/algorithms.h, - lib/algorithms/ciphersuites.c, lib/algorithms/secparams.c, - lib/auth/anon.c, lib/auth/anon_ecdh.c, lib/auth/cert.c, - lib/auth/cert.h, lib/auth/dh_common.c, lib/auth/dh_common.h, - lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, - lib/auth/ecdh_common.h, lib/auth/psk.c, lib/auth/psk_passwd.c, - lib/auth/rsa.c, lib/auth/rsa_export.c, lib/auth/srp.c, - lib/auth/srp.h, lib/auth/srp_passwd.c, lib/auth/srp_passwd.h, - lib/auth/srp_rsa.c, lib/auth/srp_sb64.c, lib/ext/cert_type.c, - lib/ext/ecc.c, lib/ext/ecc.h, lib/ext/max_record.c, - lib/ext/safe_renegotiation.c, lib/ext/server_name.c, - lib/ext/server_name.h, lib/ext/session_ticket.c, - lib/ext/signature.c, lib/ext/signature.h, lib/ext/srp.c, - lib/extras/randomart.c, lib/gnutls_auth.h, lib/gnutls_buffers.c, - lib/gnutls_buffers.h, lib/gnutls_cipher.c, lib/gnutls_cipher.h, - lib/gnutls_cipher_int.h, lib/gnutls_compress.c, - lib/gnutls_compress.h, lib/gnutls_constate.c, lib/gnutls_datum.c, - lib/gnutls_datum.h, lib/gnutls_dh_primes.c, lib/gnutls_dtls.c, - lib/gnutls_ecc.c, lib/gnutls_ecc.h, lib/gnutls_extensions.c, - lib/gnutls_extensions.h, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_hash_int.c, - lib/gnutls_hash_int.h, lib/gnutls_int.h, lib/gnutls_kx.c, - lib/gnutls_mbuffers.c, lib/gnutls_mpi.c, lib/gnutls_num.c, - lib/gnutls_num.h, lib/gnutls_pcert.c, lib/gnutls_pk.c, - lib/gnutls_psk.c, lib/gnutls_pubkey.c, lib/gnutls_record.c, - lib/gnutls_record.h, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/gnutls_srp.c, lib/gnutls_srp.h, lib/gnutls_state.c, - lib/gnutls_state.h, lib/gnutls_str.c, lib/gnutls_str.h, - lib/gnutls_str_array.h, lib/gnutls_supplemental.c, lib/gnutls_ui.c, - lib/gnutls_v2_compat.c, lib/gnutls_v2_compat.h, lib/gnutls_x509.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/pkcs11.h, - lib/includes/gnutls/x509.h, lib/nettle/cipher.c, lib/nettle/egd.c, - lib/nettle/mpi.c, lib/nettle/pk.c, lib/nettle/rnd.c, - lib/opencdk/context.h, lib/opencdk/filters.h, lib/opencdk/kbnode.c, - lib/opencdk/main.h, lib/opencdk/stream.c, lib/opencdk/stream.h, - lib/opencdk/write-packet.c, lib/openpgp/extras.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/gnutls_openpgp.h, - lib/openpgp/output.c, lib/openpgp/pgp.c, lib/openpgp/privkey.c, - lib/pkcs11.c, lib/pkcs11_int.h, lib/pkcs11_secret.c, - lib/pkcs11_write.c, lib/x509/common.c, lib/x509/common.h, - lib/x509/crl.c, lib/x509/crl_write.c, lib/x509/crq.c, - lib/x509/dn.c, lib/x509/extensions.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/pbkdf2-sha1.c, lib/x509/pbkdf2-sha1.h, lib/x509/pkcs12.c, - lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/sign.c, lib/x509/verify-high.c, - lib/x509/verify.c, lib/x509/x509.c, lib/x509/x509_int.h, - lib/x509/x509_write.c, lib/x509_b64.c, lib/x509_b64.h, - src/benchmark-tls.c, src/certtool-common.c, src/certtool.c, - src/cli.c, src/common.c, src/crywrap/crywrap.c, src/dh.c, - src/pkcs11.c, src/serv.c, src/srptool.c, tests/anonself.c, - tests/certificate_set_x509_crl.c, tests/chainverify.c, - tests/cve-2008-4989.c, tests/cve-2009-1415.c, tests/dhepskself.c, - tests/dn.c, tests/dn2.c, tests/gc.c, tests/hostname-check.c, - tests/infoaccess.c, tests/mini-deflate.c, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/mini.c, tests/moredn.c, - tests/nul-in-x509-names.c, tests/openpgp-auth.c, - tests/openpgp-auth2.c, tests/openpgpself.c, tests/parse_ca.c, - tests/pkcs12_encode.c, tests/pkcs12_s2k.c, tests/pkcs12_s2k_pem.c, - tests/pskself.c, tests/resume.c, tests/rsa-encrypt-decrypt.c, - tests/slow/cipher-test.c, tests/utils.c, tests/utils.h, - tests/x509_altname.c, tests/x509cert.c, tests/x509dn.c, - tests/x509self.c, tests/x509sign-verify.c: Fixed signed/unsigned - warnings. Dropped opaque type (replaced with uint8_t) - -2012-01-14 Nikos Mavrogiannopoulos - - * lib/gnutls_cipher.c, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_int.h, lib/gnutls_state.c, - lib/gnutls_state.h, lib/gnutls_v2_compat.c, lib/gnutls_v2_compat.h, - lib/opencdk/misc.c, lib/x509/common.c, lib/x509/crl.c, - lib/x509/privkey_pkcs8.c, lib/x509/x509.c, lib/x509_b64.c: Modulo - operations are only occuring on unsigned integers. - -2012-01-20 Ludovic Courtès - - * cfg.mk, guile/modules/gnutls/build/priorities.scm, - guile/src/core.c: guile: Don't cast return value of `alloca'. - -2012-01-20 Ludovic Courtès - - * guile/modules/gnutls.in, guile/modules/gnutls/build/enums.scm: - guile: Update the list of error codes. - -2012-01-20 Simon Josefsson - - * po/cs.po.in, po/de.po.in, po/fr.po.in, po/it.po.in, po/ms.po.in, - po/nl.po.in, po/pl.po.in, po/sv.po.in, po/uk.po.in, po/zh_CN.po.in: - Sync with TP. +2014-02-18 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/includes/gnutls/x509.h, lib/x509/name_constraints.c: Allow + multiple flags in gnutls_x509_crt_get_name_constraints() - * cfg.mk: Ignore assembler code. +2014-02-18 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/x509/name_constraints.c: Do not deinitialize the constraints + structure when reading the constraints fails. - * doc/latex/cover-epub.tex, doc/latex/cover.tex, - doc/scripts/Makefile.am, doc/scripts/getfuncs.pl, - doc/scripts/mytexi2latex, doc/scripts/sort1.pl, - doc/scripts/sort2.pl, doc/scripts/split-texi.pl, - doc/scripts/split.pl, lib/gnutls_dtls.c, lib/gnutls_mbuffers.c, - lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/pkcs11.c, - lib/pkcs11_privkey.c, lib/pkcs11_secret.c, lib/pkcs11_write.c, - lib/x509/verify.c, tests/openpgp-auth.c, tests/openpgp-auth2.c, - tests/scripts/common.sh: Add/fix copyright headers. +2014-02-18 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/includes/gnutls/x509.h, lib/x509/name_constraints.c, + lib/x509/output.c: Allow appending name constraints. - * cfg.mk: Add rules to generate clang analysis. +2014-02-18 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/includes/gnutls/x509.h, lib/x509/name_constraints.c: Allow + setting a non-critical name-constraints extension. - * build-aux/gendocs.sh, doc/gendocs_template, gl/Makefile.am, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/stdlib_h.m4, - gl/stdlib.in.h, gl/sys_stat.in.h, gl/tests/fcntl.in.h, - gl/unistd.in.h: Update gnulib files. +2014-02-18 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/x509/name_constraints.c: better checking of unsupported + constraints. - * ChangeLog: Generated. +2014-02-17 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * NEWS: doc update - * NEWS, configure.ac: Version 3.0.12. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/includes/gnutls/x509.h, lib/libgnutls.map, lib/pkix.asn, + lib/pkix_asn1_tab.c, lib/x509/Makefile.am, lib/x509/extensions.c, + lib/x509/name_constraints.c, lib/x509/output.c, lib/x509/x509.c, + lib/x509/x509_int.h, tests/Makefile.am: Added support for name + constraints X.509 extension. This allows to generate and read the name constraints extension, as + well as check against the DNSNAME value. - * cfg.mk, po/POTFILES.in: Fix syntax-check rules. +2014-02-15 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * configure.ac: depend on p11-kit 0.20.0 or later - * .gitignore, NEWS, configure.ac, doc/Makefile.am, - doc/cha-bib.texi, doc/cha-cert-auth2.texi, doc/cha-functions.texi, - doc/cha-gtls-examples.texi, doc/examples/Makefile.am, - doc/examples/ex-ocsp-client.c, doc/examples/ex-ocsp-verify.c, - doc/manpages/Makefile.am, doc/reference/gnutls-docs.sgml, - lib/includes/Makefile.am, lib/includes/gnutls/ocsp.h, - lib/libgnutls.map, lib/pkix.asn, lib/pkix_asn1_tab.c, - lib/x509/Makefile.am, lib/x509/ocsp.c, lib/x509/ocsp_output.c, - m4/hooks.m4, src/Makefile.am, src/ocsptool-common.h, - src/ocsptool.c, src/ocsptool.gaa, tests/Makefile.am, tests/ocsp.c: - Add OCSP functionality. +2014-02-15 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * tests/chainverify.c: changed names for clarity - * lib/x509/verify-high.c, lib/x509/verify-high.h: Fix semantics of - (unused) _gnutls_trustlist_inlist. +2014-02-15 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/gnutls_pcert.c: Corrected bug in + gnutls_pcert_list_import_x509_raw(). The bug caused gnutls_pcert_list_import_x509_raw() to crash if + gnutls_x509_crt_list_import() would fail with the provided data. + Reported by Dmitriy Anisimkov. - * doc/manpages/Makefile.am: Bump copyright year on manpages. +2014-02-14 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * tests/suppressions.valgrind: corrected suppressions file - * lib/x509/x509.c: Fix mem leak. +2014-02-14 Nikos Mavrogiannopoulos -2012-01-20 Simon Josefsson + * lib/includes/gnutls/x509.h: do not mention + GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT in documentation - * doc/manpages/Makefile.am: Cosmetic improvement of build output. +2014-02-14 Nikos Mavrogiannopoulos -2012-01-19 Simon Josefsson + * lib/gnutls_priority.c, lib/includes/gnutls/compat.h, + lib/includes/gnutls/x509.h, lib/x509/verify.c, src/certtool.c, + tests/chainverify.c: removed deprecated flag - * guile/tests/Makefile.am: Print detailed guile warnings (for - obsolete functions). +2014-02-13 Nikos Mavrogiannopoulos -2012-01-18 Simon Josefsson + * doc/latex/cover.tex: added Ted - * doc/Makefile.am: Fix doc/enums/ generation to work with 'make - distcheck'. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-18 Simon Josefsson + * lib/crypto-selftests-pk.c: Use pre-generated keys for self-tests. - * guile/pre-inst-guile.in: Fix builddir != srcdir builds. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-18 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: set value to null after releasing - * doc/cha-gtls-app.texi: doc fix +2014-02-13 Nikos Mavrogiannopoulos -2012-01-18 Nikos Mavrogiannopoulos + * tests/slow/keygen.c: generate keys in the acceptable sizes in + FIPS140 mode - * NEWS, lib/gnutls_errors.c, lib/gnutls_priority.c, src/cli.c: - GNUTLS_E_NO_PRIORITIES_WERE_SET is also returned by - gnutls_priority_set_* This allows to warn when an incomplete set of - priorities is specified. Reported by Yaroslav Stavnichiy. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-17 Nikos Mavrogiannopoulos + * tests/crq_key_id.c: generate 2048 bit keys in RSA mode - * lib/gnutls_errors.c, lib/gnutls_handshake.c, - lib/includes/gnutls/gnutls.h.in: introduced - GNUTLS_E_NO_PRIORITIES_WERE_SET. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-15 Nikos Mavrogiannopoulos + * lib/x509/x509.c, lib/x509/x509_int.h: Added + _gnutls_parse_general_name2() - * doc/cha-gtls-app.texi, doc/texinfo.css: more documentation - updates. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-15 Nikos Mavrogiannopoulos + * lib/x509/common.c: ensure that _gnutls_x509_read_value works as + documented. - * doc/cha-internals.texi: added more information to internals'' +2014-02-13 Nikos Mavrogiannopoulos -2012-01-15 Nikos Mavrogiannopoulos + * lib/x509/verify.c: ensure that the issuer in present in a trusted + module. - * doc/printlist.c: better print supported algorithms. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-17 Nikos Mavrogiannopoulos + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: removed flag + GNUTLS_PKCS11_TOKEN_TRUSTED_UINT - * doc/examples/ex-client-x509.c: Added - gnutls_certificate_set_x509_key_file in a comment. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-15 Nikos Mavrogiannopoulos + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: Added flag + GNUTLS_PKCS11_TOKEN_TRUSTED for gnutls_pkcs11_token_get_flags(). - * doc/examples/ex-pkcs11-list.c, doc/examples/print-ciphersuites.c: - added boilerplate +2014-02-13 Nikos Mavrogiannopoulos -2012-01-17 Ludovic Courtès + * lib/x509/verify.c: Use the + GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE to ensure that only + trusted modules are used. - * guile/pre-inst-guile.in: Fix $(srcdir) != $(builddir) for Guile. Now that modules/gnutls.scm is generated, $(builddir) must be in the - search path. +2014-02-13 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, lib/pkcs11_int.h: + Added flag GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE. This flag can be used to ensure that the object request lies on a + marked as trusted PKCS #11 module. The marking is done on p11-kit + configuration. - * tests/ecdsa/ecdsa: Fix srcdir != builddir builds. Tiny patch from Elias Pipping . +2014-02-13 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * lib/pkcs11.c: mark trusted p11-kit modules as trusted. - * lib/includes/gnutls/gnutls.h.in, lib/nettle/ecc_mulmod.c: GTK-DOC - fixes. +2014-02-12 Marcus Meissner -2012-01-16 Simon Josefsson + * src/serv.c: fixed socket existance checking If getaddrinfo returns: ipv4 address, ipv6 address ... and socket() + for the ipv6 address fails, this loop would fail and abort the + socket listen code. Signed-off-by: Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Generated. +2014-02-12 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * doc/cha-gtls-app.texi: Applied part of Ted Zlatanov's patch. - * doc/cha-programs.texi: Fix sc_space_tab syntax-check nit. +2014-02-12 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * tests/chainverify.c: Added test for pathlen constraints. - * .clcopying, AUTHORS, cfg.mk, doc/Makefile.am, - doc/alert-printlist.c, doc/credentials/Makefile.am, doc/errcodes.c, - doc/examples/Makefile.am, doc/extract-guile-c-doc.scm, - doc/fdl-1.3.texi, doc/gpl-3.0.texi, doc/lgpl-2.1.texi, - doc/printlist.c, extra/Makefile.am, extra/gnutls_openssl.c, - extra/includes/Makefile.am, extra/includes/gnutls/openssl.h, - extra/openssl_compat.c, extra/openssl_compat.h, guile/Makefile.am, - guile/modules/Makefile.am, guile/modules/gnutls.in, - guile/modules/gnutls/build/enums.scm, - guile/modules/gnutls/build/priorities.scm, - guile/modules/gnutls/build/smobs.scm, - guile/modules/gnutls/build/utils.scm, - guile/modules/gnutls/extra.scm, - guile/modules/system/documentation/c-snarf.scm, - guile/modules/system/documentation/output.scm, - guile/pre-inst-guile.in, guile/src/errors.c, guile/src/utils.c, - guile/tests/anonymous-auth.scm, guile/tests/errors.scm, - guile/tests/openpgp-auth.scm, guile/tests/openpgp-keyring.scm, - guile/tests/openpgp-keys.scm, guile/tests/pkcs-import-export.scm, - guile/tests/session-record-port.scm, guile/tests/srp-base64.scm, - guile/tests/x509-auth.scm, guile/tests/x509-certificates.scm, - lib/auth/anon.c, lib/auth/anon_ecdh.c, lib/auth/dh_common.c, - lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/psk.c, - lib/auth/psk_passwd.c, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/auth/srp_passwd.c, lib/auth/srp_rsa.c, lib/auth/srp_sb64.c: - Collapse and cleanup copyright information. +2014-02-12 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * tests/chainverify.c: Added check for v1 intermediate CA + certificate - * .clcopying, AUTHORS, ChangeLog, ChangeLog.1, Makefile.am, NEWS, - README, README-alpha, THANKS, configure.ac, doc/Makefile.am, - doc/alert-printlist.c, doc/credentials/Makefile.am, - doc/cyclo/Makefile.am, doc/errcodes.c, doc/examples/Makefile.am, - doc/extract-guile-c-doc.scm, doc/fdl-1.3.texi, - doc/gnutls-guile.texi, doc/gnutls.texi, doc/gpl-3.0.texi, - doc/lgpl-2.1.texi, doc/manpages/Makefile.am, doc/printlist.c, - extra/Makefile.am, extra/gnutls_openssl.c, - extra/includes/Makefile.am, extra/includes/gnutls/openssl.h, - extra/openssl_compat.c, extra/openssl_compat.h, guile/Makefile.am, - guile/modules/Makefile.am, guile/modules/gnutls.in, - guile/modules/gnutls/build/enums.scm, - guile/modules/gnutls/build/priorities.scm, - guile/modules/gnutls/build/smobs.scm, - guile/modules/gnutls/build/tests.scm, - guile/modules/gnutls/build/utils.scm, - guile/modules/gnutls/extra.scm, - guile/modules/system/documentation/c-snarf.scm, - guile/modules/system/documentation/output.scm, - guile/pre-inst-guile.in, guile/src/Makefile.am, guile/src/core.c, - guile/src/errors.c, guile/src/errors.h, - guile/src/make-enum-header.scm, guile/src/make-enum-map.scm, - guile/src/make-session-priorities.scm, - guile/src/make-smob-header.scm, guile/src/make-smob-types.scm, - guile/src/utils.c, guile/src/utils.h, guile/tests/Makefile.am, - guile/tests/anonymous-auth.scm, guile/tests/errors.scm, - guile/tests/openpgp-auth.scm, guile/tests/openpgp-keyring.scm, - guile/tests/openpgp-keys.scm, guile/tests/pkcs-import-export.scm, - guile/tests/priorities.scm, guile/tests/session-record-port.scm, - guile/tests/srp-base64.scm, guile/tests/x509-auth.scm, - guile/tests/x509-certificates.scm, lib/Makefile.am, - lib/accelerated/Makefile.am, lib/accelerated/accelerated.c, - lib/accelerated/cryptodev.c, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/aes-gcm-padlock.c, - lib/accelerated/x86/aes-gcm-x86.c, - lib/accelerated/x86/aes-padlock.c, lib/accelerated/x86/aes-x86.c, - lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, - lib/accelerated/x86/hmac-padlock.c, - lib/accelerated/x86/sha-padlock.c, lib/accelerated/x86/x86.h, - lib/algorithms.h, lib/algorithms/Makefile.am, - lib/algorithms/cert_types.c, lib/algorithms/ciphers.c, - lib/algorithms/ciphersuites.c, lib/algorithms/ecc.c, - lib/algorithms/kx.c, lib/algorithms/mac.c, - lib/algorithms/protocols.c, lib/algorithms/publickey.c, - lib/algorithms/secparams.c, lib/algorithms/sign.c, - lib/auth/Makefile.am, lib/auth/anon.c, lib/auth/anon.h, - lib/auth/anon_ecdh.c, lib/auth/cert.c, lib/auth/cert.h, - lib/auth/dh_common.c, lib/auth/dh_common.h, lib/auth/dhe.c, - lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, lib/auth/ecdh_common.h, - lib/auth/psk.c, lib/auth/psk.h, lib/auth/psk_passwd.c, - lib/auth/psk_passwd.h, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/auth/srp.c, lib/auth/srp.h, lib/auth/srp_passwd.c, - lib/auth/srp_passwd.h, lib/auth/srp_rsa.c, lib/auth/srp_sb64.c, - lib/crypto-api.c, lib/crypto-backend.c, lib/crypto-backend.h, - lib/crypto.h, lib/debug.c, lib/debug.h, lib/ext/Makefile.am, - lib/ext/cert_type.c, lib/ext/cert_type.h, lib/ext/ecc.c, - lib/ext/ecc.h, lib/ext/max_record.c, lib/ext/max_record.h, - lib/ext/safe_renegotiation.c, lib/ext/safe_renegotiation.h, - lib/ext/server_name.c, lib/ext/server_name.h, - lib/ext/session_ticket.c, lib/ext/session_ticket.h, - lib/ext/signature.c, lib/ext/signature.h, lib/ext/srp.c, - lib/ext/srp.h, lib/extras/Makefile.am, lib/gnutls.pc.in, - lib/gnutls_alert.c, lib/gnutls_anon_cred.c, lib/gnutls_auth.c, - lib/gnutls_auth.h, lib/gnutls_buffers.c, lib/gnutls_buffers.h, - lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_cipher.h, - lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, - lib/gnutls_compress.c, lib/gnutls_compress.h, - lib/gnutls_constate.c, lib/gnutls_constate.h, lib/gnutls_datum.c, - lib/gnutls_datum.h, lib/gnutls_db.c, lib/gnutls_db.h, - lib/gnutls_dh.c, lib/gnutls_dh.h, lib/gnutls_dh_primes.c, - lib/gnutls_dtls.h, lib/gnutls_ecc.c, lib/gnutls_errors.c, - lib/gnutls_errors.h, lib/gnutls_extensions.c, - lib/gnutls_extensions.h, lib/gnutls_global.c, lib/gnutls_global.h, - lib/gnutls_handshake.c, lib/gnutls_handshake.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_helper.c, - lib/gnutls_int.h, lib/gnutls_kx.c, lib/gnutls_kx.h, - lib/gnutls_mbuffers.h, lib/gnutls_mem.c, lib/gnutls_mem.h, - lib/gnutls_mpi.c, lib/gnutls_mpi.h, lib/gnutls_num.c, - lib/gnutls_num.h, lib/gnutls_pcert.c, lib/gnutls_pk.h, - lib/gnutls_priority.c, lib/gnutls_psk.c, lib/gnutls_record.c, - lib/gnutls_record.h, lib/gnutls_rsa_export.c, - lib/gnutls_rsa_export.h, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_session_pack.h, - lib/gnutls_sig.c, lib/gnutls_sig.h, lib/gnutls_srp.c, - lib/gnutls_srp.h, lib/gnutls_state.h, lib/gnutls_str.c, - lib/gnutls_str.h, lib/gnutls_str_array.h, - lib/gnutls_supplemental.c, lib/gnutls_supplemental.h, - lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_v2_compat.h, - lib/gnutls_x509.c, lib/gnutls_x509.h, lib/hash.c, - lib/includes/Makefile.am, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/compat.h, lib/includes/gnutls/crypto.h, - lib/includes/gnutls/dtls.h, lib/includes/gnutls/gnutlsxx.h, - lib/includes/gnutls/openpgp.h, lib/includes/gnutls/pkcs11.h, - lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/libgnutlsxx.map, lib/locks.c, - lib/minitasn1/Makefile.am, lib/minitasn1/coding.c, - lib/minitasn1/decoding.c, lib/minitasn1/element.c, - lib/minitasn1/element.h, lib/minitasn1/errors.c, - lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, lib/minitasn1/int.h, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/parser_aux.h, lib/minitasn1/structure.c, - lib/minitasn1/structure.h, lib/minitasn1/version.c, - lib/nettle/Makefile.am, lib/nettle/cipher.c, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_mulmod_timing.c, - lib/nettle/ecc_points.c, lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_check_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_verify_hash.c, lib/nettle/egd.c, lib/nettle/init.c, - lib/nettle/mac.c, lib/nettle/mpi.c, lib/nettle/pk.c, - lib/nettle/rnd.c, lib/opencdk/Makefile.am, lib/opencdk/armor.c, - lib/opencdk/context.h, lib/opencdk/filters.h, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/literal.c, - lib/opencdk/main.h, lib/opencdk/misc.c, lib/opencdk/new-packet.c, - lib/opencdk/opencdk.h, lib/opencdk/packet.h, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, - lib/opencdk/stream.h, lib/opencdk/types.h, - lib/opencdk/write-packet.c, lib/openpgp/Makefile.am, - lib/openpgp/compat.c, lib/openpgp/extras.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/output.c, - lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, lib/openpgp/privkey.c, - lib/random.c, lib/random.h, lib/system.c, lib/system_override.c, - lib/x509/Makefile.am, lib/x509/common.c, lib/x509/common.h, - lib/x509/crl.c, lib/x509/crl_write.c, lib/x509/crq.c, - lib/x509/dn.c, lib/x509/extensions.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/pbkdf2-sha1.c, lib/x509/pkcs12.c, lib/x509/pkcs12_bag.c, - lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/rfc2818_hostname.c, - lib/x509/sign.c, lib/x509/verify-high.c, lib/x509/verify-high.h, - lib/x509/x509_int.h, lib/x509/x509_write.c, lib/x509_b64.c, - lib/x509_b64.h, m4/gcc.m4, m4/guile.m4, m4/hooks.m4, po/cs.po.in, - po/de.po.in, po/fr.po.in, po/it.po.in, po/ms.po.in, po/nl.po.in, - po/pl.po.in, po/sv.po.in, po/uk.po.in, po/zh_CN.po.in, - src/Makefile.am, src/benchmark-cipher.c, src/benchmark-tls.c, - src/benchmark.c, src/certtool-cfg.c, src/certtool-common.c, - src/certtool.c, src/cli.c, src/common.c, src/crywrap/Makefile.am, - src/dh.c, src/p11common.c, src/p11tool.c, src/pkcs11.c, src/psk.c, - src/serv.c, src/srptool.c, src/tests.c, src/tls_test.c, - src/udp-serv.c, tests/Makefile.am, tests/anonself.c, - tests/certder.c, tests/certificate_set_x509_crl.c, - tests/certuniqueid.c, tests/chainverify.c, tests/crq_apis.c, - tests/crq_key_id.c, tests/cve-2008-4989.c, tests/cve-2009-1415.c, - tests/cve-2009-1416.c, tests/dhepskself.c, tests/dn.c, tests/dn2.c, - tests/dsa/Makefile.am, tests/dsa/testdsa, tests/ecdsa/Makefile.am, - tests/ecdsa/ecdsa, tests/gc.c, tests/hostname-check.c, - tests/infoaccess.c, tests/init_roundtrip.c, - tests/key-id/Makefile.am, tests/key-id/README, tests/key-id/key-id, - tests/mini-deflate.c, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/mini-x509-rehandshake.c, - tests/mini-x509.c, tests/mini.c, tests/moredn.c, tests/mpi.c, - tests/nist-pkits/pkits, tests/nist-pkits/pkits_crl, - tests/nist-pkits/pkits_crt, tests/nist-pkits/pkits_pkcs12, - tests/nist-pkits/pkits_smime, tests/nul-in-x509-names.c, - tests/openpgp-certs/Makefile.am, tests/openpgp-certs/testcerts, - tests/openpgp-certs/testselfsigs, tests/openpgp-keyring.c, - tests/openpgpself.c, tests/openssl.c, tests/parse_ca.c, - tests/pathlen/Makefile.am, tests/pathlen/pathlen, - tests/pgps2kgnu.c, tests/pkcs1-padding/Makefile.am, - tests/pkcs1-padding/pkcs1-pad, tests/pkcs12-decode/Makefile.am, - tests/pkcs12-decode/pkcs12, tests/pkcs12_encode.c, - tests/pkcs12_s2k.c, tests/pkcs12_s2k_pem.c, - tests/pkcs8-decode/Makefile.am, tests/pkcs8-decode/pkcs8, - tests/pskself.c, tests/resume.c, tests/rfc2253-escape-test, - tests/rng-fork.c, tests/rsa-encrypt-decrypt.c, - tests/rsa-md5-collision/Makefile.am, - tests/rsa-md5-collision/README, - tests/rsa-md5-collision/rsa-md5-collision, - tests/safe-renegotiation/Makefile.am, - tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, - tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, - tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c, - tests/scripts/Makefile.am, tests/set_pkcs12_cred.c, - tests/setcredcrash.c, tests/sha2/Makefile.am, tests/sha2/sha2, - tests/sha2/sha2-dsa, tests/simple.c, tests/slow/Makefile.am, - tests/slow/gendh.c, tests/slow/keygen.c, tests/suite/Makefile.am, - tests/suite/chain, tests/suite/eagain, tests/suite/testcompat, - tests/suite/testcompat-main, tests/suite/testsrn, - tests/suppressions.valgrind, tests/userid/Makefile.am, - tests/userid/userid, tests/userid/userid.pem, tests/utils.c, - tests/utils.h, tests/x509_altname.c, tests/x509cert-tl.c, - tests/x509cert.c, tests/x509dn.c, tests/x509self.c, - tests/x509sign-verify.c: Run 'make update-copyright'. +2014-02-12 Nikos Mavrogiannopoulos -2012-01-16 Simon Josefsson + * lib/x509/verify.c: Fix bug that prevented the rejection of v1 + intermediate CA certificates. Reported by Suman Jana. - * cfg.mk: Ignore pkg.m4. Copyright fixes. +2014-02-12 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * lib/abstract_int.h, lib/gnutls_pubkey.c: removed unused function - * lib/gnutls_x509.c: improved doc +2014-02-11 Nikos Mavrogiannopoulos -2012-01-14 Simon Josefsson + * NEWS: doc update - * lib/gnutls_pk.c: Fix memory leak. +2014-02-11 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c: Use longer + timestamps for serial numbers. - * doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi: properly spread authentication and - credentials doc. +2014-02-10 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * maint.mk: updated indent cmd - * doc/cha-gtls-app.texi: updated text +2014-02-10 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * cfg.mk: corrected indent parameters - * cfg.mk: no longer use texi2html. makeinfo --html has decent - output. +2014-02-10 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * lib/accelerated/x86/aes-cbc-x86-aesni.c, + lib/accelerated/x86/aes-cbc-x86-ssse3.c, lib/accelerated/x86/x86.h: + do not redefine the _gnutls_x86_cpuid_s symbol - * doc/errcodes.c: print numeric error codes everywhere. +2014-02-07 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * doc/cha-gtls-app.texi, lib/gnutls_priority.c: Adjusted the + security levels of PFS, SECURE128 and SECURE192 keywords. - * doc/cha-programs.texi: SECURE256 -> SECURE192 +2014-02-07 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: reduced security levels of SECURE128 and + SECURE192 strings. - * doc/alert-printlist.c, doc/scripts/gdoc, - doc/scripts/split-texi.pl, doc/texinfo.css: updated css for better - html output. +2014-02-06 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * tests/mini-record-2.c: only test libz if it is available - * lib/includes/gnutls/gnutls.h.in: better indent - gnutls_certificate_set_x509_simple_pkcs12_file to allow them being - found by doc script. +2014-02-06 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * tests/mini-record-2.c: check errors from + gnutls_priority_set_direct(). - * doc/gnutls.texi, doc/scripts/gdoc, doc/scripts/split-texi.pl: - caption is set on enumerations in texinfo. Unfortunately they are - not visible to the pdf output due to a probable bug in texinfo. +2014-02-06 Nikos Mavrogiannopoulos -2012-01-14 Nikos Mavrogiannopoulos + * doc/cha-tokens.texi: doc update - * doc/cha-cert-auth2.texi: Added pkcs12_simple function. +2014-02-06 Nikos Mavrogiannopoulos -2012-01-13 Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: increased the interval between reading + /dev/urandom - * .gitignore: more files to ignore +2014-02-05 Nikos Mavrogiannopoulos -2012-01-13 Nikos Mavrogiannopoulos + * po/cs.po.in, po/de.po.in, po/eo.po.in, po/fi.po.in, po/fr.po.in, + po/it.po.in, po/ms.po.in, po/nl.po.in, po/pl.po.in, po/sv.po.in, + po/uk.po.in, po/vi.po.in, po/zh_CN.po.in: Sync with TP. - * gl/Makefile.am, gl/argp-parse.c, gl/inet_ntop.c, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/ld-version-script.m4, gl/m4/printf.m4, gl/m4/stdlib_h.m4, - gl/m4/usleep.m4, gl/select.c, gl/stdlib.in.h, gl/tests/Makefile.am, - gl/tests/ignore-value.h, gl/tests/pipe.c, gl/tests/test-init.sh, - gl/tests/test-usleep.c, gl/usleep.c, maint.mk, src/udp-serv.c: - usleep() is no longer used. +2014-02-05 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * src/certtool-args.def, src/certtool-cfg.c, src/certtool.c, + src/danetool.c, src/p11tool.c, src/tpmtool.c: Added --ask-pass + certtool option to allow asking for passwords even when in batch + mode. - * doc/cha-intro-tls.texi, doc/errcodes.c: documentation updates +2014-02-05 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * src/certtool-common.c: use newlines in error printing - * doc/scripts/gdoc: improved gdoc output for function parameters. +2014-02-03 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * lib/x509/verify.c: when using a PKCS #11 module for verification + ensure that it has been marked a trusted module in p11-kit. - * lib/algorithms/ciphers.c, lib/algorithms/mac.c, - lib/crypto-backend.h, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/gnutls_hash_int.c, - lib/gnutls_hash_int.h, lib/nettle/cipher.c, lib/nettle/mac.c: Only - list algorithms if they are implemented. +2014-02-03 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: Added flag + GNUTLS_PKCS11_TOKEN_TRUSTED_UINT that can be used to obtain + p11-kit's P11_KIT_MODULE_TRUSTED flag. - * lib/algorithms/ciphers.c: reordered ciphers to place on top the - most used. +2014-02-03 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: use macros to set the level. - * .gitignore, doc/cha-gtls-app.texi, doc/cha-gtls-examples.texi, - doc/cha-programs.texi, doc/examples/Makefile.am, - doc/examples/print-ciphersuites.c: Documented ways to list the - enabled ciphersuites. +2014-02-02 Nikos Mavrogiannopoulos -2012-01-12 Nikos Mavrogiannopoulos + * doc/reference/Makefile.am, doc/reference/gnutls-docs.sgml: updated + reference manual to remove individual indexes that were not working. - * doc/cha-gtls-app.texi: updated +2014-02-02 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * tests/suite/ciphersuite/test-ciphersuites.sh: corrected + test-ciphersuites.sh test - * doc/cha-gtls-app.texi: documentation update +2014-02-02 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: consider the initial keyword set even when + it's set to NONE. - * NEWS, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map: Added gnutls_session_resumption_requested(). +2014-02-02 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: When two initial keywords are specified + then treat the second as having the '+' modifier. This will handle SECURE256:SECURE128 the same way as + SECURE256:+SECURE128. - * NEWS: updated +2014-02-01 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c, lib/includes/gnutls/x509.h: when setting + multiple initial keywords in a priority string, the security level + set is the one of the lowest security. - * lib/auth/ecdh_common.c: avoid allocating a privkey param for the - public key. +2014-02-01 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/x509/verify.c: better wording - * lib/nettle/ecc_shared_secret.c: corrected issue in ECDH key - generation. This issue prevented an ECDH key that was smaller than - the prime from being correctly aligned. +2014-02-01 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: corrected bug in DH exponent size calculation. - * lib/gnutls_alert.c: better handle alert for - GNUTLS_E_PREMATURE_TERMINATION +2014-02-01 Nikos Mavrogiannopoulos -2012-01-11 Nikos Mavrogiannopoulos + * lib/ext/ecc.c: tolerate servers that included the SUPPORTED ECC + extension. This is an extension that is defined to be sent by the client but + there are servers that include it as well. Most other + implementations tolerate this behavior so we do. - * lib/gnutls_record.c: do not absorb error message +2014-02-01 Nikos Mavrogiannopoulos -2012-01-10 Nikos Mavrogiannopoulos + * lib/algorithms/ciphersuites.c: corrected typo - * NEWS, lib/nettle/ecc_projective_check_point.c: Eliminated memory - leak in ecc_projective_check_point(). +2014-01-31 Nikos Mavrogiannopoulos -2012-01-10 Nikos Mavrogiannopoulos + * lib/algorithms/ciphersuites.c: reduced the TLS and DTLS version + requirements for all ciphersuites that are not GCM. - * cross.mk: updated +2014-01-31 Nikos Mavrogiannopoulos -2012-01-10 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: return proper error on RSA key generation failure - * lib/includes/gnutls/x509.h, lib/x509/common.c, lib/x509/dn.c: - gnutls_x509_dn_oid_name() was extended with a flags option that - accepts currently GNUTLS_X509_DN_OID_RETURN_OID or 0. +2014-01-31 Nikos Mavrogiannopoulos -2012-01-10 Nikos Mavrogiannopoulos + * lib/gnutls_privkey_raw.c, lib/nettle/pk.c, lib/x509/privkey.c: + allow a missing u - * doc/cha-bib.texi, doc/cha-cert-auth.texi, doc/latex/gnutls.bib, - lib/includes/gnutls/compat.h, lib/x509/crl.c, lib/x509/dn.c, - lib/x509/x509.c: Added discussion of distinguished names. +2014-01-31 Nikos Mavrogiannopoulos -2012-01-10 Nikos Mavrogiannopoulos + * lib/gnutls_hash_int.c: Added sanity check in hash_init() and + mac_init(). - * doc/cha-cert-auth2.texi: describe gnutls_privkey_import_ext in - more detail. +2014-01-31 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: use some kind of key continuity in the nonce + RNG. - * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/x509/common.c, lib/x509/common.h, lib/x509/dn.c: Added - gnutls_x509_dn_oid_name(). +2014-01-30 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi: discuss the change - in Diffie-Hellman parameters. +2014-01-30 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * lib/x509/privkey.c: when importing public keys set the correct + algorithm. - * doc/cha-gtls-app.texi, lib/gnutls_priority.c: Defined more - precisely the SECURE levels. +2014-01-30 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * lib/nettle/int/provable-prime.c: allow for seeds larger to the MAX + by one byte - * doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi: updated for - pkg-config autoconf macro and added gnutls_pubkey_encrypt_data. +2014-01-30 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * lib/nettle/int/dsa-keygen-fips186.c: corrected calculation - * lib/x509/x509.c: updated descriptions +2014-01-30 Nikos Mavrogiannopoulos -2012-01-09 Nikos Mavrogiannopoulos + * lib/includes/gnutls/gnutls.h.in: corrected prototype - * lib/x509/x509.c: removed not applicable comments. +2014-01-29 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/libgnutls.map, lib/nettle/Makefile.am, + lib/nettle/int/rsa-fips.h, lib/nettle/int/rsa-keygen-fips186.c, + lib/nettle/pk.c: Added FIPS184-4 RSA key generation. - * NEWS, lib/gnutls_pubkey.c, lib/includes/gnutls/abstract.h, - lib/libgnutls.map, tests/Makefile.am, tests/rsa-encrypt-decrypt.c: - Added gnutls_pubkey_encrypt_data(). +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/gnutls_db.c, lib/libgnutls.map: rename function - * configure.ac: more gcc warnings to ignore +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/gnutls_db.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added gnutls_db_get_cache_expiration() - * src/serv.c, src/udp-serv.c, src/udp-serv.h: tcp and udp server are - now void functions. +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c, lib/gnutls_pubkey.c: Added Since flag. - * NEWS, src/certtool.c: --outder option works for public keys. +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * NEWS: doc update - * NEWS, src/certtool.c: certtool --outder option now works for - private keys as well. +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: removed unused variables - * lib/accelerated/x86/Makefile.am: removed trailing slash. +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, + lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added + gnutls_pubkey_verify_params() and gnutls_privkey_verify_params(). - * THANKS: updated thanks +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/crypto-backend.h, lib/gnutls_pk.h, lib/nettle/pk.c, + lib/x509/privkey.c: Allow verification of public and private + parameters. - * tests/slow/Makefile.am: remove trailing slash. +2014-01-28 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * lib/x509/privkey.c: Handle DSA and ECDSA the same when verifying + keys. - * GNUmakefile, build-aux/config.rpath, build-aux/pmccabe2html, - build-aux/snippet/arg-nonnull.h, build-aux/snippet/c++defs.h, - build-aux/snippet/warn-on-use.h, build-aux/useless-if-before-free, - build-aux/vc-list-files, gl/Makefile.am, gl/accept.c, gl/alloca.c, - gl/alloca.in.h, gl/alphasort.c, gl/argp-ba.c, gl/argp-eexst.c, - gl/argp-fmtstream.c, gl/argp-fmtstream.h, gl/argp-fs-xinl.c, - gl/argp-help.c, gl/argp-namefrob.h, gl/argp-parse.c, gl/argp-pin.c, - gl/argp-pv.c, gl/argp-pvh.c, gl/argp-xinl.c, gl/argp.h, - gl/arpa_inet.in.h, gl/asnprintf.c, gl/asprintf.c, - gl/basename-lgpl.c, gl/bind.c, gl/byteswap.in.h, gl/c-ctype.c, - gl/c-ctype.h, gl/close.c, gl/closedir.c, gl/connect.c, - gl/dirent-private.h, gl/dirent.in.h, gl/dirname-lgpl.c, - gl/dirname.h, gl/dosname.h, gl/errno.in.h, gl/error.c, gl/error.h, - gl/fd-hook.c, gl/fd-hook.h, gl/filename.h, gl/float+.h, gl/float.c, - gl/float.in.h, gl/fpucw.h, gl/frexp.c, gl/frexpl.c, gl/fseek.c, - gl/fseeko.c, gl/fseterr.c, gl/fseterr.h, gl/fstat.c, gl/ftell.c, - gl/ftello.c, gl/gai_strerror.c, gl/getaddrinfo.c, gl/getdelim.c, - gl/getline.c, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c, - gl/getopt_int.h, gl/getpass.c, gl/getpass.h, gl/getpeername.c, - gl/getsubopt.c, gl/gettext.h, gl/gettime.c, gl/gettimeofday.c, - gl/inet_ntop.c, gl/inet_pton.c, gl/intprops.h, gl/isnan.c, - gl/isnand-nolibm.h, gl/isnand.c, gl/isnanf-nolibm.h, gl/isnanf.c, - gl/isnanl-nolibm.h, gl/isnanl.c, gl/itold.c, gl/listen.c, - gl/lseek.c, gl/m4/00gnulib.m4, gl/m4/alloca.m4, gl/m4/alphasort.m4, - gl/m4/argp.m4, gl/m4/arpa_inet_h.m4, gl/m4/byteswap.m4, - gl/m4/clock_time.m4, gl/m4/close.m4, gl/m4/closedir.m4, - gl/m4/codeset.m4, gl/m4/dirent_h.m4, gl/m4/dirname.m4, - gl/m4/double-slash-root.m4, gl/m4/dup2.m4, gl/m4/eealloc.m4, - gl/m4/environ.m4, gl/m4/errno_h.m4, gl/m4/error.m4, - gl/m4/exponentd.m4, gl/m4/exponentf.m4, gl/m4/exponentl.m4, - gl/m4/extensions.m4, gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, - gl/m4/fdopen.m4, gl/m4/float_h.m4, gl/m4/fpieee.m4, gl/m4/frexp.m4, - gl/m4/frexpl.m4, gl/m4/fseek.m4, gl/m4/fseeko.m4, gl/m4/fstat.m4, - gl/m4/ftell.m4, gl/m4/ftello.m4, gl/m4/ftruncate.m4, gl/m4/func.m4, - gl/m4/getaddrinfo.m4, gl/m4/getcwd.m4, gl/m4/getdelim.m4, - gl/m4/getline.m4, gl/m4/getopt.m4, gl/m4/getpagesize.m4, - gl/m4/getpass.m4, gl/m4/getsubopt.m4, gl/m4/gettext.m4, - gl/m4/gettime.m4, gl/m4/gettimeofday.m4, gl/m4/glibc2.m4, - gl/m4/glibc21.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/hostent.m4, - gl/m4/iconv.m4, gl/m4/include_next.m4, gl/m4/inet_ntop.m4, - gl/m4/inet_pton.m4, gl/m4/intdiv0.m4, gl/m4/intl.m4, - gl/m4/intldir.m4, gl/m4/intlmacosx.m4, gl/m4/intmax.m4, - gl/m4/intmax_t.m4, gl/m4/inttypes-pri.m4, gl/m4/inttypes.m4, - gl/m4/inttypes_h.m4, gl/m4/ioctl.m4, gl/m4/isnand.m4, - gl/m4/isnanf.m4, gl/m4/isnanl.m4, gl/m4/largefile.m4, - gl/m4/lcmessage.m4, gl/m4/ld-output-def.m4, - gl/m4/ld-version-script.m4, gl/m4/ldexpl.m4, gl/m4/lib-ld.m4, - gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/lock.m4, - gl/m4/longlong.m4, gl/m4/lseek.m4, gl/m4/lstat.m4, gl/m4/malloc.m4, - gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/math_h.m4, - gl/m4/memchr.m4, gl/m4/memmem.m4, gl/m4/mempcpy.m4, - gl/m4/minmax.m4, gl/m4/mmap-anon.m4, gl/m4/mode_t.m4, - gl/m4/msvc-inval.m4, gl/m4/msvc-nothrow.m4, gl/m4/multiarch.m4, - gl/m4/netdb_h.m4, gl/m4/netinet_in_h.m4, gl/m4/nls.m4, - gl/m4/nocrash.m4, gl/m4/open.m4, gl/m4/opendir.m4, - gl/m4/pathmax.m4, gl/m4/perror.m4, gl/m4/pipe.m4, gl/m4/po.m4, - gl/m4/printf-frexp.m4, gl/m4/printf-frexpl.m4, - gl/m4/printf-posix.m4, gl/m4/printf.m4, gl/m4/progtest.m4, - gl/m4/putenv.m4, gl/m4/rawmemchr.m4, gl/m4/read-file.m4, - gl/m4/readdir.m4, gl/m4/realloc.m4, gl/m4/scandir.m4, - gl/m4/select.m4, gl/m4/servent.m4, gl/m4/setenv.m4, - gl/m4/signal_h.m4, gl/m4/signbit.m4, gl/m4/size_max.m4, - gl/m4/sleep.m4, gl/m4/snprintf.m4, gl/m4/socketlib.m4, - gl/m4/sockets.m4, gl/m4/socklen.m4, gl/m4/sockpfaf.m4, - gl/m4/ssize_t.m4, gl/m4/stat.m4, gl/m4/stdalign.m4, - gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4, - gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, - gl/m4/stdlib_h.m4, gl/m4/strcase.m4, gl/m4/strchrnul.m4, - gl/m4/strdup.m4, gl/m4/strerror.m4, gl/m4/strerror_r.m4, - gl/m4/string_h.m4, gl/m4/strings_h.m4, gl/m4/strndup.m4, - gl/m4/strnlen.m4, gl/m4/strverscmp.m4, gl/m4/symlink.m4, - gl/m4/sys_ioctl_h.m4, gl/m4/sys_select_h.m4, gl/m4/sys_socket_h.m4, - gl/m4/sys_stat_h.m4, gl/m4/sys_time_h.m4, gl/m4/sys_types_h.m4, - gl/m4/sys_uio_h.m4, gl/m4/sysexits.m4, gl/m4/thread.m4, - gl/m4/threadlib.m4, gl/m4/time_h.m4, gl/m4/time_r.m4, - gl/m4/timespec.m4, gl/m4/uintmax_t.m4, gl/m4/ungetc.m4, - gl/m4/unistd_h.m4, gl/m4/usleep.m4, gl/m4/valgrind-tests.m4, - gl/m4/vasnprintf.m4, gl/m4/vasprintf.m4, gl/m4/version-etc.m4, - gl/m4/vfprintf-posix.m4, gl/m4/visibility.m4, - gl/m4/vprintf-posix.m4, gl/m4/vsnprintf.m4, gl/m4/warn-on-use.m4, - gl/m4/warnings.m4, gl/m4/wchar_h.m4, gl/m4/wchar_t.m4, - gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/m4/yield.m4, gl/malloc.c, - gl/math.in.h, gl/memchr.c, gl/memmem.c, gl/mempcpy.c, gl/minmax.h, - gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c, - gl/msvc-nothrow.h, gl/netdb.in.h, gl/netinet_in.in.h, gl/opendir.c, - gl/override/m4/valgrind-tests.m4.diff, gl/printf-args.c, - gl/printf-args.h, gl/printf-frexp.c, gl/printf-frexp.h, - gl/printf-frexpl.c, gl/printf-frexpl.h, gl/printf-parse.c, - gl/printf-parse.h, gl/progname.c, gl/progname.h, gl/rawmemchr.c, - gl/read-file.c, gl/read-file.h, gl/readdir.c, gl/realloc.c, - gl/recv.c, gl/recvfrom.c, gl/scandir.c, gl/select.c, gl/send.c, - gl/sendto.c, gl/setsockopt.c, gl/shutdown.c, gl/signal.in.h, - gl/signbitd.c, gl/signbitf.c, gl/signbitl.c, gl/size_max.h, - gl/sleep.c, gl/snprintf.c, gl/socket.c, gl/sockets.c, gl/sockets.h, - gl/stdalign.in.h, gl/stdarg.in.h, gl/stdbool.in.h, gl/stddef.in.h, - gl/stdint.in.h, gl/stdio-impl.h, gl/stdio.in.h, gl/stdlib.in.h, - gl/str-two-way.h, gl/strcasecmp.c, gl/strchrnul.c, gl/strdup.c, - gl/strerror-override.c, gl/strerror-override.h, gl/strerror.c, - gl/string.in.h, gl/strings.in.h, gl/stripslash.c, gl/strncasecmp.c, - gl/strndup.c, gl/strnlen.c, gl/strverscmp.c, gl/sys_select.in.h, - gl/sys_socket.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, - gl/sys_types.in.h, gl/sys_uio.in.h, gl/sysexits.in.h, - gl/tests/Makefile.am, gl/tests/binary-io.h, gl/tests/dup2.c, - gl/tests/fcntl.in.h, gl/tests/fdopen.c, gl/tests/getcwd-lgpl.c, - gl/tests/getpagesize.c, gl/tests/glthread/lock.c, - gl/tests/glthread/lock.h, gl/tests/glthread/thread.c, - gl/tests/glthread/thread.h, gl/tests/glthread/threadlib.c, - gl/tests/glthread/yield.h, gl/tests/ignore-value.h, - gl/tests/infinity.h, gl/tests/init.sh, gl/tests/inttypes.in.h, - gl/tests/ioctl.c, gl/tests/lstat.c, gl/tests/macros.h, - gl/tests/malloca.c, gl/tests/malloca.h, gl/tests/minus-zero.h, - gl/tests/nan.h, gl/tests/open.c, gl/tests/pathmax.h, - gl/tests/perror.c, gl/tests/pipe.c, gl/tests/putenv.c, - gl/tests/same-inode.h, gl/tests/setenv.c, gl/tests/signature.h, - gl/tests/stat.c, gl/tests/strerror_r.c, gl/tests/symlink.c, - gl/tests/sys_ioctl.in.h, gl/tests/test-accept.c, - gl/tests/test-alloca-opt.c, gl/tests/test-argp-2.sh, - gl/tests/test-argp.c, gl/tests/test-arpa_inet.c, - gl/tests/test-binary-io.c, gl/tests/test-binary-io.sh, - gl/tests/test-bind.c, gl/tests/test-byteswap.c, - gl/tests/test-c-ctype.c, gl/tests/test-close.c, - gl/tests/test-connect.c, gl/tests/test-dirent.c, - gl/tests/test-dup2.c, gl/tests/test-environ.c, - gl/tests/test-errno.c, gl/tests/test-fcntl-h.c, - gl/tests/test-fdopen.c, gl/tests/test-fgetc.c, - gl/tests/test-float.c, gl/tests/test-fprintf-posix.h, - gl/tests/test-fputc.c, gl/tests/test-fread.c, - gl/tests/test-frexp.c, gl/tests/test-frexpl.c, - gl/tests/test-fseek.c, gl/tests/test-fseeko.c, - gl/tests/test-fseeko3.c, gl/tests/test-fseeko4.c, - gl/tests/test-fseterr.c, gl/tests/test-fstat.c, - gl/tests/test-ftell.c, gl/tests/test-ftell3.c, - gl/tests/test-ftello.c, gl/tests/test-ftello3.c, - gl/tests/test-ftello4.c, gl/tests/test-ftruncate.c, - gl/tests/test-func.c, gl/tests/test-fwrite.c, - gl/tests/test-getaddrinfo.c, gl/tests/test-getcwd-lgpl.c, - gl/tests/test-getdelim.c, gl/tests/test-getline.c, - gl/tests/test-getopt.c, gl/tests/test-getopt.h, - gl/tests/test-getopt_long.h, gl/tests/test-getpeername.c, - gl/tests/test-gettimeofday.c, gl/tests/test-ignore-value.c, - gl/tests/test-inet_ntop.c, gl/tests/test-inet_pton.c, - gl/tests/test-init.sh, gl/tests/test-intprops.c, - gl/tests/test-inttypes.c, gl/tests/test-ioctl.c, - gl/tests/test-isnand-nolibm.c, gl/tests/test-isnand.h, - gl/tests/test-isnanf-nolibm.c, gl/tests/test-isnanf.h, - gl/tests/test-isnanl-nolibm.c, gl/tests/test-isnanl.h, - gl/tests/test-listen.c, gl/tests/test-lock.c, - gl/tests/test-lstat.c, gl/tests/test-lstat.h, - gl/tests/test-malloc-gnu.c, gl/tests/test-malloca.c, - gl/tests/test-math.c, gl/tests/test-memchr.c, - gl/tests/test-netdb.c, gl/tests/test-netinet_in.c, - gl/tests/test-open.c, gl/tests/test-open.h, - gl/tests/test-pathmax.c, gl/tests/test-perror.c, - gl/tests/test-perror2.c, gl/tests/test-pipe.c, - gl/tests/test-printf-frexp.c, gl/tests/test-printf-frexpl.c, - gl/tests/test-printf-posix.h, gl/tests/test-rawmemchr.c, - gl/tests/test-read-file.c, gl/tests/test-recv.c, - gl/tests/test-recvfrom.c, gl/tests/test-select-fd.c, - gl/tests/test-select-stdin.c, gl/tests/test-select.c, - gl/tests/test-select.h, gl/tests/test-send.c, - gl/tests/test-sendto.c, gl/tests/test-setenv.c, - gl/tests/test-setsockopt.c, gl/tests/test-shutdown.c, - gl/tests/test-signal-h.c, gl/tests/test-signbit.c, - gl/tests/test-sleep.c, gl/tests/test-snprintf.c, - gl/tests/test-sockets.c, gl/tests/test-stat.c, - gl/tests/test-stat.h, gl/tests/test-stdalign.c, - gl/tests/test-stdbool.c, gl/tests/test-stddef.c, - gl/tests/test-stdint.c, gl/tests/test-stdio.c, - gl/tests/test-stdlib.c, gl/tests/test-strchrnul.c, - gl/tests/test-strerror.c, gl/tests/test-strerror_r.c, - gl/tests/test-string.c, gl/tests/test-strings.c, - gl/tests/test-strnlen.c, gl/tests/test-strverscmp.c, - gl/tests/test-symlink.c, gl/tests/test-symlink.h, - gl/tests/test-sys_ioctl.c, gl/tests/test-sys_select.c, - gl/tests/test-sys_socket.c, gl/tests/test-sys_stat.c, - gl/tests/test-sys_time.c, gl/tests/test-sys_types.c, - gl/tests/test-sys_uio.c, gl/tests/test-sys_wait.h, - gl/tests/test-sysexits.c, gl/tests/test-thread_create.c, - gl/tests/test-thread_self.c, gl/tests/test-time.c, - gl/tests/test-u64.c, gl/tests/test-unistd.c, - gl/tests/test-unsetenv.c, gl/tests/test-usleep.c, - gl/tests/test-vasnprintf.c, gl/tests/test-vasprintf.c, - gl/tests/test-vc-list-files-cvs.sh, - gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, - gl/tests/test-version-etc.c, gl/tests/test-version-etc.sh, - gl/tests/test-vfprintf-posix.c, gl/tests/test-vprintf-posix.c, - gl/tests/test-vsnprintf.c, gl/tests/test-wchar.c, - gl/tests/unsetenv.c, gl/tests/w32sock.h, gl/tests/zerosize-ptr.h, - gl/time.in.h, gl/time_r.c, gl/timespec.h, gl/u64.h, gl/unistd.in.h, - gl/usleep.c, gl/vasnprintf.c, gl/vasnprintf.h, gl/vasprintf.c, - gl/verify.h, gl/version-etc-fsf.c, gl/version-etc.c, - gl/version-etc.h, gl/vfprintf.c, gl/vprintf.c, gl/vsnprintf.c, - gl/w32sock.h, gl/wchar.in.h, gl/xsize.h, maint.mk: Updated gnulib - and added usleep and getaddrinfo modules. +2014-01-27 Nikos Mavrogiannopoulos -2012-01-08 Nikos Mavrogiannopoulos + * tests/resume.c: Added check for gnutls_db_check_entry_time(). - * lib/x509/output.c: Authority information access information -> - Authority information access +2014-01-27 Nikos Mavrogiannopoulos -2012-01-07 Nikos Mavrogiannopoulos + * NEWS: doc update - * lib/auth/cert.c, lib/auth/cert.h, lib/auth/dhe.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_rsa.c: - _gnutls_proc_cert_client_certificate and - _gnutls_proc_cert_server_certificate renamed to - _gnutls_proc_certificate. +2014-01-27 Nikos Mavrogiannopoulos -2012-01-07 Nikos Mavrogiannopoulos + * lib/gnutls_db.c: correctly read the magic number and timestamp; + report and patch by Jonathan Roudiere - * NEWS: updated news +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * doc/scripts/getfuncs-map.pl: updated for new functions - * lib/gnutls_dh_primes.c: gnutls_dh_params_cpy() copies the - src->q_bits. +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_privkey_raw.c, lib/gnutls_pubkey.c, + lib/includes/gnutls/abstract.h, lib/libgnutls.map: Renamed get_pk + functions to export. gnutls_pubkey_export_ecc_x962 replaces gnutls_pubkey_get_pk_ecc_x962 + gnutls_pubkey_export_ecc_raw replaces gnutls_pubkey_get_pk_ecc_raw + gnutls_pubkey_export_dsa_raw replaces gnutls_pubkey_get_pk_dsa_raw + gnutls_pubkey_export_rsa_raw replaces gnutls_pubkey_get_pk_rsa_raw - * tests/slow/gendh.c: properly deinitialize. +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/algorithms/sign.c, lib/includes/gnutls/gnutls.h.in, + lib/x509/common.h: Added identifiers for DSA-SHA382 and DSA-SHA512 - * lib/nettle/mpi.c: corrected leak in DH parameter generation. +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/libgnutls.map: exported function needed for fips test - * ChangeLog: updated changelog +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/abstract_int.h, lib/gnutls_privkey.c, + lib/gnutls_privkey_raw.c: compile missing file - * lib/nettle/mpi.c: removed old comment +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: indented - * ChangeLog, NEWS: updated changelog and news for release +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: eliminated memory leak when generating a + privvate key using gnutls_privkey_generate(). - * lib/gnutls_cipher.c: corrected typo +2014-01-27 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_privkey.c, lib/gnutls_privkey_raw.c, + lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added functions + to directly import parameters into a gnutls_privkey_t Added gnutls_privkey_import_ecc_raw, gnutls_privkey_import_dsa_raw, + gnutls_privkey_import_rsa_raw - * NEWS, configure.ac, m4/hooks.m4: bumped version +2014-01-27 Nikos Mavrogiannopoulos + + * lib/nettle/pk.c: corrected usage of privkey + +2014-01-26 Nikos Mavrogiannopoulos + + * tests/suite/eagain, tests/suite/mini-eagain2.c: changed port + number + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/x509/common.c: optimized string search in _oid2str table. + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/x509/dn.c: copyright update + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/x509/common.c: fixed null pointer derefence when printing a + name and an LDAP description isn't present for the OID + +2014-01-26 Nikos Mavrogiannopoulos + + * doc/scripts/getfuncs-map.pl, lib/libgnutls.map: added + gnutls_realloc_fast to false positives Conflicts: lib/libgnutls.map + +2014-01-26 Nikos Mavrogiannopoulos + + * Makefile.am, doc/Makefile.am, doc/scripts/getfuncs-map.pl: Prior + to release verify that the exported functions in the .map file match + the headers. + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/libgnutls.map: exported missing functions + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/libgnutls.map: exported function + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/nettle/Makefile.am, lib/nettle/rnd-common.c, + lib/nettle/rnd-common.h: Do not compile the DRBG-AES-CTR when not in + FIPS140 mode. + +2014-01-26 Nikos Mavrogiannopoulos + + * tests/mini-global-load.c: removed non-working test for static + linking. + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/nettle/rnd.c: use two separate mutexes for nonce and main rng. + +2014-01-26 Nikos Mavrogiannopoulos + + * NEWS: doc update + +2014-01-26 Nikos Mavrogiannopoulos + + * tests/rng-fork.c: increased the number of bytes requested by the + RNG + +2014-01-26 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * lib/nettle/rnd-common.c, lib/nettle/rnd-fips.c, lib/nettle/rnd.c: + The AES-CTR-based nonce random number generator was replaced with + salsa20. - * lib/gnutls_buffers.c: Corrected functionality of - gnutls_record_get_direction(). Reported by Philip Allison. +2014-01-26 Nikos Mavrogiannopoulos -2012-01-06 Nikos Mavrogiannopoulos + * .gitignore: more files to ignore + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/crypto-backend.h, lib/gnutls_srp.c, lib/nettle/mpi.c, + lib/x509/pkcs12_encr.c, tests/mpi.c: Updated the rest of the MPI + function prototypes. + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/auth/srp.c, lib/crypto-backend.h, lib/nettle/mpi.c: updated + the prototype of _gnutls_mpi_div + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_mpi.c, + lib/nettle/mpi.c, lib/nettle/pk.c, lib/x509/pkcs12_encr.c: updated + prototypes of _gnutls_mpi_sub_ui, _gnutls_mpi_add_ui, + _gnutls_mpi_mul_ui + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_srp.c, + lib/nettle/mpi.c, lib/nettle/pk.c, lib/x509/privkey_pkcs8.c: updated + prototype of _gnutls_mpi_powm + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/auth/dh_common.c, lib/auth/srp.c, lib/crypto-backend.h, + lib/crypto-selftests-pk.c, lib/gnutls_dh.c, lib/gnutls_ecc.c, + lib/gnutls_mpi.c, lib/gnutls_mpi.h, lib/gnutls_pubkey.c, + lib/gnutls_srp.c, lib/gnutls_ui.c, lib/nettle/mpi.c, + lib/nettle/pk.c, lib/opencdk/read-packet.c, lib/openpgp/pgp.c, + lib/x509/crq.c, lib/x509/pkcs12_encr.c, lib/x509/privkey.c: updated + mpi_scan macros + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/nettle/pk.c: reduced warnings + +2014-01-26 Nikos Mavrogiannopoulos + + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_mpi.c, + lib/gnutls_mpi.h, lib/gnutls_pk.c, lib/nettle/mpi.c, + lib/nettle/pk.c, tests/mpi.c: updated prototypes of _gnutls_mpi_set, + _gnutls_mpi_set_ui,, _gnutls_mpi_copy + +2014-01-26 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_cipher.c: provide less timing information when - decoding packets. Patch by Nadhem Alfardan. + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_mpi.c, + lib/nettle/mpi.c, lib/nettle/pk.c: updated prototype of + _gnutls_mpi_modm -2012-01-04 Nikos Mavrogiannopoulos +2014-01-26 Nikos Mavrogiannopoulos - * src/serv.c: use AI_ADDRCONFIG if available. + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_mpi.h, + lib/gnutls_srp.c, lib/nettle/mpi.c, lib/nettle/pk.c, + lib/x509/privkey_pkcs8.c: Updated _gnutls_mpi_init prototype and + added _gnutls_mpi_init_multi -2012-01-04 Nikos Mavrogiannopoulos +2014-01-25 Nikos Mavrogiannopoulos - * configure.ac: prevent building of crywrap in windows + * lib/nettle/rnd.c: reduced the number of system calls made during + the random generator lock. -2012-01-04 Nikos Mavrogiannopoulos +2014-01-25 Nikos Mavrogiannopoulos + + * doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-dtls.c, + doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c, + doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, + lib/includes/gnutls/gnutls.h.in: do not set the SYSTEM priority + string by default in examples (not yet). + +2014-01-25 Nikos Mavrogiannopoulos * cross.mk: updated -2012-01-04 Nikos Mavrogiannopoulos +2014-01-25 Nikos Mavrogiannopoulos - * ChangeLog: updated + * lib/nettle/rnd-common.c: use RUSAGE_THREAD to obtain rusage stats + to avoid becoming a bottleneck on processes with many threads. -2012-01-04 Nikos Mavrogiannopoulos +2014-01-24 Nikos Mavrogiannopoulos - * lib/extras/Makefile.am: added missing file + * src/common.h: corrected push/pull function setting -2012-01-04 Nikos Mavrogiannopoulos +2014-01-24 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: bumped version + * lib/nettle/int/dsa-fips.h, lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c: simplified _dsa_generate_dss_g() -2012-01-04 Nikos Mavrogiannopoulos +2014-01-24 Nikos Mavrogiannopoulos - * src/certtool-gaa.c, src/certtool-gaa.h, src/p11tool-gaa.c: Updated - auto-generated files + * lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c: do not impose limits to index -2012-01-04 Nikos Mavrogiannopoulos +2014-01-24 Nikos Mavrogiannopoulos - * doc/latex/.gitignore, doc/latex/cover.tex: added missing file + * lib/nettle/int/dsa-fips.h, lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c, lib/nettle/int/provable-prime.c: + Fixes in the Shawe-Taylor prime generation routine. -2012-01-03 Nikos Mavrogiannopoulos +2014-01-24 Nikos Mavrogiannopoulos - * src/benchmark-tls.c: print the RSA and DH bits as well as EC bits - for comparison. + * lib/nettle/int/provable-prime.c: cleanups -2012-01-03 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * src/benchmark-tls.c: use 1840 bit DH and RSA to compare with 192 - bits of ECDH + * lib/nettle/int/dsa-keygen-fips186.c: increased seed length -2012-01-02 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/algorithms/publickey.c, lib/algorithms/secparams.c, - lib/algorithms/sign.c, lib/auth/cert.c, lib/auth/ecdh_common.c, - lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/gnutls_sig.c, - lib/includes/gnutls/gnutls.h.in, lib/nettle/pk.c, lib/pkcs11_int.h, - lib/pkcs11_privkey.c, lib/pkcs11_write.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/output.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/verify.c, src/certtool.c, - src/p11tool.gaa, tests/slow/keygen.c: GNUTLS_PK_ECC -> GNUTLS_PK_EC + * lib/nettle/int/provable-prime.c: cleanups -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/openpgp/gnutls_openpgp.c: CDK_EOF error code now returns - GNUTLS_E_PARSING_ERROR + * lib/nettle/int/provable-prime.c: indented code -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c, lib/opencdk/opencdk.h: removed - cdk_armor_filter_use() + * lib/gnutls_pk.c, lib/gnutls_privkey.c: ensure that + _gnutls_pk_params_copy makes a full duplicate. -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * src/certtool.c: correctly report 0 keys on a keyring + * lib/includes/gnutls/abstract.h, lib/nettle/pk.c, + lib/x509/privkey.c: Added macros to allow specifying a subgroup for + DSA. -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/opencdk/kbnode.c, lib/opencdk/opencdk.h, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/pgp.c, - lib/openpgp/privkey.c: more opencdk simplifications + * lib/nettle/pk.c: corrected FIPS140 generation of DSA2 keys. -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * tests/openpgp-certs/testselfsigs: specify key type (raw) to - certtool + * NEWS, lib/gnutls_datum.h, lib/gnutls_pk.c, lib/gnutls_pk.h, + lib/gnutls_privkey.c, lib/includes/gnutls/abstract.h, + lib/libgnutls.map, lib/openpgp/privkey.c, lib/x509/privkey.c: Added + new functions to obtain raw private key gnutls_privkey_get_pk_ecc_raw: Added gnutls_privkey_get_pk_dsa_raw: + Added gnutls_privkey_get_pk_rsa_raw: Added -2011-12-31 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/opencdk/Makefile.am, lib/opencdk/armor.c, - lib/opencdk/keydb.c, lib/opencdk/main.c, lib/opencdk/opencdk.h, - lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.c: Removed unneeded - opencdk functionality. + * lib/libgnutls.map: exported more internal functions -2011-12-30 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * cross.mk: verify signatures on download + * lib/nettle/pk.c: use dsa_generate_dss_keypair when generating DSA + keys. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_global.c, lib/gnutls_mem.c: _gnutls_is_secure_memory is - no more. + * lib/nettle/int/dsa-fips.h, lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c: Split the generation of keypair from + the generation of parameters. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * NEWS, src/cli.c: gnutls-cli can now read input from win32. + * lib/nettle/int/dsa-fips.h, lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c: Added _dsa_validate_dss_pq and + _dsa_validate_dss_g, and other fixes in validation. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-23 Nikos Mavrogiannopoulos - * NEWS, lib/openpgp/pgp.c, lib/openpgp/privkey.c: Avoid using base64 - armor auto-detection which causes decoding errors in win32. For - some reason reading from the stream modifies the stream and this - work-around avoids that issue. + * lib/nettle/int/dsa-keygen-fips186.c, + lib/nettle/int/dsa-validate.c: indented files -2011-12-30 Nikos Mavrogiannopoulos +2014-01-22 Nikos Mavrogiannopoulos - * tests/pgps2kgnu.c: enable debugging in pgps2kgnu + * lib/nettle/int/dsa-keygen-fips186.c: corrected s check in + _dsa_generate_dss_pq -2011-12-30 Nikos Mavrogiannopoulos +2014-01-22 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/openpgp-auth2.c: do not use valgrind in - windows + * lib/nettle/int/dsa-keygen-fips186.c: fixed copyright -2011-12-30 Nikos Mavrogiannopoulos +2014-01-22 Nikos Mavrogiannopoulos - * cross.mk: gmp is compiled with --enable-fat. + * lib/nettle/int/drbg-aes-self-test.c: updated DRBG-CTR-AES test + vectors for the fixed implementation. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-22 Nikos Mavrogiannopoulos - * tests/Makefile.am: link libutils with libgnu. + * lib/random.c: register FIPS140 random generator prior to + initialization -2011-12-30 Nikos Mavrogiannopoulos +2014-01-22 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * lib/libgnutls.map, lib/nettle/int/drbg-aes.c, + lib/nettle/int/drbg-aes.h: Updates in the DRBG-CTR-AES random number + generator. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Added missing function names. + * lib/nettle/cipher.c: no point to fail on 3DES weak keys. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * cross.mk: Added a preliminary win32 compilation makefile. + * lib/nettle/cipher.c: Do not restrict the GCM nonce to 12 bytes. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * doc/Makefile.am: win32 fixes + * lib/crypto-api.c: use a single context for all stream ciphers. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * configure.ac: do not build crywrap on win32 + * lib/crypto-selftests.c: Added ARCFOUR-128 self test. -2011-12-30 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * extra/includes/gnutls/openssl.h: undefine possible system macros. + * lib/gnutls_pubkey.c: always set subkey status -2011-12-29 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * doc/examples/ex-serv-dtls.c: updated DTLS example + * tests/mini-dtls-record.c: small updates in mini-dtls-record -2011-12-29 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, - doc/cha-programs.texi: more updates + * lib/ext/dumbfw.c: dumbfw extension isn't sent on DTLS -2011-12-29 Nikos Mavrogiannopoulos +2014-01-20 Nikos Mavrogiannopoulos - * doc/cha-ciphersuites.texi, doc/cha-copying.texi, - doc/cha-gtls-app.texi, doc/cha-gtls-examples.texi, - doc/cha-internals.texi, doc/cha-library.texi, - doc/cha-shared-key.texi, doc/gnutls.texi: Small improvements in - documentation. + * lib/gnutls_handshake.c: simplified client hello generation -2011-12-29 Nikos Mavrogiannopoulos +2014-01-19 Nikos Mavrogiannopoulos - * NEWS, lib/x509/privkey.c: corrected bug in DSA private key - parsing. + * lib/gnutls_int.h: %COMPAT implies %DUMBFW -2011-12-29 Nikos Mavrogiannopoulos +2014-01-19 Nikos Mavrogiannopoulos - * src/certtool.gaa: Added --rsa option which is a no-op for now. + * lib/nettle/int/drbg-aes.c: fix in DRBG-AES-CTR initialization -2011-12-29 Nikos Mavrogiannopoulos +2014-01-19 Nikos Mavrogiannopoulos - * lib/extras/randomart.c, lib/extras/randomart.h, lib/gnutls_ui.c, - lib/openpgp/output.c, lib/x509/output.c, - tests/pathlen/ca-no-pathlen.pem, tests/pathlen/no-ca-or-pathlen.pem: - Allow the insertion of characters to align the randomart. + * lib/gnutls_handshake.c: use a single buffer to generate the client + hello. -2011-12-28 Nikos Mavrogiannopoulos +2014-01-17 Nikos Mavrogiannopoulos - * src/certtool.c: Print the fingerprint of PGP keys and not only the - key ID. + * NEWS: doc update -2011-12-28 Nikos Mavrogiannopoulos +2014-01-17 Nikos Mavrogiannopoulos - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem: Add random art to keys. + * lib/fips.h, lib/nettle/Makefile.am, lib/nettle/rnd-fips.c, + lib/random.c: The FIPS140 random number generator is enabled + conditionally when required. -2011-12-28 Nikos Mavrogiannopoulos +2014-01-17 Nikos Mavrogiannopoulos - * tests/mini-deflate.c: Skip deflate test if libz is not available. + * lib/includes/gnutls/gnutls.h.in: removed duplicate function -2011-12-28 Nikos Mavrogiannopoulos +2014-01-17 Nikos Mavrogiannopoulos - * lib/openpgp/output.c, lib/x509/output.c, src/certtool.c: updated - random art's messages. + * lib/nettle/int/drbg-aes-self-test.c, lib/nettle/int/drbg-aes.c, + lib/nettle/int/drbg-aes.h, lib/nettle/rnd-common.c, + lib/nettle/rnd-common.h, lib/nettle/rnd-fips.c, lib/nettle/rnd.c: + replaced the ANSI X9.31 RNG with the SP800-90A DRBG-AES-CTR rng. -2011-12-28 Nikos Mavrogiannopoulos +2014-01-17 Nikos Mavrogiannopoulos - * src/certtool.c: Print the pgp key's randomart as well. + * lib/gnutls_global.c: use newline -2011-12-28 Nikos Mavrogiannopoulos +2014-01-16 Nikos Mavrogiannopoulos - * lib/openpgp/output.c, lib/x509/output.c: Print the randomart on - the key ID and not the fingerprint. + * lib/gnutls_priority.c: when freeing priority_cache make sure it is + set to NULL -2011-12-28 Nikos Mavrogiannopoulos +2014-01-16 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c: Updated GNUTLS_E_NO_CERTIFICATE_FOUND - description. + * lib/gnutls_x509.c: Clarified version -2011-12-28 Nikos Mavrogiannopoulos +2014-01-16 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * NEWS, lib/gnutls_global.c, lib/includes/gnutls/compat.h: + gnutls_global_set_mem_functions was deprecated -2011-12-28 Nikos Mavrogiannopoulos +2014-01-16 Nikos Mavrogiannopoulos - * lib/extras/randomart.c, lib/extras/randomart.h, lib/gnutls_ui.c, - lib/openpgp/output.c, lib/x509/output.c, src/certtool.c: print - randomart for private keys as well. + * lib/gnutls_handshake.c, lib/gnutls_record.c: removed unneeded + warning; all systems we support set this function. -2011-12-28 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * lib/extras/randomart.c, lib/system.c, lib/system.h, - lib/x509/output.c: gnutls_atfork was no longer in use. + * doc/Makefile.am: generate info documentation in a single file -2011-12-28 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * NEWS, configure.ac, lib/Makefile.am, lib/extras/Makefile.am, - lib/extras/randomart.c, lib/extras/randomart.h, lib/gnutls_ui.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, - lib/openpgp/output.c, lib/x509/output.c: Added function - gnutls_random_art() to convert fingerprints to images (currently - ascii-art). + * lib/gnutls_int.h, lib/gnutls_x509.c: The simple bit size check in + certificates is now replaced by the verification profiles. -2011-12-28 Patrick Pelletier +2014-01-15 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-gtls-examples.texi, - doc/cha-internals.texi, lib/algorithms/ciphers.c, - lib/algorithms/protocols.c, lib/algorithms/secparams.c, - lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_db.c, - lib/gnutls_global.c, lib/gnutls_handshake.c, lib/gnutls_priority.c, - lib/gnutls_state.c, lib/gnutls_ui.c, lib/nettle/rnd.c: minor doc and - comment fixes Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_int.h: no need to set profile to LOW as it is already + the default -2011-12-28 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-gtls-app.texi, - doc/cha-gtls-examples.texi, doc/cha-intro-tls.texi, - doc/examples/Makefile.am, doc/examples/ex-client-anon.c, - doc/examples/ex-client-dtls.c, doc/examples/ex-client-psk.c, - doc/examples/ex-client-resume.c, doc/examples/ex-client-srp.c, - doc/examples/ex-client-udp.c, doc/examples/ex-client-x509.c, - doc/examples/ex-client1.c, doc/examples/ex-rfc2818.c, - doc/examples/ex-serv-anon.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv-x509.c, doc/examples/ex-serv1.c: updated - examples and added new "handling alerts" section. + * doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-dtls.c, + doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c, + doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, + lib/includes/gnutls/gnutls.h.in: Introduced GNUTLS_DEFAULT_PRIORITY + macro -2011-12-28 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * doc/cha-gtls-examples.texi, doc/examples/udp.c: updated and - included in the documentation the udp code. + * NEWS: doc update -2011-12-28 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * NEWS, src/cli.c, src/serv.c: Set don't fragment bit in Linux as - well as in BSD variants. + * lib/gnutls_priority.c: decreased certificate verification level to + allow SHA1 as hash. -2011-12-27 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * .gitignore, doc/examples/ex-serv-dtls.c, doc/examples/ex-serv1.c: - updated server examples + * lib/gnutls_int.h, lib/x509/verify.c: When verifying a + certificate's security level ensure that the hash is within the + level -2011-12-26 Nikos Mavrogiannopoulos +2014-01-15 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, - doc/cha-gtls-app.texi, doc/cha-programs.texi, - doc/cha-shared-key.texi: smallexample is no longer used. It is - intended only for typesetting with smaller pages and had no relation - to our usage. + * lib/algorithms/secparams.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added gnutls_sec_param_to_symmetric_bits() -2011-12-26 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * src/serv.c: prepend UDP to server application name when in UDP - mode. + * tests/cert-tests/complex-cert.pem: updated test for level rename -2011-12-26 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-gtls-examples.texi, - doc/examples/Makefile.am, doc/examples/ex-serv-dtls.c, - doc/examples/ex-serv1.c: Added DTLS server example. + * tests/suppressions.valgrind: updated memxor3 suppression to cope + with any usage of memxor3 -2011-12-26 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * src/udp-serv.c: corrected a leak + * lib/gnutls_priority.c: The correct priority will be used if SYSTEM + is not specified. -2011-12-26 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: Added SECP192R1 curve. + * lib/x509/verify.c: do not immediately fail on verification failure + due to insecure algorithm. -2011-12-26 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/includes/gnutls/abstract.h, lib/includes/gnutls/pkcs11.h: - pkcs11.h and abstract.h use extern C idiom for C++. + * tests/setcredcrash.c, tests/x509dn.c, tests/x509self.c: use + gnutls_priority_set_direct() to set a fixed priority string -2011-12-19 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * NEWS, lib/algorithms/ciphersuites.c: Added ciphersuites: - GNUTLS_PSK_WITH_AES_256_GCM_SHA384 and - GNUTLS_DHE_PSK_WITH_AES_256_GCM_SHA384. + * lib/x509/verify-high.c: avoid allocation. -2011-12-19 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * NEWS, lib/algorithms/ciphersuites.c: Corrected ciphersuite - GNUTLS_ECDHE_PSK_AES_256_CBC_SHA384 + * doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-dtls.c, + doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c, + doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c: use default + priorities based on version number in examples, and add dependency + on 3.1.0 -2011-12-18 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * src/serv.c: Only use configured interfaces. Patch by Pino Toscano. + * doc/cha-gtls-app.texi, doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-dtls.c, + doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c, + doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, + lib/gnutls_priority.c: changes in SYSTEM semantics to allow + appending rules to the default policy. -2011-12-17 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/algorithms/protocols.c: better comments. + * NEWS, configure.ac, doc/cha-gtls-app.texi, lib/gnutls_priority.c: + Added the SYSTEM priority string initial keyword. That allows a compile-time specified configuration file to be used + to read the priorities. That can be used to impose system specific + policies. -2011-12-17 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/gnutls_record.c, lib/gnutls_state.c: - gnutls_protocol_get_version() and _gnutls_set_current_version() are - now inline functions + * lib/gnutls_priority.c: Weak sec-param was replaced with Low. -2011-12-17 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c: documented - _gnutls_supported_ciphersuites() + * tests/sec-params.c: updated sec-params check -2011-12-17 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c: renamed the _SHA ciphersuites to - _SHA1. + * doc/cha-gtls-app.texi: doc update -2011-12-16 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * lib/nettle/mpi.c: correctly set the odd bits. + * NEWS, src/certtool-common.c, src/serv.c: more updates for the + security param rename -2011-12-13 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * ChangeLog, Makefile.am, cfg.mk: make dist forces regeneration of - ChangeLog and manpages. + * tests/Makefile.am, tests/sec-params.c, tests/slow/keygen.c: Added + test to check the expected values of security parameters. -2011-12-13 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * doc/Makefile.am: Added missing file + * doc/cha-gtls-app.texi, doc/examples/ex-crq.c: doc update -2011-12-13 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: bumped version + * lib/algorithms/secparams.c: security levels aligned to ENISA and + other common practice recommendations. -2011-12-13 Nikos Mavrogiannopoulos +2014-01-14 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: documented new priority strings. + * NEWS, lib/algorithms/secparams.c, lib/gnutls_priority.c, + lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/x509.h, + lib/priority_options.gperf, lib/x509/verify.c: + GNUTLS_SEC_PARAM_NORMAL was renamed to GNUTLS_SEC_PARAM_MEDIUM That was done to avoid confusion with the NORMAL priority string. + Also when setting a PROFILE explicitly as priority string the + session security level is adjusted accordingly. -2011-12-13 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: server precedence also used in compression - methods. + * doc/cha-gtls-app.texi: doc update -2011-12-13 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * lib/algorithms.h, lib/algorithms/ciphersuites.c, - lib/auth/dh_common.c, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/gnutls_auth.c, lib/gnutls_constate.c, lib/gnutls_constate.h, - lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_session_pack.c, lib/gnutls_state.c, - lib/gnutls_v2_compat.c: cipher_suite_st is no longer used - internally. We only use a point to 2 bytes. + * lib/Makefile.am, lib/gnutls_priority.c, + lib/priority_options.gperf: Use gperf to find priority string + options. -2011-12-13 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_priority.c: Added new priority string %SERVER_PRECEDENCE. + * lib/gnutls_priority.c: verification profiles can be set + individually as well. -2011-12-13 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: Removed 128-bit ciphers from secure192, but - added SHA256 (or no ciphersuites are there). + * NEWS, lib/includes/gnutls/x509.h, lib/x509/verify-high.c: doc + update -2011-12-13 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * NEWS, src/Makefile.am, src/certtool-common.h, src/certtool-gaa.c, - src/certtool-gaa.h, src/certtool.c, src/certtool.gaa, src/dh.c, - src/prime.c: Added the --dh-info parameter to certtool. + * lib/gnutls_priority.c: increased the overall security level unless + %COMPAT is specified. -2011-12-12 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * NEWS, doc/manpages/Makefile.am, lib/algorithms/ciphersuites.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/common.c: - gnutls_priority_get_cipher_suite was renamed to - gnutls_priority_get_cipher_suite_index. This makes a more - consistent API at the cost of requiring - gnutls_get_cipher_suite_info(). An advantage however is that more - information can now be accessed. + * lib/gnutls_int.h, lib/gnutls_priority.c: enforce certificate + verification profiles when setting priority strings -2011-12-12 Nikos Mavrogiannopoulos +2014-01-13 Nikos Mavrogiannopoulos - * NEWS, lib/auth/anon.c, lib/auth/dh_common.c, - lib/auth/dh_common.h, lib/auth/dhe.c, lib/auth/dhe_psk.c, - lib/crypto-backend.h, lib/gnutls_dh.c, lib/gnutls_dh.h, - lib/gnutls_dh_primes.c, lib/gnutls_int.h, lib/nettle/mpi.c, - src/benchmark-tls.c, src/benchmark.c, src/prime.c: Diffie Hellman - PKCS #3 parameters now contain the recommended private key size. By - using the recommended key size the calculations for the server side - are reduced, giving a 50% increase in DH calculations. + * lib/algorithms.h, lib/includes/gnutls/x509.h, lib/x509/verify.c: + Added certificate verification profiles. -2011-12-12 Nikos Mavrogiannopoulos +2014-01-10 Nikos Mavrogiannopoulos - * lib/nettle/mpi.c: small cleanups. + * lib/x509/verify.c: simplified _gnutls_verify_certificate2(). -2011-12-12 Nikos Mavrogiannopoulos +2014-01-10 Nikos Mavrogiannopoulos - * lib/auth/psk_passwd.c, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/auth/srp_passwd.c, lib/crypto-api.c, lib/ext/session_ticket.c, - lib/gnutls_cipher.c, lib/gnutls_handshake.c, lib/gnutls_mpi.c, - lib/gnutls_pk.c, lib/nettle/gnettle.h, lib/nettle/mpi.c, - lib/nettle/pk.c, lib/nettle/rnd.c, lib/opencdk/misc.c, - lib/pkcs11_secret.c, lib/random.c, lib/random.h, lib/x509/pkcs12.c, - lib/x509/privkey_pkcs8.c: Optimizations in DH parameter generation. The larger prime is find first and the big loop needs to find a - smaller prime, increasing performance. The _gnutls_rnd() function - is now inline and GNUTLS_RND_NONCE doesn't update random generator - state. + * lib/x509/verify.c: consistency changes. -2011-12-11 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * NEWS: updated + * lib/gnutls_ui.c: gnutls_session_get_desc() returns a more compact + description. -2011-12-11 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * lib/ext/session_ticket.c, lib/gnutls_handshake.c, - lib/gnutls_int.h: If a ticket is sent to client then don't store the - session information in the session cache. + * NEWS: doc update -2011-12-11 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * NEWS, lib/algorithms/ciphersuites.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/cli-gaa.c, - src/cli.gaa, src/common.c, src/common.h, src/serv-gaa.c, - src/serv.gaa: Added gnutls_priority_get_cipher_suite(). This allows - listing the ciphersuites enabled in a priority structure. The - certtool -l option was overloaded so if combined with --priority it - will only list the ciphersuites that are enabled by the given - priority string. + * lib/auth/cert.c, lib/auth/cert.h, lib/gnutls_cert.c, + lib/gnutls_x509.c, lib/includes/gnutls/x509.h, + lib/x509/verify-high.c, lib/x509/verify-high.h: The RDN sequence is + now kept in trust list instead of the credentials parameters. This is however not enabled by default. When adding CAs to trust + list the flag GNUTLS_TL_USE_IN_TLS must be specified to generate the + RDN sequence. This flag is for now only useful internally in gnutls. -2011-12-11 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * lib/nettle/ecc_mulmod.c: removed unused variables. + * tests/x509dn.c: simplified x509dn -2011-12-10 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: Added 192-bit curve in normal priorities. + * lib/gnutls_x509.c: doc update -2011-12-10 Nikos Mavrogiannopoulos +2014-01-11 Nikos Mavrogiannopoulos - * NEWS: documented updates + * tests/pkcs12-decode/Makefile.am, tests/set_pkcs12_cred.c: enhanced + set_pkcs12_cred test. -2011-12-10 Nikos Mavrogiannopoulos +2014-01-09 Nikos Mavrogiannopoulos - * src/common.c: Print ephemeral information after certificate - information. + * NEWS, lib/pkcs11.c: doc update -2011-12-10 Nikos Mavrogiannopoulos +2014-01-08 Daniel Kahn Gillmor - * lib/algorithms.h, lib/algorithms/ciphersuites.c, - lib/gnutls_handshake.c: Optimized ciphersuite sorting. + * src/cli-debug.c: gnutls-cli-debug should accept TLS 1.2-only + servers Without this patch, a TLS 1.2-only server will not be properly + investigated by gnutls-cli-debug. e.g. a server like: gnutls-serv --x509keyfile=server/secret.key + --x509certfile=server/x509.pem --priority + 'NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2' gets this failed analysis: 0 dkg@alice:~$ gnutls-cli-debug --port 5556 localhostrt 5556 + localhost Resolving 'localhost'... Connecting to '::1:5556'... + Checking for SSL 3.0 support... no Checking whether %COMPAT is + required... yes Checking for TLS 1.0 support... no Checking for TLS + 1.1 support... no Checking fallback from TLS 1.1 to... failed + Checking for TLS 1.2 support... yes Checking whether we need to + disable TLS 1.2... N/A Checking whether we need to disable TLS + 1.1... no Server does not support any of SSL 3.0, TLS 1.0 and TLS 1.1 0 + dkg@alice:~$ Signed-off-by: Nikos Mavrogiannopoulos -2011-12-09 Nikos Mavrogiannopoulos +2014-01-06 Nils Maier - * src/benchmark-tls.c: modified the test to a level of 80bits of - security. + * lib/ext/status_request.c: Fix CERTIFICATE STATUS processing when + using non-blocking I/O _gnutls_recv_server_certificate_status() must wait for the first + full packet before setting priv->expect_cstatus = 0, or else + CERTIFCATE STATUS packets won't be processed in subsequent calls at + all, leaving them in the buffer and therefore causing later + connection aborts. Signed-off-by: Nikos Mavrogiannopoulos -2011-12-09 Nikos Mavrogiannopoulos +2014-01-04 Nikos Mavrogiannopoulos - * lib/algorithms/ecc.c, lib/includes/gnutls/gnutls.h.in: Added - SECP192R1 curve. + * lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, + lib/x509/common.h, lib/x509/verify.c: gnutls_pkcs11_crt_exists + renamed to gnutls_pkcs11_crt_is_known Moreover it was modified to fully compare the certificate when + looking for a trusted certificate. -2011-12-09 Nikos Mavrogiannopoulos +2014-01-04 Nikos Mavrogiannopoulos - * tests/x509cert.c: be less verbose. + * lib/gnutls_x509.c: simplified + gnutls_certificate_set_x509_crl_file/mem. -2011-12-09 Nikos Mavrogiannopoulos +2014-01-04 Nikos Mavrogiannopoulos - * NEWS: documented fix + * lib/gnutls_x509.c: simplified + gnutls_certificate_set_x509_trust_file/mem. -2011-12-09 Nikos Mavrogiannopoulos +2014-01-04 Nikos Mavrogiannopoulos - * src/benchmark-tls.c: Added ECDHE-ECDSA test. + * lib/x509/verify-high2.c: use gnutls_strdup -2011-12-09 Nikos Mavrogiannopoulos +2014-01-03 Nikos Mavrogiannopoulos - * lib/nettle/Makefile.am, lib/nettle/ecc.h, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_mulmod.c, - lib/nettle/ecc_mulmod_timing.c, lib/nettle/ecc_sign_hash.c: The - timing resistant ecc_mulmod() is only used when signing using the - ECDSA private key. This improves performance in all other cases that - do not require timing resistance. + * NEWS: doc update -2011-12-08 Nikos Mavrogiannopoulos +2014-01-01 Nikos Mavrogiannopoulos - * lib/accelerated/x86/x86.h: corrected have_cpuid for x86-64. + * tests/Makefile.am: mini-record-2 movedto front. -2011-12-08 Nikos Mavrogiannopoulos +2014-01-03 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-cert-auth2.texi: renamed hardware tokens - to security modules. + * lib/crypto-selftests-pk.c: removed debugging -2011-12-08 Nikos Mavrogiannopoulos +2014-01-03 Nikos Mavrogiannopoulos - * doc/cha-cert-auth2.texi: Added section 'Managing encrypted keys' - to include PKCS 12 structures. + * lib/x509/verify.c, lib/x509/x509_int.h: When verifying using a + PKCS #11 module use gnutls_pkcs11_crt_exists() to check for trust + and distrust (blacklists). -2011-12-08 Nikos Mavrogiannopoulos +2014-01-02 Nikos Mavrogiannopoulos - * src/benchmark-tls.c: Added RSA key exchange to comparison. + * lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, + lib/pkcs11_int.h: Added gnutls_pkcs11_crt_exists() -2011-12-08 Nikos Mavrogiannopoulos +2014-01-02 Nikos Mavrogiannopoulos - * devel/perlasm/cpuid-x86.pl, devel/perlasm/cpuid-x86_64.pl, - lib/accelerated/accelerated.c, lib/accelerated/x86/aes-padlock.c, - lib/accelerated/x86/aes-x86.c, - lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, lib/accelerated/x86/x86.h: - Exported gnutls_cpuid() and gnutls_have_cpuid(). - -2011-12-06 Simon Josefsson - - * doc/Makefile.am: Fix descriptive text. - -2011-12-06 Simon Josefsson - - * doc/manpages/Makefile.am, doc/scripts/getfuncs.pl: Fix getfuncs.pl - parse bug; require non-empty list of function parameters. Otherwise it would detect a comment like '* foo()' as another - function. - -2011-12-06 Simon Josefsson - - * doc/manpages/gnutls_init.3, - doc/manpages/gnutls_pk_algorithm_get_name.3: Really remove manpages. - -2011-12-06 Simon Josefsson - - * .gitignore, doc/manpages/Makefile.am: Fix whitespace in last - commit. - -2011-12-06 Simon Josefsson - - * doc/manpages/Makefile.am: Don't rebuild man pages on every 'make' - invocation. - -2011-12-06 Nikos Mavrogiannopoulos - - * doc/manpages/Makefile.am, doc/manpages/gnutls_alert_get.3, - doc/manpages/gnutls_alert_get_name.3, - doc/manpages/gnutls_alert_get_strname.3, - doc/manpages/gnutls_alert_send.3, - doc/manpages/gnutls_alert_send_appropriate.3, - doc/manpages/gnutls_anon_allocate_client_credentials.3, - doc/manpages/gnutls_anon_allocate_server_credentials.3, - doc/manpages/gnutls_anon_free_client_credentials.3, - doc/manpages/gnutls_anon_free_server_credentials.3, - doc/manpages/gnutls_anon_set_params_function.3, - doc/manpages/gnutls_anon_set_server_dh_params.3, - doc/manpages/gnutls_anon_set_server_params_function.3, - doc/manpages/gnutls_auth_client_get_type.3, - doc/manpages/gnutls_auth_get_type.3, - doc/manpages/gnutls_auth_server_get_type.3, - doc/manpages/gnutls_bye.3, - doc/manpages/gnutls_certificate_activation_time_peers.3, - doc/manpages/gnutls_certificate_allocate_credentials.3, - doc/manpages/gnutls_certificate_client_get_request_status.3, - doc/manpages/gnutls_certificate_expiration_time_peers.3, - doc/manpages/gnutls_certificate_free_ca_names.3, - doc/manpages/gnutls_certificate_free_cas.3, - doc/manpages/gnutls_certificate_free_credentials.3, - doc/manpages/gnutls_certificate_free_crls.3, - doc/manpages/gnutls_certificate_free_keys.3, - doc/manpages/gnutls_certificate_get_issuer.3, - doc/manpages/gnutls_certificate_get_openpgp_keyring.3, - doc/manpages/gnutls_certificate_get_ours.3, - doc/manpages/gnutls_certificate_get_peers.3, - doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3, - doc/manpages/gnutls_certificate_server_set_request.3, - doc/manpages/gnutls_certificate_set_dh_params.3, - doc/manpages/gnutls_certificate_set_key.3, - doc/manpages/gnutls_certificate_set_openpgp_key.3, - doc/manpages/gnutls_certificate_set_openpgp_key_file.3, - doc/manpages/gnutls_certificate_set_openpgp_key_file2.3, - doc/manpages/gnutls_certificate_set_openpgp_key_mem.3, - doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3, - doc/manpages/gnutls_certificate_set_params_function.3, - doc/manpages/gnutls_certificate_set_rsa_export_params.3, - doc/manpages/gnutls_certificate_set_verify_flags.3, - doc/manpages/gnutls_certificate_set_verify_function.3, - doc/manpages/gnutls_certificate_set_verify_limits.3, - doc/manpages/gnutls_certificate_set_x509_crl.3, - doc/manpages/gnutls_certificate_set_x509_crl_file.3, - doc/manpages/gnutls_certificate_set_x509_crl_mem.3, - doc/manpages/gnutls_certificate_set_x509_key.3, - doc/manpages/gnutls_certificate_set_x509_key_file.3, - doc/manpages/gnutls_certificate_set_x509_key_mem.3, - doc/manpages/gnutls_certificate_set_x509_trust.3, - doc/manpages/gnutls_certificate_set_x509_trust_file.3, - doc/manpages/gnutls_certificate_set_x509_trust_mem.3, - doc/manpages/gnutls_certificate_type_get.3, - doc/manpages/gnutls_certificate_type_get_id.3, - doc/manpages/gnutls_certificate_type_get_name.3, - doc/manpages/gnutls_certificate_type_list.3, - doc/manpages/gnutls_certificate_type_set_priority.3, - doc/manpages/gnutls_certificate_verify_peers2.3, - doc/manpages/gnutls_check_version.3, - doc/manpages/gnutls_cipher_add_auth.3, - doc/manpages/gnutls_cipher_decrypt.3, - doc/manpages/gnutls_cipher_decrypt2.3, - doc/manpages/gnutls_cipher_deinit.3, - doc/manpages/gnutls_cipher_encrypt.3, - doc/manpages/gnutls_cipher_encrypt2.3, - doc/manpages/gnutls_cipher_get.3, - doc/manpages/gnutls_cipher_get_block_size.3, - doc/manpages/gnutls_cipher_get_id.3, - doc/manpages/gnutls_cipher_get_key_size.3, - doc/manpages/gnutls_cipher_get_name.3, - doc/manpages/gnutls_cipher_init.3, - doc/manpages/gnutls_cipher_list.3, - doc/manpages/gnutls_cipher_set_iv.3, - doc/manpages/gnutls_cipher_set_priority.3, - doc/manpages/gnutls_cipher_suite_get_name.3, - doc/manpages/gnutls_cipher_suite_info.3, - doc/manpages/gnutls_cipher_tag.3, - doc/manpages/gnutls_compression_get.3, - doc/manpages/gnutls_compression_get_id.3, - doc/manpages/gnutls_compression_get_name.3, - doc/manpages/gnutls_compression_list.3, - doc/manpages/gnutls_compression_set_priority.3, - doc/manpages/gnutls_credentials_clear.3, - doc/manpages/gnutls_credentials_set.3, - doc/manpages/gnutls_db_check_entry.3, - doc/manpages/gnutls_db_get_ptr.3, - doc/manpages/gnutls_db_remove_session.3, - doc/manpages/gnutls_db_set_cache_expiration.3, - doc/manpages/gnutls_db_set_ptr.3, - doc/manpages/gnutls_db_set_remove_function.3, - doc/manpages/gnutls_db_set_retrieve_function.3, - doc/manpages/gnutls_db_set_store_function.3, - doc/manpages/gnutls_deinit.3, doc/manpages/gnutls_dh_get_group.3, - doc/manpages/gnutls_dh_get_peers_public_bits.3, - doc/manpages/gnutls_dh_get_prime_bits.3, - doc/manpages/gnutls_dh_get_pubkey.3, - doc/manpages/gnutls_dh_get_secret_bits.3, - doc/manpages/gnutls_dh_params_cpy.3, - doc/manpages/gnutls_dh_params_deinit.3, - doc/manpages/gnutls_dh_params_export_pkcs3.3, - doc/manpages/gnutls_dh_params_export_raw.3, - doc/manpages/gnutls_dh_params_generate2.3, - doc/manpages/gnutls_dh_params_import_pkcs3.3, - doc/manpages/gnutls_dh_params_import_raw.3, - doc/manpages/gnutls_dh_params_init.3, - doc/manpages/gnutls_dh_set_prime_bits.3, - doc/manpages/gnutls_dtls_cookie_send.3, - doc/manpages/gnutls_dtls_cookie_verify.3, - doc/manpages/gnutls_dtls_get_data_mtu.3, - doc/manpages/gnutls_dtls_get_mtu.3, - doc/manpages/gnutls_dtls_prestate_set.3, - doc/manpages/gnutls_dtls_set_mtu.3, - doc/manpages/gnutls_dtls_set_timeouts.3, - doc/manpages/gnutls_ecc_curve_get.3, - doc/manpages/gnutls_ecc_curve_get_name.3, - doc/manpages/gnutls_ecc_curve_get_size.3, - doc/manpages/gnutls_error_is_fatal.3, - doc/manpages/gnutls_error_to_alert.3, - doc/manpages/gnutls_fingerprint.3, - doc/manpages/gnutls_global_deinit.3, - doc/manpages/gnutls_global_init.3, - doc/manpages/gnutls_global_set_audit_log_function.3, - doc/manpages/gnutls_global_set_log_function.3, - doc/manpages/gnutls_global_set_log_level.3, - doc/manpages/gnutls_global_set_mem_functions.3, - doc/manpages/gnutls_global_set_mutex.3, - doc/manpages/gnutls_global_set_time_function.3, - doc/manpages/gnutls_handshake.3, - doc/manpages/gnutls_handshake_get_last_in.3, - doc/manpages/gnutls_handshake_get_last_out.3, - doc/manpages/gnutls_handshake_set_max_packet_length.3, - doc/manpages/gnutls_handshake_set_post_client_hello_function.3, - doc/manpages/gnutls_handshake_set_private_extensions.3, - doc/manpages/gnutls_hash.3, doc/manpages/gnutls_hash_deinit.3, - doc/manpages/gnutls_hash_fast.3, - doc/manpages/gnutls_hash_get_len.3, - doc/manpages/gnutls_hash_init.3, doc/manpages/gnutls_hash_output.3, - doc/manpages/gnutls_hex2bin.3, doc/manpages/gnutls_hex_decode.3, - doc/manpages/gnutls_hex_encode.3, doc/manpages/gnutls_hmac.3, - doc/manpages/gnutls_hmac_deinit.3, doc/manpages/gnutls_hmac_fast.3, - doc/manpages/gnutls_hmac_get_len.3, - doc/manpages/gnutls_hmac_init.3, doc/manpages/gnutls_hmac_output.3, - doc/manpages/gnutls_init.3, doc/manpages/gnutls_key_generate.3, - doc/manpages/gnutls_kx_get.3, doc/manpages/gnutls_kx_get_id.3, - doc/manpages/gnutls_kx_get_name.3, doc/manpages/gnutls_kx_list.3, - doc/manpages/gnutls_kx_set_priority.3, - doc/manpages/gnutls_mac_get.3, doc/manpages/gnutls_mac_get_id.3, - doc/manpages/gnutls_mac_get_key_size.3, - doc/manpages/gnutls_mac_get_name.3, doc/manpages/gnutls_mac_list.3, - doc/manpages/gnutls_mac_set_priority.3, - doc/manpages/gnutls_openpgp_crt_check_hostname.3, - doc/manpages/gnutls_openpgp_crt_deinit.3, - doc/manpages/gnutls_openpgp_crt_export.3, - doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3, - doc/manpages/gnutls_openpgp_crt_get_creation_time.3, - doc/manpages/gnutls_openpgp_crt_get_expiration_time.3, - doc/manpages/gnutls_openpgp_crt_get_fingerprint.3, - doc/manpages/gnutls_openpgp_crt_get_key_id.3, - doc/manpages/gnutls_openpgp_crt_get_key_usage.3, - doc/manpages/gnutls_openpgp_crt_get_name.3, - doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3, - doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3, - doc/manpages/gnutls_openpgp_crt_get_revoked_status.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_count.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_id.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3, - doc/manpages/gnutls_openpgp_crt_get_version.3, - doc/manpages/gnutls_openpgp_crt_import.3, - doc/manpages/gnutls_openpgp_crt_init.3, - doc/manpages/gnutls_openpgp_crt_print.3, - doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3, - doc/manpages/gnutls_openpgp_crt_verify_ring.3, - doc/manpages/gnutls_openpgp_crt_verify_self.3, - doc/manpages/gnutls_openpgp_keyring_check_id.3, - doc/manpages/gnutls_openpgp_keyring_deinit.3, - doc/manpages/gnutls_openpgp_keyring_get_crt.3, - doc/manpages/gnutls_openpgp_keyring_get_crt_count.3, - doc/manpages/gnutls_openpgp_keyring_import.3, - doc/manpages/gnutls_openpgp_keyring_init.3, - doc/manpages/gnutls_openpgp_privkey_deinit.3, - doc/manpages/gnutls_openpgp_privkey_export.3, - doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3, - doc/manpages/gnutls_openpgp_privkey_get_key_id.3, - doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3, - doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3, - doc/manpages/gnutls_openpgp_privkey_import.3, - doc/manpages/gnutls_openpgp_privkey_init.3, - doc/manpages/gnutls_openpgp_privkey_sec_param.3, - doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3, - doc/manpages/gnutls_openpgp_privkey_sign_hash.3, - doc/manpages/gnutls_openpgp_send_cert.3, - doc/manpages/gnutls_openpgp_set_recv_key_function.3, - doc/manpages/gnutls_pcert_deinit.3, - doc/manpages/gnutls_pcert_import_openpgp.3, - doc/manpages/gnutls_pcert_import_openpgp_raw.3, - doc/manpages/gnutls_pcert_import_x509.3, - doc/manpages/gnutls_pcert_import_x509_raw.3, - doc/manpages/gnutls_pcert_list_import_x509_raw.3, - doc/manpages/gnutls_pem_base64_decode.3, - doc/manpages/gnutls_pem_base64_decode_alloc.3, - doc/manpages/gnutls_pem_base64_encode.3, - doc/manpages/gnutls_pem_base64_encode_alloc.3, - doc/manpages/gnutls_perror.3, - doc/manpages/gnutls_pk_algorithm_get_name.3, - doc/manpages/gnutls_pk_bits_to_sec_param.3, - doc/manpages/gnutls_pk_get_id.3, doc/manpages/gnutls_pk_get_name.3, - doc/manpages/gnutls_pk_list.3, - doc/manpages/gnutls_pkcs11_add_provider.3, - doc/manpages/gnutls_pkcs11_copy_secret_key.3, - doc/manpages/gnutls_pkcs11_copy_x509_crt.3, - doc/manpages/gnutls_pkcs11_copy_x509_privkey.3, - doc/manpages/gnutls_pkcs11_deinit.3, - doc/manpages/gnutls_pkcs11_delete_url.3, - doc/manpages/gnutls_pkcs11_init.3, - doc/manpages/gnutls_pkcs11_obj_deinit.3, - doc/manpages/gnutls_pkcs11_obj_export.3, - doc/manpages/gnutls_pkcs11_obj_export_url.3, - doc/manpages/gnutls_pkcs11_obj_get_info.3, - doc/manpages/gnutls_pkcs11_obj_get_type.3, - doc/manpages/gnutls_pkcs11_obj_import_url.3, - doc/manpages/gnutls_pkcs11_obj_init.3, - doc/manpages/gnutls_pkcs11_obj_list_import_url.3, - doc/manpages/gnutls_pkcs11_privkey_deinit.3, - doc/manpages/gnutls_pkcs11_privkey_export_url.3, - doc/manpages/gnutls_pkcs11_privkey_generate.3, - doc/manpages/gnutls_pkcs11_privkey_get_info.3, - doc/manpages/gnutls_pkcs11_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_pkcs11_privkey_import_url.3, - doc/manpages/gnutls_pkcs11_privkey_init.3, - doc/manpages/gnutls_pkcs11_set_pin_function.3, - doc/manpages/gnutls_pkcs11_set_token_function.3, - doc/manpages/gnutls_pkcs11_token_get_flags.3, - doc/manpages/gnutls_pkcs11_token_get_info.3, - doc/manpages/gnutls_pkcs11_token_get_mechanism.3, - doc/manpages/gnutls_pkcs11_token_get_url.3, - doc/manpages/gnutls_pkcs11_token_init.3, - doc/manpages/gnutls_pkcs11_token_set_pin.3, - doc/manpages/gnutls_pkcs11_type_get_name.3, - doc/manpages/gnutls_pkcs12_bag_decrypt.3, - doc/manpages/gnutls_pkcs12_bag_deinit.3, - doc/manpages/gnutls_pkcs12_bag_encrypt.3, - doc/manpages/gnutls_pkcs12_bag_get_count.3, - doc/manpages/gnutls_pkcs12_bag_get_data.3, - doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3, - doc/manpages/gnutls_pkcs12_bag_get_key_id.3, - doc/manpages/gnutls_pkcs12_bag_get_type.3, - doc/manpages/gnutls_pkcs12_bag_init.3, - doc/manpages/gnutls_pkcs12_bag_set_crl.3, - doc/manpages/gnutls_pkcs12_bag_set_crt.3, - doc/manpages/gnutls_pkcs12_bag_set_data.3, - doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3, - doc/manpages/gnutls_pkcs12_bag_set_key_id.3, - doc/manpages/gnutls_pkcs12_deinit.3, - doc/manpages/gnutls_pkcs12_export.3, - doc/manpages/gnutls_pkcs12_generate_mac.3, - doc/manpages/gnutls_pkcs12_get_bag.3, - doc/manpages/gnutls_pkcs12_import.3, - doc/manpages/gnutls_pkcs12_init.3, - doc/manpages/gnutls_pkcs12_set_bag.3, - doc/manpages/gnutls_pkcs12_verify_mac.3, - doc/manpages/gnutls_pkcs7_deinit.3, - doc/manpages/gnutls_pkcs7_delete_crl.3, - doc/manpages/gnutls_pkcs7_delete_crt.3, - doc/manpages/gnutls_pkcs7_export.3, - doc/manpages/gnutls_pkcs7_get_crl_count.3, - doc/manpages/gnutls_pkcs7_get_crl_raw.3, - doc/manpages/gnutls_pkcs7_get_crt_count.3, - doc/manpages/gnutls_pkcs7_get_crt_raw.3, - doc/manpages/gnutls_pkcs7_import.3, - doc/manpages/gnutls_pkcs7_init.3, - doc/manpages/gnutls_pkcs7_set_crl.3, - doc/manpages/gnutls_pkcs7_set_crl_raw.3, - doc/manpages/gnutls_pkcs7_set_crt.3, - doc/manpages/gnutls_pkcs7_set_crt_raw.3, doc/manpages/gnutls_prf.3, - doc/manpages/gnutls_prf_raw.3, - doc/manpages/gnutls_priority_deinit.3, - doc/manpages/gnutls_priority_init.3, - doc/manpages/gnutls_priority_set.3, - doc/manpages/gnutls_priority_set_direct.3, - doc/manpages/gnutls_privkey_decrypt_data.3, - doc/manpages/gnutls_privkey_deinit.3, - doc/manpages/gnutls_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_privkey_get_type.3, - doc/manpages/gnutls_privkey_import_ext.3, - doc/manpages/gnutls_privkey_import_openpgp.3, - doc/manpages/gnutls_privkey_import_pkcs11.3, - doc/manpages/gnutls_privkey_import_x509.3, - doc/manpages/gnutls_privkey_init.3, - doc/manpages/gnutls_privkey_sign_data.3, - doc/manpages/gnutls_privkey_sign_hash.3, - doc/manpages/gnutls_protocol_get_id.3, - doc/manpages/gnutls_protocol_get_name.3, - doc/manpages/gnutls_protocol_get_version.3, - doc/manpages/gnutls_protocol_list.3, - doc/manpages/gnutls_protocol_set_priority.3, - doc/manpages/gnutls_psk_allocate_client_credentials.3, - doc/manpages/gnutls_psk_allocate_server_credentials.3, - doc/manpages/gnutls_psk_client_get_hint.3, - doc/manpages/gnutls_psk_free_client_credentials.3, - doc/manpages/gnutls_psk_free_server_credentials.3, - doc/manpages/gnutls_psk_server_get_username.3, - doc/manpages/gnutls_psk_set_client_credentials.3, - doc/manpages/gnutls_psk_set_params_function.3, - doc/manpages/gnutls_psk_set_server_credentials_file.3, - doc/manpages/gnutls_psk_set_server_credentials_hint.3, - doc/manpages/gnutls_psk_set_server_dh_params.3, - doc/manpages/gnutls_psk_set_server_params_function.3, - doc/manpages/gnutls_pubkey_deinit.3, - doc/manpages/gnutls_pubkey_export.3, - doc/manpages/gnutls_pubkey_get_key_id.3, - doc/manpages/gnutls_pubkey_get_key_usage.3, - doc/manpages/gnutls_pubkey_get_openpgp_key_id.3, - doc/manpages/gnutls_pubkey_get_pk_algorithm.3, - doc/manpages/gnutls_pubkey_get_pk_dsa_raw.3, - doc/manpages/gnutls_pubkey_get_pk_ecc_raw.3, - doc/manpages/gnutls_pubkey_get_pk_ecc_x962.3, - doc/manpages/gnutls_pubkey_get_pk_rsa_raw.3, - doc/manpages/gnutls_pubkey_get_preferred_hash_algorithm.3, - doc/manpages/gnutls_pubkey_get_verify_algorithm.3, - doc/manpages/gnutls_pubkey_import.3, - doc/manpages/gnutls_pubkey_import_dsa_raw.3, - doc/manpages/gnutls_pubkey_import_ecc_raw.3, - doc/manpages/gnutls_pubkey_import_ecc_x962.3, - doc/manpages/gnutls_pubkey_import_openpgp.3, - doc/manpages/gnutls_pubkey_import_pkcs11.3, - doc/manpages/gnutls_pubkey_import_pkcs11_url.3, - doc/manpages/gnutls_pubkey_import_privkey.3, - doc/manpages/gnutls_pubkey_import_rsa_raw.3, - doc/manpages/gnutls_pubkey_import_x509.3, - doc/manpages/gnutls_pubkey_init.3, - doc/manpages/gnutls_pubkey_set_key_usage.3, - doc/manpages/gnutls_pubkey_verify_data.3, - doc/manpages/gnutls_pubkey_verify_data2.3, - doc/manpages/gnutls_pubkey_verify_hash.3, - doc/manpages/gnutls_record_check_pending.3, - doc/manpages/gnutls_record_disable_padding.3, - doc/manpages/gnutls_record_get_direction.3, - doc/manpages/gnutls_record_get_discarded.3, - doc/manpages/gnutls_record_get_max_size.3, - doc/manpages/gnutls_record_recv.3, - doc/manpages/gnutls_record_recv_seq.3, - doc/manpages/gnutls_record_send.3, - doc/manpages/gnutls_record_set_max_size.3, - doc/manpages/gnutls_rehandshake.3, doc/manpages/gnutls_rnd.3, - doc/manpages/gnutls_rsa_export_get_modulus_bits.3, - doc/manpages/gnutls_rsa_export_get_pubkey.3, - doc/manpages/gnutls_rsa_params_cpy.3, - doc/manpages/gnutls_rsa_params_deinit.3, - doc/manpages/gnutls_rsa_params_export_pkcs1.3, - doc/manpages/gnutls_rsa_params_export_raw.3, - doc/manpages/gnutls_rsa_params_generate2.3, - doc/manpages/gnutls_rsa_params_import_pkcs1.3, - doc/manpages/gnutls_rsa_params_import_raw.3, - doc/manpages/gnutls_rsa_params_init.3, - doc/manpages/gnutls_safe_renegotiation_status.3, - doc/manpages/gnutls_sec_param_get_name.3, - doc/manpages/gnutls_sec_param_to_pk_bits.3, - doc/manpages/gnutls_server_name_get.3, - doc/manpages/gnutls_server_name_set.3, - doc/manpages/gnutls_session_channel_binding.3, - doc/manpages/gnutls_session_enable_compatibility_mode.3, - doc/manpages/gnutls_session_get_data.3, - doc/manpages/gnutls_session_get_data2.3, - doc/manpages/gnutls_session_get_id.3, - doc/manpages/gnutls_session_get_ptr.3, - doc/manpages/gnutls_session_is_resumed.3, - doc/manpages/gnutls_session_set_data.3, - doc/manpages/gnutls_session_set_ptr.3, - doc/manpages/gnutls_session_ticket_enable_client.3, - doc/manpages/gnutls_session_ticket_enable_server.3, - doc/manpages/gnutls_session_ticket_key_generate.3, - doc/manpages/gnutls_set_default_export_priority.3, - doc/manpages/gnutls_set_default_priority.3, - doc/manpages/gnutls_sign_algorithm_get_requested.3, - doc/manpages/gnutls_sign_callback_get.3, - doc/manpages/gnutls_sign_callback_set.3, - doc/manpages/gnutls_sign_get_id.3, - doc/manpages/gnutls_sign_get_name.3, - doc/manpages/gnutls_sign_list.3, - doc/manpages/gnutls_srp_allocate_client_credentials.3, - doc/manpages/gnutls_srp_allocate_server_credentials.3, - doc/manpages/gnutls_srp_base64_decode.3, - doc/manpages/gnutls_srp_base64_decode_alloc.3, - doc/manpages/gnutls_srp_base64_encode.3, - doc/manpages/gnutls_srp_base64_encode_alloc.3, - doc/manpages/gnutls_srp_free_client_credentials.3, - doc/manpages/gnutls_srp_free_server_credentials.3, - doc/manpages/gnutls_srp_server_get_username.3, - doc/manpages/gnutls_srp_set_client_credentials.3, - doc/manpages/gnutls_srp_set_prime_bits.3, - doc/manpages/gnutls_srp_set_server_credentials_file.3, - doc/manpages/gnutls_srp_verifier.3, doc/manpages/gnutls_strerror.3, - doc/manpages/gnutls_strerror_name.3, - doc/manpages/gnutls_supplemental_get_name.3, - doc/manpages/gnutls_transport_get_ptr.3, - doc/manpages/gnutls_transport_get_ptr2.3, - doc/manpages/gnutls_transport_set_errno.3, - doc/manpages/gnutls_transport_set_errno_function.3, - doc/manpages/gnutls_transport_set_ptr.3, - doc/manpages/gnutls_transport_set_ptr2.3, - doc/manpages/gnutls_transport_set_pull_function.3, - doc/manpages/gnutls_transport_set_pull_timeout_function.3, - doc/manpages/gnutls_transport_set_push_function.3, - doc/manpages/gnutls_transport_set_vec_push_function.3, - doc/manpages/gnutls_x509_crl_check_issuer.3, - doc/manpages/gnutls_x509_crl_deinit.3, - doc/manpages/gnutls_x509_crl_export.3, - doc/manpages/gnutls_x509_crl_get_authority_key_id.3, - doc/manpages/gnutls_x509_crl_get_crt_count.3, - doc/manpages/gnutls_x509_crl_get_crt_serial.3, - doc/manpages/gnutls_x509_crl_get_dn_oid.3, - doc/manpages/gnutls_x509_crl_get_extension_data.3, - doc/manpages/gnutls_x509_crl_get_extension_info.3, - doc/manpages/gnutls_x509_crl_get_extension_oid.3, - doc/manpages/gnutls_x509_crl_get_issuer_dn.3, - doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crl_get_next_update.3, - doc/manpages/gnutls_x509_crl_get_number.3, - doc/manpages/gnutls_x509_crl_get_raw_issuer_dn.3, - doc/manpages/gnutls_x509_crl_get_signature.3, - doc/manpages/gnutls_x509_crl_get_signature_algorithm.3, - doc/manpages/gnutls_x509_crl_get_this_update.3, - doc/manpages/gnutls_x509_crl_get_version.3, - doc/manpages/gnutls_x509_crl_import.3, - doc/manpages/gnutls_x509_crl_init.3, - doc/manpages/gnutls_x509_crl_list_import.3, - doc/manpages/gnutls_x509_crl_list_import2.3, - doc/manpages/gnutls_x509_crl_print.3, - doc/manpages/gnutls_x509_crl_privkey_sign.3, - doc/manpages/gnutls_x509_crl_set_authority_key_id.3, - doc/manpages/gnutls_x509_crl_set_crt.3, - doc/manpages/gnutls_x509_crl_set_crt_serial.3, - doc/manpages/gnutls_x509_crl_set_next_update.3, - doc/manpages/gnutls_x509_crl_set_number.3, - doc/manpages/gnutls_x509_crl_set_this_update.3, - doc/manpages/gnutls_x509_crl_set_version.3, - doc/manpages/gnutls_x509_crl_sign.3, - doc/manpages/gnutls_x509_crl_sign2.3, - doc/manpages/gnutls_x509_crl_verify.3, - doc/manpages/gnutls_x509_crq_deinit.3, - doc/manpages/gnutls_x509_crq_export.3, - doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3, - doc/manpages/gnutls_x509_crq_get_attribute_data.3, - doc/manpages/gnutls_x509_crq_get_attribute_info.3, - doc/manpages/gnutls_x509_crq_get_basic_constraints.3, - doc/manpages/gnutls_x509_crq_get_challenge_password.3, - doc/manpages/gnutls_x509_crq_get_dn.3, - doc/manpages/gnutls_x509_crq_get_dn_by_oid.3, - doc/manpages/gnutls_x509_crq_get_dn_oid.3, - doc/manpages/gnutls_x509_crq_get_extension_by_oid.3, - doc/manpages/gnutls_x509_crq_get_extension_data.3, - doc/manpages/gnutls_x509_crq_get_extension_info.3, - doc/manpages/gnutls_x509_crq_get_key_id.3, - doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3, - doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3, - doc/manpages/gnutls_x509_crq_get_key_usage.3, - doc/manpages/gnutls_x509_crq_get_pk_algorithm.3, - doc/manpages/gnutls_x509_crq_get_subject_alt_name.3, - doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3, - doc/manpages/gnutls_x509_crq_get_version.3, - doc/manpages/gnutls_x509_crq_import.3, - doc/manpages/gnutls_x509_crq_init.3, - doc/manpages/gnutls_x509_crq_print.3, - doc/manpages/gnutls_x509_crq_privkey_sign.3, - doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3, - doc/manpages/gnutls_x509_crq_set_basic_constraints.3, - doc/manpages/gnutls_x509_crq_set_challenge_password.3, - doc/manpages/gnutls_x509_crq_set_dn_by_oid.3, - doc/manpages/gnutls_x509_crq_set_key.3, - doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3, - doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3, - doc/manpages/gnutls_x509_crq_set_key_usage.3, - doc/manpages/gnutls_x509_crq_set_pubkey.3, - doc/manpages/gnutls_x509_crq_set_subject_alt_name.3, - doc/manpages/gnutls_x509_crq_set_version.3, - doc/manpages/gnutls_x509_crq_sign.3, - doc/manpages/gnutls_x509_crq_sign2.3, - doc/manpages/gnutls_x509_crq_verify.3, - doc/manpages/gnutls_x509_crt_check_hostname.3, - doc/manpages/gnutls_x509_crt_check_issuer.3, - doc/manpages/gnutls_x509_crt_check_revocation.3, - doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_deinit.3, - doc/manpages/gnutls_x509_crt_export.3, - doc/manpages/gnutls_x509_crt_get_activation_time.3, - doc/manpages/gnutls_x509_crt_get_authority_info_access.3, - doc/manpages/gnutls_x509_crt_get_authority_key_id.3, - doc/manpages/gnutls_x509_crt_get_basic_constraints.3, - doc/manpages/gnutls_x509_crt_get_ca_status.3, - doc/manpages/gnutls_x509_crt_get_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_get_dn.3, - doc/manpages/gnutls_x509_crt_get_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_get_dn_oid.3, - doc/manpages/gnutls_x509_crt_get_expiration_time.3, - doc/manpages/gnutls_x509_crt_get_extension_by_oid.3, - doc/manpages/gnutls_x509_crt_get_extension_data.3, - doc/manpages/gnutls_x509_crt_get_extension_info.3, - doc/manpages/gnutls_x509_crt_get_extension_oid.3, - doc/manpages/gnutls_x509_crt_get_fingerprint.3, - doc/manpages/gnutls_x509_crt_get_issuer.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_name.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_name2.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_othername_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_unique_id.3, - doc/manpages/gnutls_x509_crt_get_key_id.3, - doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3, - doc/manpages/gnutls_x509_crt_get_key_usage.3, - doc/manpages/gnutls_x509_crt_get_pk_algorithm.3, - doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3, - doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3, - doc/manpages/gnutls_x509_crt_get_preferred_hash_algorithm.3, - doc/manpages/gnutls_x509_crt_get_proxy.3, - doc/manpages/gnutls_x509_crt_get_raw_dn.3, - doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3, - doc/manpages/gnutls_x509_crt_get_serial.3, - doc/manpages/gnutls_x509_crt_get_signature.3, - doc/manpages/gnutls_x509_crt_get_signature_algorithm.3, - doc/manpages/gnutls_x509_crt_get_subject.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_name.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3, - doc/manpages/gnutls_x509_crt_get_subject_key_id.3, - doc/manpages/gnutls_x509_crt_get_subject_unique_id.3, - doc/manpages/gnutls_x509_crt_get_verify_algorithm.3, - doc/manpages/gnutls_x509_crt_get_version.3, - doc/manpages/gnutls_x509_crt_import.3, - doc/manpages/gnutls_x509_crt_import_pkcs11.3, - doc/manpages/gnutls_x509_crt_import_pkcs11_url.3, - doc/manpages/gnutls_x509_crt_init.3, - doc/manpages/gnutls_x509_crt_list_import.3, - doc/manpages/gnutls_x509_crt_list_import2.3, - doc/manpages/gnutls_x509_crt_list_import_pkcs11.3, - doc/manpages/gnutls_x509_crt_list_verify.3, - doc/manpages/gnutls_x509_crt_print.3, - doc/manpages/gnutls_x509_crt_privkey_sign.3, - doc/manpages/gnutls_x509_crt_set_activation_time.3, - doc/manpages/gnutls_x509_crt_set_authority_key_id.3, - doc/manpages/gnutls_x509_crt_set_basic_constraints.3, - doc/manpages/gnutls_x509_crt_set_ca_status.3, - doc/manpages/gnutls_x509_crt_set_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3, - doc/manpages/gnutls_x509_crt_set_crq.3, - doc/manpages/gnutls_x509_crt_set_crq_extensions.3, - doc/manpages/gnutls_x509_crt_set_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_set_expiration_time.3, - doc/manpages/gnutls_x509_crt_set_extension_by_oid.3, - doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_set_key.3, - doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3, - doc/manpages/gnutls_x509_crt_set_key_usage.3, - doc/manpages/gnutls_x509_crt_set_proxy.3, - doc/manpages/gnutls_x509_crt_set_proxy_dn.3, - doc/manpages/gnutls_x509_crt_set_pubkey.3, - doc/manpages/gnutls_x509_crt_set_serial.3, - doc/manpages/gnutls_x509_crt_set_subject_alt_name.3, - doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3, - doc/manpages/gnutls_x509_crt_set_subject_key_id.3, - doc/manpages/gnutls_x509_crt_set_version.3, - doc/manpages/gnutls_x509_crt_sign.3, - doc/manpages/gnutls_x509_crt_sign2.3, - doc/manpages/gnutls_x509_crt_verify.3, - doc/manpages/gnutls_x509_crt_verify_data.3, - doc/manpages/gnutls_x509_crt_verify_hash.3, - doc/manpages/gnutls_x509_dn_deinit.3, - doc/manpages/gnutls_x509_dn_export.3, - doc/manpages/gnutls_x509_dn_get_rdn_ava.3, - doc/manpages/gnutls_x509_dn_import.3, - doc/manpages/gnutls_x509_dn_init.3, - doc/manpages/gnutls_x509_dn_oid_known.3, - doc/manpages/gnutls_x509_privkey_cpy.3, - doc/manpages/gnutls_x509_privkey_deinit.3, - doc/manpages/gnutls_x509_privkey_export.3, - doc/manpages/gnutls_x509_privkey_export_dsa_raw.3, - doc/manpages/gnutls_x509_privkey_export_ecc_raw.3, - doc/manpages/gnutls_x509_privkey_export_pkcs8.3, - doc/manpages/gnutls_x509_privkey_export_rsa_raw.3, - doc/manpages/gnutls_x509_privkey_export_rsa_raw2.3, - doc/manpages/gnutls_x509_privkey_fix.3, - doc/manpages/gnutls_x509_privkey_generate.3, - doc/manpages/gnutls_x509_privkey_get_key_id.3, - doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_x509_privkey_import.3, - doc/manpages/gnutls_x509_privkey_import_dsa_raw.3, - doc/manpages/gnutls_x509_privkey_import_ecc_raw.3, - doc/manpages/gnutls_x509_privkey_import_pkcs8.3, - doc/manpages/gnutls_x509_privkey_import_rsa_raw.3, - doc/manpages/gnutls_x509_privkey_import_rsa_raw2.3, - doc/manpages/gnutls_x509_privkey_init.3, - doc/manpages/gnutls_x509_privkey_sec_param.3, - doc/manpages/gnutls_x509_privkey_sign_data.3, - doc/manpages/gnutls_x509_privkey_sign_hash.3, - doc/manpages/gnutls_x509_privkey_verify_params.3, - doc/manpages/gnutls_x509_rdn_get.3, - doc/manpages/gnutls_x509_rdn_get_by_oid.3, - doc/manpages/gnutls_x509_rdn_get_oid.3, - doc/manpages/gnutls_x509_trust_list_add_cas.3, - doc/manpages/gnutls_x509_trust_list_add_crls.3, - doc/manpages/gnutls_x509_trust_list_add_named_crt.3, - doc/manpages/gnutls_x509_trust_list_deinit.3, - doc/manpages/gnutls_x509_trust_list_get_issuer.3, - doc/manpages/gnutls_x509_trust_list_init.3, - doc/manpages/gnutls_x509_trust_list_verify_crt.3, - doc/manpages/gnutls_x509_trust_list_verify_named_crt.3: manpages - don't need to be in the repository. - -2011-12-01 Nikos Mavrogiannopoulos - - * tests/Makefile.am, tests/cipher-test.c, tests/slow/Makefile.am, - tests/slow/cipher-test.c: cipher-test is now run without valgrind - -2011-11-29 Nikos Mavrogiannopoulos - - * lib/gnutls_errors.h: removed superfluous check. - -2011-11-29 Simon Josefsson - - * cfg.mk, tests/suite/chain: Fix syntax-check nits. - -2011-11-26 Nikos Mavrogiannopoulos + * lib/pkcs11.c: more sensible names in find data private structures. - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/scripts/mytexi2latex: documentation updates. +2014-01-02 Nikos Mavrogiannopoulos -2011-11-25 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/gnutls.texi: use emph instead of cite since cite produces bad - output in texi2html. +2014-01-02 Nikos Mavrogiannopoulos -2011-11-24 Nikos Mavrogiannopoulos + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: + gnutls_pkcs11_get_raw_issuer() returns only trusted issuers if + GNUTLS_PKCS11_ISSUER_ANY is not specified. - * doc/cha-cert-auth2.texi, doc/scripts/mytexi2latex: updates in - sectioning. Subheading was used instead of subsection in few cases. +2014-01-02 Nikos Mavrogiannopoulos -2011-11-25 Ludovic Courtès + * NEWS: doc update - * guile/modules/system/documentation/output.scm: guile: Fix the - (unused) `output-procedure-texi-documentation-from-c-file'. Reported by Mike Gran . +2014-01-02 Nikos Mavrogiannopoulos -2011-11-24 Nikos Mavrogiannopoulos + * lib/pkcs11.c, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, + lib/pkcs11_write.c: unified PKCS#11 debug messages - * cfg.mk: copy images to html_node +2014-01-02 Nikos Mavrogiannopoulos -2011-11-24 Nikos Mavrogiannopoulos + * configure.ac, lib/x509/verify-high.c, lib/x509/verify-high.h, + lib/x509/verify-high2.c, lib/x509/verify.c, lib/x509/x509_int.h: + Updated PKCS #11 support for + gnutls_x509_trust_list_add_trust_file(). It will now use the PKCS #11 trust URL while verifying instead of + importing all CAs. That way it allows verification on the spot + without requiring the gnutls to restart in case of a blacklisted CA. - * doc/cha-cert-auth2.texi: added missing node +2014-01-02 Nikos Mavrogiannopoulos -2011-11-24 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi, - doc/cha-internals.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, doc/cha-programs.texi, doc/scripts/gdoc, - doc/scripts/mytexi2latex: updates in texi and tex documentation. +2014-01-01 Nikos Mavrogiannopoulos -2011-11-24 Nikos Mavrogiannopoulos + * src/p11tool-args.def: Added documentation for force autogen to + generate correct texinfo code. - * lib/opencdk/Makefile.am, lib/opencdk/dummy.c, lib/opencdk/main.h: - dropped unneeded function. +2013-12-31 Nikos Mavrogiannopoulos -2011-11-22 Nikos Mavrogiannopoulos + * NEWS: doc update - * .gitignore, doc/Makefile.am, doc/cha-functions.texi, - doc/cha-gtls-app.texi, doc/gnutls.texi, doc/scripts/gdoc, - lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/openpgp.h: Separated API reference to header - files in the texi manual. - -2011-11-22 Nikos Mavrogiannopoulos - - * doc/cha-gtls-examples.texi: removed text for tcp functions. - -2011-11-20 Nikos Mavrogiannopoulos - - * NEWS, cfg.mk, doc/manpages/Makefile.am, - doc/manpages/gnutls_alert_get.3, - doc/manpages/gnutls_alert_get_name.3, - doc/manpages/gnutls_alert_get_strname.3, - doc/manpages/gnutls_alert_send.3, - doc/manpages/gnutls_alert_send_appropriate.3, - doc/manpages/gnutls_anon_allocate_client_credentials.3, - doc/manpages/gnutls_anon_allocate_server_credentials.3, - doc/manpages/gnutls_anon_free_client_credentials.3, - doc/manpages/gnutls_anon_free_server_credentials.3, - doc/manpages/gnutls_anon_set_params_function.3, - doc/manpages/gnutls_anon_set_server_dh_params.3, - doc/manpages/gnutls_anon_set_server_params_function.3, - doc/manpages/gnutls_auth_client_get_type.3, - doc/manpages/gnutls_auth_get_type.3, - doc/manpages/gnutls_auth_server_get_type.3, - doc/manpages/gnutls_bye.3, - doc/manpages/gnutls_certificate_activation_time_peers.3, - doc/manpages/gnutls_certificate_allocate_credentials.3, - doc/manpages/gnutls_certificate_client_get_request_status.3, - doc/manpages/gnutls_certificate_expiration_time_peers.3, - doc/manpages/gnutls_certificate_free_ca_names.3, - doc/manpages/gnutls_certificate_free_cas.3, - doc/manpages/gnutls_certificate_free_credentials.3, - doc/manpages/gnutls_certificate_free_crls.3, - doc/manpages/gnutls_certificate_free_keys.3, - doc/manpages/gnutls_certificate_get_issuer.3, - doc/manpages/gnutls_certificate_get_openpgp_keyring.3, - doc/manpages/gnutls_certificate_get_ours.3, - doc/manpages/gnutls_certificate_get_peers.3, - doc/manpages/gnutls_certificate_send_x509_rdn_sequence.3, - doc/manpages/gnutls_certificate_server_set_request.3, - doc/manpages/gnutls_certificate_set_dh_params.3, - doc/manpages/gnutls_certificate_set_key.3, - doc/manpages/gnutls_certificate_set_openpgp_key.3, - doc/manpages/gnutls_certificate_set_openpgp_key_file.3, - doc/manpages/gnutls_certificate_set_openpgp_key_file2.3, - doc/manpages/gnutls_certificate_set_openpgp_key_mem.3, - doc/manpages/gnutls_certificate_set_openpgp_key_mem2.3, - doc/manpages/gnutls_certificate_set_params_function.3, - doc/manpages/gnutls_certificate_set_rsa_export_params.3, - doc/manpages/gnutls_certificate_set_verify_flags.3, - doc/manpages/gnutls_certificate_set_verify_function.3, - doc/manpages/gnutls_certificate_set_verify_limits.3, - doc/manpages/gnutls_certificate_set_x509_crl.3, - doc/manpages/gnutls_certificate_set_x509_crl_file.3, - doc/manpages/gnutls_certificate_set_x509_crl_mem.3, - doc/manpages/gnutls_certificate_set_x509_key.3, - doc/manpages/gnutls_certificate_set_x509_key_file.3, - doc/manpages/gnutls_certificate_set_x509_key_mem.3, - doc/manpages/gnutls_certificate_set_x509_trust.3, - doc/manpages/gnutls_certificate_set_x509_trust_file.3, - doc/manpages/gnutls_certificate_set_x509_trust_mem.3, - doc/manpages/gnutls_certificate_type_get.3, - doc/manpages/gnutls_certificate_type_get_id.3, - doc/manpages/gnutls_certificate_type_get_name.3, - doc/manpages/gnutls_certificate_type_list.3, - doc/manpages/gnutls_certificate_type_set_priority.3, - doc/manpages/gnutls_certificate_verify_peers2.3, - doc/manpages/gnutls_check_version.3, - doc/manpages/gnutls_cipher_add_auth.3, - doc/manpages/gnutls_cipher_decrypt.3, - doc/manpages/gnutls_cipher_decrypt2.3, - doc/manpages/gnutls_cipher_deinit.3, - doc/manpages/gnutls_cipher_encrypt.3, - doc/manpages/gnutls_cipher_encrypt2.3, - doc/manpages/gnutls_cipher_get.3, - doc/manpages/gnutls_cipher_get_block_size.3, - doc/manpages/gnutls_cipher_get_id.3, - doc/manpages/gnutls_cipher_get_key_size.3, - doc/manpages/gnutls_cipher_get_name.3, - doc/manpages/gnutls_cipher_init.3, - doc/manpages/gnutls_cipher_list.3, - doc/manpages/gnutls_cipher_set_iv.3, - doc/manpages/gnutls_cipher_set_priority.3, - doc/manpages/gnutls_cipher_suite_get_name.3, - doc/manpages/gnutls_cipher_suite_info.3, - doc/manpages/gnutls_cipher_tag.3, - doc/manpages/gnutls_compression_get.3, - doc/manpages/gnutls_compression_get_id.3, - doc/manpages/gnutls_compression_get_name.3, - doc/manpages/gnutls_compression_list.3, - doc/manpages/gnutls_compression_set_priority.3, - doc/manpages/gnutls_credentials_clear.3, - doc/manpages/gnutls_credentials_set.3, - doc/manpages/gnutls_db_check_entry.3, - doc/manpages/gnutls_db_get_ptr.3, - doc/manpages/gnutls_db_remove_session.3, - doc/manpages/gnutls_db_set_cache_expiration.3, - doc/manpages/gnutls_db_set_ptr.3, - doc/manpages/gnutls_db_set_remove_function.3, - doc/manpages/gnutls_db_set_retrieve_function.3, - doc/manpages/gnutls_db_set_store_function.3, - doc/manpages/gnutls_deinit.3, doc/manpages/gnutls_dh_get_group.3, - doc/manpages/gnutls_dh_get_peers_public_bits.3, - doc/manpages/gnutls_dh_get_prime_bits.3, - doc/manpages/gnutls_dh_get_pubkey.3, - doc/manpages/gnutls_dh_get_secret_bits.3, - doc/manpages/gnutls_dh_params_cpy.3, - doc/manpages/gnutls_dh_params_deinit.3, - doc/manpages/gnutls_dh_params_export_pkcs3.3, - doc/manpages/gnutls_dh_params_export_raw.3, - doc/manpages/gnutls_dh_params_generate2.3, - doc/manpages/gnutls_dh_params_import_pkcs3.3, - doc/manpages/gnutls_dh_params_import_raw.3, - doc/manpages/gnutls_dh_params_init.3, - doc/manpages/gnutls_dh_set_prime_bits.3, - doc/manpages/gnutls_dtls_cookie_send.3, - doc/manpages/gnutls_dtls_cookie_verify.3, - doc/manpages/gnutls_dtls_get_data_mtu.3, - doc/manpages/gnutls_dtls_get_mtu.3, - doc/manpages/gnutls_dtls_prestate_set.3, - doc/manpages/gnutls_dtls_set_mtu.3, - doc/manpages/gnutls_dtls_set_timeouts.3, - doc/manpages/gnutls_ecc_curve_get.3, - doc/manpages/gnutls_ecc_curve_get_name.3, - doc/manpages/gnutls_ecc_curve_get_size.3, - doc/manpages/gnutls_error_is_fatal.3, - doc/manpages/gnutls_error_to_alert.3, - doc/manpages/gnutls_fingerprint.3, - doc/manpages/gnutls_global_deinit.3, - doc/manpages/gnutls_global_init.3, - doc/manpages/gnutls_global_set_audit_log_function.3, - doc/manpages/gnutls_global_set_log_function.3, - doc/manpages/gnutls_global_set_log_level.3, - doc/manpages/gnutls_global_set_mem_functions.3, - doc/manpages/gnutls_global_set_mutex.3, - doc/manpages/gnutls_global_set_time_function.3, - doc/manpages/gnutls_handshake.3, - doc/manpages/gnutls_handshake_get_last_in.3, - doc/manpages/gnutls_handshake_get_last_out.3, - doc/manpages/gnutls_handshake_set_max_packet_length.3, - doc/manpages/gnutls_handshake_set_post_client_hello_function.3, - doc/manpages/gnutls_handshake_set_private_extensions.3, - doc/manpages/gnutls_hash.3, doc/manpages/gnutls_hash_deinit.3, - doc/manpages/gnutls_hash_fast.3, - doc/manpages/gnutls_hash_get_len.3, - doc/manpages/gnutls_hash_init.3, doc/manpages/gnutls_hash_output.3, - doc/manpages/gnutls_hex2bin.3, doc/manpages/gnutls_hex_decode.3, - doc/manpages/gnutls_hex_encode.3, doc/manpages/gnutls_hmac.3, - doc/manpages/gnutls_hmac_deinit.3, doc/manpages/gnutls_hmac_fast.3, - doc/manpages/gnutls_hmac_get_len.3, - doc/manpages/gnutls_hmac_init.3, doc/manpages/gnutls_hmac_output.3, - doc/manpages/gnutls_init.3, doc/manpages/gnutls_key_generate.3, - doc/manpages/gnutls_kx_get.3, doc/manpages/gnutls_kx_get_id.3, - doc/manpages/gnutls_kx_get_name.3, doc/manpages/gnutls_kx_list.3, - doc/manpages/gnutls_kx_set_priority.3, - doc/manpages/gnutls_mac_get.3, doc/manpages/gnutls_mac_get_id.3, - doc/manpages/gnutls_mac_get_key_size.3, - doc/manpages/gnutls_mac_get_name.3, doc/manpages/gnutls_mac_list.3, - doc/manpages/gnutls_mac_set_priority.3, - doc/manpages/gnutls_openpgp_crt_check_hostname.3, - doc/manpages/gnutls_openpgp_crt_deinit.3, - doc/manpages/gnutls_openpgp_crt_export.3, - doc/manpages/gnutls_openpgp_crt_get_auth_subkey.3, - doc/manpages/gnutls_openpgp_crt_get_creation_time.3, - doc/manpages/gnutls_openpgp_crt_get_expiration_time.3, - doc/manpages/gnutls_openpgp_crt_get_fingerprint.3, - doc/manpages/gnutls_openpgp_crt_get_key_id.3, - doc/manpages/gnutls_openpgp_crt_get_key_usage.3, - doc/manpages/gnutls_openpgp_crt_get_name.3, - doc/manpages/gnutls_openpgp_crt_get_pk_algorithm.3, - doc/manpages/gnutls_openpgp_crt_get_pk_dsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_pk_rsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_preferred_key_id.3, - doc/manpages/gnutls_openpgp_crt_get_revoked_status.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_count.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_creation_time.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_expiration_time.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_fingerprint.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_id.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_idx.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_algorithm.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_dsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_pk_rsa_raw.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_revoked_status.3, - doc/manpages/gnutls_openpgp_crt_get_subkey_usage.3, - doc/manpages/gnutls_openpgp_crt_get_version.3, - doc/manpages/gnutls_openpgp_crt_import.3, - doc/manpages/gnutls_openpgp_crt_init.3, - doc/manpages/gnutls_openpgp_crt_print.3, - doc/manpages/gnutls_openpgp_crt_set_preferred_key_id.3, - doc/manpages/gnutls_openpgp_crt_verify_ring.3, - doc/manpages/gnutls_openpgp_crt_verify_self.3, - doc/manpages/gnutls_openpgp_keyring_check_id.3, - doc/manpages/gnutls_openpgp_keyring_deinit.3, - doc/manpages/gnutls_openpgp_keyring_get_crt.3, - doc/manpages/gnutls_openpgp_keyring_get_crt_count.3, - doc/manpages/gnutls_openpgp_keyring_import.3, - doc/manpages/gnutls_openpgp_keyring_init.3, - doc/manpages/gnutls_openpgp_privkey_deinit.3, - doc/manpages/gnutls_openpgp_privkey_export.3, - doc/manpages/gnutls_openpgp_privkey_export_dsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_rsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_subkey_dsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_export_subkey_rsa_raw.3, - doc/manpages/gnutls_openpgp_privkey_get_fingerprint.3, - doc/manpages/gnutls_openpgp_privkey_get_key_id.3, - doc/manpages/gnutls_openpgp_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_openpgp_privkey_get_preferred_key_id.3, - doc/manpages/gnutls_openpgp_privkey_get_revoked_status.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_count.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_creation_time.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_fingerprint.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_id.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_idx.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_pk_algorithm.3, - doc/manpages/gnutls_openpgp_privkey_get_subkey_revoked_status.3, - doc/manpages/gnutls_openpgp_privkey_import.3, - doc/manpages/gnutls_openpgp_privkey_init.3, - doc/manpages/gnutls_openpgp_privkey_sec_param.3, - doc/manpages/gnutls_openpgp_privkey_set_preferred_key_id.3, - doc/manpages/gnutls_openpgp_privkey_sign_hash.3, - doc/manpages/gnutls_openpgp_send_cert.3, - doc/manpages/gnutls_openpgp_set_recv_key_function.3, - doc/manpages/gnutls_pcert_deinit.3, - doc/manpages/gnutls_pcert_import_openpgp.3, - doc/manpages/gnutls_pcert_import_openpgp_raw.3, - doc/manpages/gnutls_pcert_import_x509.3, - doc/manpages/gnutls_pcert_import_x509_raw.3, - doc/manpages/gnutls_pcert_list_import_x509_raw.3, - doc/manpages/gnutls_pem_base64_decode.3, - doc/manpages/gnutls_pem_base64_decode_alloc.3, - doc/manpages/gnutls_pem_base64_encode.3, - doc/manpages/gnutls_pem_base64_encode_alloc.3, - doc/manpages/gnutls_perror.3, - doc/manpages/gnutls_pk_algorithm_get_name.3, - doc/manpages/gnutls_pk_bits_to_sec_param.3, - doc/manpages/gnutls_pk_get_id.3, doc/manpages/gnutls_pk_get_name.3, - doc/manpages/gnutls_pk_list.3, - doc/manpages/gnutls_pkcs11_add_provider.3, - doc/manpages/gnutls_pkcs11_copy_secret_key.3, - doc/manpages/gnutls_pkcs11_copy_x509_crt.3, - doc/manpages/gnutls_pkcs11_copy_x509_privkey.3, - doc/manpages/gnutls_pkcs11_deinit.3, - doc/manpages/gnutls_pkcs11_delete_url.3, - doc/manpages/gnutls_pkcs11_init.3, - doc/manpages/gnutls_pkcs11_obj_deinit.3, - doc/manpages/gnutls_pkcs11_obj_export.3, - doc/manpages/gnutls_pkcs11_obj_export_url.3, - doc/manpages/gnutls_pkcs11_obj_get_info.3, - doc/manpages/gnutls_pkcs11_obj_get_type.3, - doc/manpages/gnutls_pkcs11_obj_import_url.3, - doc/manpages/gnutls_pkcs11_obj_init.3, - doc/manpages/gnutls_pkcs11_obj_list_import_url.3, - doc/manpages/gnutls_pkcs11_privkey_deinit.3, - doc/manpages/gnutls_pkcs11_privkey_export_url.3, - doc/manpages/gnutls_pkcs11_privkey_generate.3, - doc/manpages/gnutls_pkcs11_privkey_get_info.3, - doc/manpages/gnutls_pkcs11_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_pkcs11_privkey_import_url.3, - doc/manpages/gnutls_pkcs11_privkey_init.3, - doc/manpages/gnutls_pkcs11_set_pin_function.3, - doc/manpages/gnutls_pkcs11_set_token_function.3, - doc/manpages/gnutls_pkcs11_token_get_flags.3, - doc/manpages/gnutls_pkcs11_token_get_info.3, - doc/manpages/gnutls_pkcs11_token_get_mechanism.3, - doc/manpages/gnutls_pkcs11_token_get_url.3, - doc/manpages/gnutls_pkcs11_token_init.3, - doc/manpages/gnutls_pkcs11_token_set_pin.3, - doc/manpages/gnutls_pkcs11_type_get_name.3, - doc/manpages/gnutls_pkcs12_bag_decrypt.3, - doc/manpages/gnutls_pkcs12_bag_deinit.3, - doc/manpages/gnutls_pkcs12_bag_encrypt.3, - doc/manpages/gnutls_pkcs12_bag_get_count.3, - doc/manpages/gnutls_pkcs12_bag_get_data.3, - doc/manpages/gnutls_pkcs12_bag_get_friendly_name.3, - doc/manpages/gnutls_pkcs12_bag_get_key_id.3, - doc/manpages/gnutls_pkcs12_bag_get_type.3, - doc/manpages/gnutls_pkcs12_bag_init.3, - doc/manpages/gnutls_pkcs12_bag_set_crl.3, - doc/manpages/gnutls_pkcs12_bag_set_crt.3, - doc/manpages/gnutls_pkcs12_bag_set_data.3, - doc/manpages/gnutls_pkcs12_bag_set_friendly_name.3, - doc/manpages/gnutls_pkcs12_bag_set_key_id.3, - doc/manpages/gnutls_pkcs12_deinit.3, - doc/manpages/gnutls_pkcs12_export.3, - doc/manpages/gnutls_pkcs12_generate_mac.3, - doc/manpages/gnutls_pkcs12_get_bag.3, - doc/manpages/gnutls_pkcs12_import.3, - doc/manpages/gnutls_pkcs12_init.3, - doc/manpages/gnutls_pkcs12_set_bag.3, - doc/manpages/gnutls_pkcs12_verify_mac.3, - doc/manpages/gnutls_pkcs7_deinit.3, - doc/manpages/gnutls_pkcs7_delete_crl.3, - doc/manpages/gnutls_pkcs7_delete_crt.3, - doc/manpages/gnutls_pkcs7_export.3, - doc/manpages/gnutls_pkcs7_get_crl_count.3, - doc/manpages/gnutls_pkcs7_get_crl_raw.3, - doc/manpages/gnutls_pkcs7_get_crt_count.3, - doc/manpages/gnutls_pkcs7_get_crt_raw.3, - doc/manpages/gnutls_pkcs7_import.3, - doc/manpages/gnutls_pkcs7_init.3, - doc/manpages/gnutls_pkcs7_set_crl.3, - doc/manpages/gnutls_pkcs7_set_crl_raw.3, - doc/manpages/gnutls_pkcs7_set_crt.3, - doc/manpages/gnutls_pkcs7_set_crt_raw.3, doc/manpages/gnutls_prf.3, - doc/manpages/gnutls_prf_raw.3, - doc/manpages/gnutls_priority_deinit.3, - doc/manpages/gnutls_priority_init.3, - doc/manpages/gnutls_priority_set.3, - doc/manpages/gnutls_priority_set_direct.3, - doc/manpages/gnutls_privkey_decrypt_data.3, - doc/manpages/gnutls_privkey_deinit.3, - doc/manpages/gnutls_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_privkey_get_type.3, - doc/manpages/gnutls_privkey_import_ext.3, - doc/manpages/gnutls_privkey_import_openpgp.3, - doc/manpages/gnutls_privkey_import_pkcs11.3, - doc/manpages/gnutls_privkey_import_x509.3, - doc/manpages/gnutls_privkey_init.3, - doc/manpages/gnutls_privkey_sign_data.3, - doc/manpages/gnutls_privkey_sign_hash.3, - doc/manpages/gnutls_protocol_get_id.3, - doc/manpages/gnutls_protocol_get_name.3, - doc/manpages/gnutls_protocol_get_version.3, - doc/manpages/gnutls_protocol_list.3, - doc/manpages/gnutls_protocol_set_priority.3, - doc/manpages/gnutls_psk_allocate_client_credentials.3, - doc/manpages/gnutls_psk_allocate_server_credentials.3, - doc/manpages/gnutls_psk_client_get_hint.3, - doc/manpages/gnutls_psk_free_client_credentials.3, - doc/manpages/gnutls_psk_free_server_credentials.3, - doc/manpages/gnutls_psk_server_get_username.3, - doc/manpages/gnutls_psk_set_client_credentials.3, - doc/manpages/gnutls_psk_set_params_function.3, - doc/manpages/gnutls_psk_set_server_credentials_file.3, - doc/manpages/gnutls_psk_set_server_credentials_hint.3, - doc/manpages/gnutls_psk_set_server_dh_params.3, - doc/manpages/gnutls_psk_set_server_params_function.3, - doc/manpages/gnutls_pubkey_deinit.3, - doc/manpages/gnutls_pubkey_export.3, - doc/manpages/gnutls_pubkey_get_key_id.3, - doc/manpages/gnutls_pubkey_get_key_usage.3, - doc/manpages/gnutls_pubkey_get_openpgp_key_id.3, - doc/manpages/gnutls_pubkey_get_pk_algorithm.3, - doc/manpages/gnutls_pubkey_get_pk_dsa_raw.3, - doc/manpages/gnutls_pubkey_get_pk_ecc_raw.3, - doc/manpages/gnutls_pubkey_get_pk_ecc_x962.3, - doc/manpages/gnutls_pubkey_get_pk_rsa_raw.3, - doc/manpages/gnutls_pubkey_get_preferred_hash_algorithm.3, - doc/manpages/gnutls_pubkey_get_verify_algorithm.3, - doc/manpages/gnutls_pubkey_import.3, - doc/manpages/gnutls_pubkey_import_dsa_raw.3, - doc/manpages/gnutls_pubkey_import_ecc_raw.3, - doc/manpages/gnutls_pubkey_import_ecc_x962.3, - doc/manpages/gnutls_pubkey_import_openpgp.3, - doc/manpages/gnutls_pubkey_import_pkcs11.3, - doc/manpages/gnutls_pubkey_import_pkcs11_url.3, - doc/manpages/gnutls_pubkey_import_privkey.3, - doc/manpages/gnutls_pubkey_import_rsa_raw.3, - doc/manpages/gnutls_pubkey_import_x509.3, - doc/manpages/gnutls_pubkey_init.3, - doc/manpages/gnutls_pubkey_set_key_usage.3, - doc/manpages/gnutls_pubkey_verify_data.3, - doc/manpages/gnutls_pubkey_verify_data2.3, - doc/manpages/gnutls_pubkey_verify_hash.3, - doc/manpages/gnutls_record_check_pending.3, - doc/manpages/gnutls_record_disable_padding.3, - doc/manpages/gnutls_record_get_direction.3, - doc/manpages/gnutls_record_get_discarded.3, - doc/manpages/gnutls_record_get_max_size.3, - doc/manpages/gnutls_record_recv.3, - doc/manpages/gnutls_record_recv_seq.3, - doc/manpages/gnutls_record_send.3, - doc/manpages/gnutls_record_set_max_size.3, - doc/manpages/gnutls_rehandshake.3, doc/manpages/gnutls_rnd.3, - doc/manpages/gnutls_rsa_export_get_modulus_bits.3, - doc/manpages/gnutls_rsa_export_get_pubkey.3, - doc/manpages/gnutls_rsa_params_cpy.3, - doc/manpages/gnutls_rsa_params_deinit.3, - doc/manpages/gnutls_rsa_params_export_pkcs1.3, - doc/manpages/gnutls_rsa_params_export_raw.3, - doc/manpages/gnutls_rsa_params_generate2.3, - doc/manpages/gnutls_rsa_params_import_pkcs1.3, - doc/manpages/gnutls_rsa_params_import_raw.3, - doc/manpages/gnutls_rsa_params_init.3, - doc/manpages/gnutls_safe_renegotiation_status.3, - doc/manpages/gnutls_sec_param_get_name.3, - doc/manpages/gnutls_sec_param_to_pk_bits.3, - doc/manpages/gnutls_server_name_get.3, - doc/manpages/gnutls_server_name_set.3, - doc/manpages/gnutls_session_channel_binding.3, - doc/manpages/gnutls_session_enable_compatibility_mode.3, - doc/manpages/gnutls_session_get_data.3, - doc/manpages/gnutls_session_get_data2.3, - doc/manpages/gnutls_session_get_id.3, - doc/manpages/gnutls_session_get_ptr.3, - doc/manpages/gnutls_session_is_resumed.3, - doc/manpages/gnutls_session_set_data.3, - doc/manpages/gnutls_session_set_ptr.3, - doc/manpages/gnutls_session_ticket_enable_client.3, - doc/manpages/gnutls_session_ticket_enable_server.3, - doc/manpages/gnutls_session_ticket_key_generate.3, - doc/manpages/gnutls_set_default_export_priority.3, - doc/manpages/gnutls_set_default_priority.3, - doc/manpages/gnutls_sign_algorithm_get_requested.3, - doc/manpages/gnutls_sign_callback_get.3, - doc/manpages/gnutls_sign_callback_set.3, - doc/manpages/gnutls_sign_get_id.3, - doc/manpages/gnutls_sign_get_name.3, - doc/manpages/gnutls_sign_list.3, - doc/manpages/gnutls_srp_allocate_client_credentials.3, - doc/manpages/gnutls_srp_allocate_server_credentials.3, - doc/manpages/gnutls_srp_base64_decode.3, - doc/manpages/gnutls_srp_base64_decode_alloc.3, - doc/manpages/gnutls_srp_base64_encode.3, - doc/manpages/gnutls_srp_base64_encode_alloc.3, - doc/manpages/gnutls_srp_free_client_credentials.3, - doc/manpages/gnutls_srp_free_server_credentials.3, - doc/manpages/gnutls_srp_server_get_username.3, - doc/manpages/gnutls_srp_set_client_credentials.3, - doc/manpages/gnutls_srp_set_prime_bits.3, - doc/manpages/gnutls_srp_set_server_credentials_file.3, - doc/manpages/gnutls_srp_verifier.3, doc/manpages/gnutls_strerror.3, - doc/manpages/gnutls_strerror_name.3, - doc/manpages/gnutls_supplemental_get_name.3, - doc/manpages/gnutls_transport_get_ptr.3, - doc/manpages/gnutls_transport_get_ptr2.3, - doc/manpages/gnutls_transport_set_errno.3, - doc/manpages/gnutls_transport_set_errno_function.3, - doc/manpages/gnutls_transport_set_ptr.3, - doc/manpages/gnutls_transport_set_ptr2.3, - doc/manpages/gnutls_transport_set_pull_function.3, - doc/manpages/gnutls_transport_set_pull_timeout_function.3, - doc/manpages/gnutls_transport_set_push_function.3, - doc/manpages/gnutls_transport_set_vec_push_function.3, - doc/manpages/gnutls_x509_crl_check_issuer.3, - doc/manpages/gnutls_x509_crl_deinit.3, - doc/manpages/gnutls_x509_crl_export.3, - doc/manpages/gnutls_x509_crl_get_authority_key_id.3, - doc/manpages/gnutls_x509_crl_get_crt_count.3, - doc/manpages/gnutls_x509_crl_get_crt_serial.3, - doc/manpages/gnutls_x509_crl_get_dn_oid.3, - doc/manpages/gnutls_x509_crl_get_extension_data.3, - doc/manpages/gnutls_x509_crl_get_extension_info.3, - doc/manpages/gnutls_x509_crl_get_extension_oid.3, - doc/manpages/gnutls_x509_crl_get_issuer_dn.3, - doc/manpages/gnutls_x509_crl_get_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crl_get_next_update.3, - doc/manpages/gnutls_x509_crl_get_number.3, - doc/manpages/gnutls_x509_crl_get_raw_issuer_dn.3, - doc/manpages/gnutls_x509_crl_get_signature.3, - doc/manpages/gnutls_x509_crl_get_signature_algorithm.3, - doc/manpages/gnutls_x509_crl_get_this_update.3, - doc/manpages/gnutls_x509_crl_get_version.3, - doc/manpages/gnutls_x509_crl_import.3, - doc/manpages/gnutls_x509_crl_init.3, - doc/manpages/gnutls_x509_crl_list_import.3, - doc/manpages/gnutls_x509_crl_list_import2.3, - doc/manpages/gnutls_x509_crl_print.3, - doc/manpages/gnutls_x509_crl_privkey_sign.3, - doc/manpages/gnutls_x509_crl_set_authority_key_id.3, - doc/manpages/gnutls_x509_crl_set_crt.3, - doc/manpages/gnutls_x509_crl_set_crt_serial.3, - doc/manpages/gnutls_x509_crl_set_next_update.3, - doc/manpages/gnutls_x509_crl_set_number.3, - doc/manpages/gnutls_x509_crl_set_this_update.3, - doc/manpages/gnutls_x509_crl_set_version.3, - doc/manpages/gnutls_x509_crl_sign.3, - doc/manpages/gnutls_x509_crl_sign2.3, - doc/manpages/gnutls_x509_crl_verify.3, - doc/manpages/gnutls_x509_crq_deinit.3, - doc/manpages/gnutls_x509_crq_export.3, - doc/manpages/gnutls_x509_crq_get_attribute_by_oid.3, - doc/manpages/gnutls_x509_crq_get_attribute_data.3, - doc/manpages/gnutls_x509_crq_get_attribute_info.3, - doc/manpages/gnutls_x509_crq_get_basic_constraints.3, - doc/manpages/gnutls_x509_crq_get_challenge_password.3, - doc/manpages/gnutls_x509_crq_get_dn.3, - doc/manpages/gnutls_x509_crq_get_dn_by_oid.3, - doc/manpages/gnutls_x509_crq_get_dn_oid.3, - doc/manpages/gnutls_x509_crq_get_extension_by_oid.3, - doc/manpages/gnutls_x509_crq_get_extension_data.3, - doc/manpages/gnutls_x509_crq_get_extension_info.3, - doc/manpages/gnutls_x509_crq_get_key_id.3, - doc/manpages/gnutls_x509_crq_get_key_purpose_oid.3, - doc/manpages/gnutls_x509_crq_get_key_rsa_raw.3, - doc/manpages/gnutls_x509_crq_get_key_usage.3, - doc/manpages/gnutls_x509_crq_get_pk_algorithm.3, - doc/manpages/gnutls_x509_crq_get_subject_alt_name.3, - doc/manpages/gnutls_x509_crq_get_subject_alt_othername_oid.3, - doc/manpages/gnutls_x509_crq_get_version.3, - doc/manpages/gnutls_x509_crq_import.3, - doc/manpages/gnutls_x509_crq_init.3, - doc/manpages/gnutls_x509_crq_print.3, - doc/manpages/gnutls_x509_crq_privkey_sign.3, - doc/manpages/gnutls_x509_crq_set_attribute_by_oid.3, - doc/manpages/gnutls_x509_crq_set_basic_constraints.3, - doc/manpages/gnutls_x509_crq_set_challenge_password.3, - doc/manpages/gnutls_x509_crq_set_dn_by_oid.3, - doc/manpages/gnutls_x509_crq_set_key.3, - doc/manpages/gnutls_x509_crq_set_key_purpose_oid.3, - doc/manpages/gnutls_x509_crq_set_key_rsa_raw.3, - doc/manpages/gnutls_x509_crq_set_key_usage.3, - doc/manpages/gnutls_x509_crq_set_pubkey.3, - doc/manpages/gnutls_x509_crq_set_subject_alt_name.3, - doc/manpages/gnutls_x509_crq_set_version.3, - doc/manpages/gnutls_x509_crq_sign.3, - doc/manpages/gnutls_x509_crq_sign2.3, - doc/manpages/gnutls_x509_crq_verify.3, - doc/manpages/gnutls_x509_crt_check_hostname.3, - doc/manpages/gnutls_x509_crt_check_issuer.3, - doc/manpages/gnutls_x509_crt_check_revocation.3, - doc/manpages/gnutls_x509_crt_cpy_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_deinit.3, - doc/manpages/gnutls_x509_crt_export.3, - doc/manpages/gnutls_x509_crt_get_activation_time.3, - doc/manpages/gnutls_x509_crt_get_authority_info_access.3, - doc/manpages/gnutls_x509_crt_get_authority_key_id.3, - doc/manpages/gnutls_x509_crt_get_basic_constraints.3, - doc/manpages/gnutls_x509_crt_get_ca_status.3, - doc/manpages/gnutls_x509_crt_get_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_get_dn.3, - doc/manpages/gnutls_x509_crt_get_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_get_dn_oid.3, - doc/manpages/gnutls_x509_crt_get_expiration_time.3, - doc/manpages/gnutls_x509_crt_get_extension_by_oid.3, - doc/manpages/gnutls_x509_crt_get_extension_data.3, - doc/manpages/gnutls_x509_crt_get_extension_info.3, - doc/manpages/gnutls_x509_crt_get_extension_oid.3, - doc/manpages/gnutls_x509_crt_get_fingerprint.3, - doc/manpages/gnutls_x509_crt_get_issuer.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_name.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_name2.3, - doc/manpages/gnutls_x509_crt_get_issuer_alt_othername_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_dn_oid.3, - doc/manpages/gnutls_x509_crt_get_issuer_unique_id.3, - doc/manpages/gnutls_x509_crt_get_key_id.3, - doc/manpages/gnutls_x509_crt_get_key_purpose_oid.3, - doc/manpages/gnutls_x509_crt_get_key_usage.3, - doc/manpages/gnutls_x509_crt_get_pk_algorithm.3, - doc/manpages/gnutls_x509_crt_get_pk_dsa_raw.3, - doc/manpages/gnutls_x509_crt_get_pk_rsa_raw.3, - doc/manpages/gnutls_x509_crt_get_preferred_hash_algorithm.3, - doc/manpages/gnutls_x509_crt_get_proxy.3, - doc/manpages/gnutls_x509_crt_get_raw_dn.3, - doc/manpages/gnutls_x509_crt_get_raw_issuer_dn.3, - doc/manpages/gnutls_x509_crt_get_serial.3, - doc/manpages/gnutls_x509_crt_get_signature.3, - doc/manpages/gnutls_x509_crt_get_signature_algorithm.3, - doc/manpages/gnutls_x509_crt_get_subject.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_name.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_name2.3, - doc/manpages/gnutls_x509_crt_get_subject_alt_othername_oid.3, - doc/manpages/gnutls_x509_crt_get_subject_key_id.3, - doc/manpages/gnutls_x509_crt_get_subject_unique_id.3, - doc/manpages/gnutls_x509_crt_get_verify_algorithm.3, - doc/manpages/gnutls_x509_crt_get_version.3, - doc/manpages/gnutls_x509_crt_import.3, - doc/manpages/gnutls_x509_crt_import_pkcs11.3, - doc/manpages/gnutls_x509_crt_import_pkcs11_url.3, - doc/manpages/gnutls_x509_crt_init.3, - doc/manpages/gnutls_x509_crt_list_import.3, - doc/manpages/gnutls_x509_crt_list_import2.3, - doc/manpages/gnutls_x509_crt_list_import_pkcs11.3, - doc/manpages/gnutls_x509_crt_list_verify.3, - doc/manpages/gnutls_x509_crt_print.3, - doc/manpages/gnutls_x509_crt_privkey_sign.3, - doc/manpages/gnutls_x509_crt_set_activation_time.3, - doc/manpages/gnutls_x509_crt_set_authority_key_id.3, - doc/manpages/gnutls_x509_crt_set_basic_constraints.3, - doc/manpages/gnutls_x509_crt_set_ca_status.3, - doc/manpages/gnutls_x509_crt_set_crl_dist_points.3, - doc/manpages/gnutls_x509_crt_set_crl_dist_points2.3, - doc/manpages/gnutls_x509_crt_set_crq.3, - doc/manpages/gnutls_x509_crt_set_crq_extensions.3, - doc/manpages/gnutls_x509_crt_set_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_set_expiration_time.3, - doc/manpages/gnutls_x509_crt_set_extension_by_oid.3, - doc/manpages/gnutls_x509_crt_set_issuer_dn_by_oid.3, - doc/manpages/gnutls_x509_crt_set_key.3, - doc/manpages/gnutls_x509_crt_set_key_purpose_oid.3, - doc/manpages/gnutls_x509_crt_set_key_usage.3, - doc/manpages/gnutls_x509_crt_set_proxy.3, - doc/manpages/gnutls_x509_crt_set_proxy_dn.3, - doc/manpages/gnutls_x509_crt_set_pubkey.3, - doc/manpages/gnutls_x509_crt_set_serial.3, - doc/manpages/gnutls_x509_crt_set_subject_alt_name.3, - doc/manpages/gnutls_x509_crt_set_subject_alternative_name.3, - doc/manpages/gnutls_x509_crt_set_subject_key_id.3, - doc/manpages/gnutls_x509_crt_set_version.3, - doc/manpages/gnutls_x509_crt_sign.3, - doc/manpages/gnutls_x509_crt_sign2.3, - doc/manpages/gnutls_x509_crt_verify.3, - doc/manpages/gnutls_x509_crt_verify_data.3, - doc/manpages/gnutls_x509_crt_verify_hash.3, - doc/manpages/gnutls_x509_dn_deinit.3, - doc/manpages/gnutls_x509_dn_export.3, - doc/manpages/gnutls_x509_dn_get_rdn_ava.3, - doc/manpages/gnutls_x509_dn_import.3, - doc/manpages/gnutls_x509_dn_init.3, - doc/manpages/gnutls_x509_dn_oid_known.3, - doc/manpages/gnutls_x509_privkey_cpy.3, - doc/manpages/gnutls_x509_privkey_deinit.3, - doc/manpages/gnutls_x509_privkey_export.3, - doc/manpages/gnutls_x509_privkey_export_dsa_raw.3, - doc/manpages/gnutls_x509_privkey_export_ecc_raw.3, - doc/manpages/gnutls_x509_privkey_export_pkcs8.3, - doc/manpages/gnutls_x509_privkey_export_rsa_raw.3, - doc/manpages/gnutls_x509_privkey_export_rsa_raw2.3, - doc/manpages/gnutls_x509_privkey_fix.3, - doc/manpages/gnutls_x509_privkey_generate.3, - doc/manpages/gnutls_x509_privkey_get_key_id.3, - doc/manpages/gnutls_x509_privkey_get_pk_algorithm.3, - doc/manpages/gnutls_x509_privkey_import.3, - doc/manpages/gnutls_x509_privkey_import_dsa_raw.3, - doc/manpages/gnutls_x509_privkey_import_ecc_raw.3, - doc/manpages/gnutls_x509_privkey_import_pkcs8.3, - doc/manpages/gnutls_x509_privkey_import_rsa_raw.3, - doc/manpages/gnutls_x509_privkey_import_rsa_raw2.3, - doc/manpages/gnutls_x509_privkey_init.3, - doc/manpages/gnutls_x509_privkey_sec_param.3, - doc/manpages/gnutls_x509_privkey_sign_data.3, - doc/manpages/gnutls_x509_privkey_sign_hash.3, - doc/manpages/gnutls_x509_privkey_verify_params.3, - doc/manpages/gnutls_x509_rdn_get.3, - doc/manpages/gnutls_x509_rdn_get_by_oid.3, - doc/manpages/gnutls_x509_rdn_get_oid.3, - doc/manpages/gnutls_x509_trust_list_add_cas.3, - doc/manpages/gnutls_x509_trust_list_add_crls.3, - doc/manpages/gnutls_x509_trust_list_add_named_crt.3, - doc/manpages/gnutls_x509_trust_list_deinit.3, - doc/manpages/gnutls_x509_trust_list_get_issuer.3, - doc/manpages/gnutls_x509_trust_list_init.3, - doc/manpages/gnutls_x509_trust_list_verify_crt.3, - doc/manpages/gnutls_x509_trust_list_verify_named_crt.3, - doc/scripts/getfuncs.pl, lib/gnutls_cert.c, lib/gnutls_str.c: Added - a more robust manpage generation method. - -2011-11-19 Nikos Mavrogiannopoulos - - * doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c: - updated/fixed SRP and PSK examples. - -2011-11-18 Nikos Mavrogiannopoulos - - * lib/auth/cert.c: updated client certificate signature algorithm - indication, to allow holding 3 algorithms. - -2011-11-17 Nikos Mavrogiannopoulos - - * cfg.mk: use texi2html to generate documentation - -2011-11-17 Nikos Mavrogiannopoulos - - * doc/scripts/gdoc: corrected texinfo and manpage generation of - documentation. - -2011-11-17 Nikos Mavrogiannopoulos - - * lib/gnutls_record.c: count all discarded packets as dropped. - -2011-11-15 Martin Storsjo - - * extra/Makefile.am, lib/Makefile.am: Add dependencies from the def - files to the libraries that generate them This avoids build failures in parallel builds, where builds could - fail with this error message: make[2]: *** No rule to make target `libgnutls-26.def', needed by - `all-am'. Stop. There is no direct rules that generate it, but it is generated as a - byproduct when building libgnutls.la. By marking the la file as a - dependency, make won't bail out by not finding the file until that - dependency is built, and at that point, the def file exists. Signed-off-by: Simon Josefsson - -2011-11-13 Nikos Mavrogiannopoulos +2013-12-30 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-auth.texi, doc/cha-cert-auth.texi, - doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi, - doc/cha-gtls-examples.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, doc/cha-shared-key.texi, doc/gnutls.texi, - doc/latex/.gitignore, doc/latex/Makefile.am, doc/latex/gnutls.tex, - doc/scripts/mytexi2latex: reorganized documentation - -2011-11-13 Nikos Mavrogiannopoulos - - * lib/accelerated/x86/asm-coff/appro-aes-x86-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s, - lib/accelerated/x86/asm-coff/padlock-x86-coff.s, - lib/accelerated/x86/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: Commited new assembler files. - -2011-11-13 Nikos Mavrogiannopoulos - - * cfg.mk, devel/perlasm/aesni-x86.pl, - devel/perlasm/aesni-x86_64.pl, devel/perlasm/cbc.pl, - devel/perlasm/cpuid-x86.pl, devel/perlasm/cpuid-x86_64.pl, - devel/perlasm/e_padlock-x86.pl, devel/perlasm/e_padlock-x86_64.pl, - devel/perlasm/ghash-x86.pl, devel/perlasm/ghash-x86_64.pl, - devel/perlasm/license-gnutls.txt, devel/perlasm/license.txt, - devel/perlasm/ppc-xlate.pl, devel/perlasm/readme, - devel/perlasm/x86_64-xlate.pl, devel/perlasm/x86asm.pl, - devel/perlasm/x86gas.pl, devel/perlasm/x86masm.pl, - devel/perlasm/x86nasm.pl: Added rules to auto-generate the assembler - files. + * NEWS: doc update -2011-11-12 Nikos Mavrogiannopoulos +2013-12-29 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * tests/resume-dtls.c, tests/resume.c: resume tests will not block + if they fail + +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Nikos Mavrogiannopoulos + * lib/gnutls_global.c: moved constructor definitions to macros to + allow easier extensions to other systems. - * doc/cha-cert-auth.texi: updated +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Nikos Mavrogiannopoulos + * tests/rng-fork.c: perform the iteration check on both rngs. - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-programs.texi, - doc/gnutls.texi: Tools are discussed in the relevant chapters and - sections. +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Nikos Mavrogiannopoulos + * tests/suppressions.valgrind: Add suppression for nettle's memxor3 - * NEWS: released 3.0.8 +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Simon Josefsson + * NEWS: doc update - * configure.ac: Add tests/slow/Makfile and sort config files. +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Simon Josefsson + * tests/mini-dtls-record.c: updated - * cfg.mk: Fix wordwrap. +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Simon Josefsson + * lib/ext/dumbfw.c, lib/ext/dumbfw.h: adapt padding size based on + the current size of the client hello. - * lib/x509/verify-high.c, lib/x509/verify-high.h: Don't export - verify-high structs internally. +2013-12-29 Nikos Mavrogiannopoulos -2011-11-12 Nikos Mavrogiannopoulos + * lib/ext/dumbfw.c: doc update - * cfg.mk: document the gpl modules used by gnulib +2013-12-28 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/ext/dumbfw.c: do not pad when the client hello size is + sufficiently small. - * tests/Makefile.am, tests/gendh.c, tests/keygen.c, - tests/slow/Makefile.am, tests/slow/README, tests/slow/gendh.c, - tests/slow/keygen.c: slow tests are not being run using valgrind +2013-12-28 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/ext/dumbfw.c, lib/gnutls_extensions.c: do not send the dumbfw + padding if the hello data are already too long. - * tests/ecdsa/Makefile.am: distribute pem file +2013-12-28 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/Makefile.am: export only xssl symbols; small patch by Andreas + Metzler. - * tests/ecdsa/bad-key.pem, tests/ecdsa/ecdsa: Added test to detect a - wrong ECDSA key. +2013-12-26 Gustavo Zacarias -2011-11-11 Nikos Mavrogiannopoulos + * src/crywrap/Makefile.am: Add LIB_CLOCK_GETTIME to crywrap It's used indirectly thus causing build breakage on versions of + glibc where it's defined in librt rather than libc directly. Signed-off-by: Gustavo Zacarias - * lib/gnutls_errors.h, lib/gnutls_int.h: define likely() and - unlikely() and use them to prevent debugging code from being - prioritized in branch prediction. +2013-12-25 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: limit the size of the DH exponent - * .gitignore: more files to ignore +2013-12-25 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: unified constants - * NEWS, m4/hooks.m4: bumped library version and documented updates. +2013-12-25 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * tests/fips-test.c: Do not run the fips-test when not in fips mode - * lib/crypto-backend.h, lib/gnutls_errors.c, lib/gnutls_pk.c, - lib/gnutls_pk.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/x509.h, lib/libgnutls.map, lib/nettle/pk.c, - lib/x509/privkey.c, src/certtool.c, tests/Makefile.am, - tests/keygen.c: Added gnutls_x509_privkey_verify_params() which - verifies the parameters of a private key. Added test case for - private key generation. +2013-12-25 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/ext/session_ticket.c, lib/ext/status_request.c, + lib/gnutls_handshake.c, lib/gnutls_kx.c, lib/gnutls_mbuffers.h: + simplified gnutls_handshake_alloc - * src/certtool-cfg.c, src/certtool-common.c, src/certtool.c, - src/psk.c, src/srptool.c, src/tests.c, src/tls_test.c: simplified - copyright years. +2013-12-23 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * lib/pkcs11_write.c: do not specify a default class when searching + for objects to delete This fixed issue when trying to delete all the keys in a token by + using the token URL. - * configure.ac, m4/hooks.m4: bumped library versions +2013-12-23 Nikos Mavrogiannopoulos -2011-11-11 Nikos Mavrogiannopoulos + * src/p11tool-args.def, src/p11tool.c, src/pkcs11.c: Added so-login + flag to force security office login to the card - * doc/cha-cert-auth.texi, doc/scripts/mytexi2latex, - lib/x509/crl_write.c: Added documentation on revocation lists. +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * src/pkcs11.c: updated txt - * tests/suite/chain: account for error code 1 in certtool. +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * src/pkcs11.c: print warning when no token name is provided - * NEWS: document updates +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * lib/x509/common.c: Added userPrincipalName - * lib/gnutls_cipher.c: Reduce pad. +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * libdane/dane.c: pass the correct flag to dane_verify_crt_raw() That doesn't affect anything but logical correctness, as the + parameter is ignored. - * configure.ac: added missing dir +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * src/cli.c: corrected key ID size check - * lib/gnutls_int.h, lib/gnutls_record.c: Revert "periodically print - messages that might be used in timing attacks." This reverts commit a333d71762903ff5b716d1e3967017b1baf61bd2. +2013-12-23 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * configure.ac: Ported Alon's patch to correctly check for librt (et + al.) This also makes clock_gettime() check independent of the FIPS140 + option. - * lib/gnutls_state.c: Revert "dropped packets are also reported on - gnutls_deinit() to ensure that they are not lost." This reverts commit 41a73fb4a147dc4773d4b546d5d8b5cfdae255d9. +2013-12-22 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * src/p11tool-args.def: Added aliases list-privkeys and list-keys - * NEWS: updated +2013-12-21 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * lib/system.c: undefine select as well in win32 - * lib/gnutls_cipher.c: provide less timing information during packet - MAC verification. +2013-12-21 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * tests/mini-dtls-large.c, tests/mini-dtls-record.c, + tests/mini-handshake-timeout.c: corrected some tests to operate + silently under valgrind - * tests/ecdsa/ecdsa: silence test +2013-12-21 Nikos Mavrogiannopoulos -2011-11-10 Nikos Mavrogiannopoulos + * tests/mpi.c, tests/x509cert-tl.c: corrected leaks - * lib/crypto-backend.h, lib/gnutls_ecc.c, lib/gnutls_pubkey.c, - lib/nettle/pk.c, lib/pkcs11_write.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/privkey.c: Corrected ECC key - generation. +2013-12-21 Nikos Mavrogiannopoulos + + * lib/system.c: do not use the gnulib wrappers in win32 + +2013-12-21 Nikos Mavrogiannopoulos + + * src/cli-debug.c, src/cli.c, src/common.h, src/serv.c: explicitly + set the gnulib functions for recv and send. + +2013-12-21 Nikos Mavrogiannopoulos + + * lib/accelerated/x86/elf/cpuid-x86_64.s: updated + +2013-12-21 Nikos Mavrogiannopoulos + + * tests/Makefile.am: corrected running tests over valgrind It seems that some autotools change has prevented that for some + time. + +2013-12-21 Nikos Mavrogiannopoulos + + * tests/x509cert-tl.c: corrected check + +2013-12-21 Nikos Mavrogiannopoulos + + * lib/x509/verify-high.c: removed debugging -2011-11-10 Nikos Mavrogiannopoulos +2013-12-21 Nikos Mavrogiannopoulos - * src/certtool.c: fail on certificate verification + * tests/pkcs12_s2k.c: corrected paths -2011-11-10 Nikos Mavrogiannopoulos +2013-12-21 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/ecdsa/Makefile.am, tests/ecdsa/ecdsa: - Added ECDSA key generation, signing and verification tests. + * lib/pkcs11_int.c, lib/pkcs11_int.h, lib/pkcs11_write.c: + pkcs11_get_random was renamed -2011-11-10 Nikos Mavrogiannopoulos +2013-12-21 Nikos Mavrogiannopoulos - * src/certtool.c: verify the self signature of a CRQ when --crq-info - parameter is given. + * lib/accelerated/x86/coff/aes-ssse3-x86.s, + lib/accelerated/x86/coff/aes-ssse3-x86_64.s, + lib/accelerated/x86/coff/aesni-x86.s, + lib/accelerated/x86/coff/aesni-x86_64.s, + lib/accelerated/x86/coff/cpuid-x86.s, + lib/accelerated/x86/coff/cpuid-x86_64.s, + lib/accelerated/x86/coff/e_padlock-x86.s, + lib/accelerated/x86/coff/e_padlock-x86_64.s, + lib/accelerated/x86/coff/ghash-x86_64.s, + lib/accelerated/x86/coff/sha1-ssse3-x86.s, + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s, + lib/accelerated/x86/coff/sha256-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s, + lib/accelerated/x86/elf/aes-ssse3-x86.s, + lib/accelerated/x86/elf/aes-ssse3-x86_64.s, + lib/accelerated/x86/elf/aesni-x86_64.s, + lib/accelerated/x86/elf/cpuid-x86_64.s, + lib/accelerated/x86/elf/e_padlock-x86.s, + lib/accelerated/x86/elf/e_padlock-x86_64.s, + lib/accelerated/x86/elf/ghash-x86_64.s, + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s, + lib/accelerated/x86/elf/sha256-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aes-ssse3-x86.s, + lib/accelerated/x86/macosx/aes-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aesni-x86.s, + lib/accelerated/x86/macosx/aesni-x86_64.s, + lib/accelerated/x86/macosx/cpuid-x86.s, + lib/accelerated/x86/macosx/cpuid-x86_64.s, + lib/accelerated/x86/macosx/e_padlock-x86.s, + lib/accelerated/x86/macosx/e_padlock-x86_64.s, + lib/accelerated/x86/macosx/ghash-x86_64.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s, + lib/accelerated/x86/macosx/sha256-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s: corrected + generated files -2011-11-10 Simon Josefsson +2013-12-21 Nikos Mavrogiannopoulos - * lib/x509/verify-high.h: Add verify-high.h, to export some structs - (for OCSP). + * cfg.mk: correctly generate asm sources -2011-11-10 Simon Josefsson +2013-12-21 Nikos Mavrogiannopoulos - * lib/algorithms.h, lib/algorithms/mac.c: Add explicit digest - mapping functions (for OCSP). + * cfg.mk: gnu note for stack only used in ELF -2011-11-10 Simon Josefsson +2013-12-21 Nikos Mavrogiannopoulos - * lib/x509/Makefile.am, lib/x509/verify-high.c: Make verify-high - structures internally accessible (for OCSP). + * lib/accelerated/x86/coff/openssl-cpuid-x86.s, + lib/accelerated/x86/coff/openssl-cpuid-x86_64.s, + lib/accelerated/x86/macosx/openssl-cpuid-x86.s, + lib/accelerated/x86/macosx/openssl-cpuid-x86_64.s: removed unused + files -2011-11-10 Simon Josefsson +2013-12-21 Nikos Mavrogiannopoulos - * lib/libgnutls.map: Indent. + * lib/Makefile.am, lib/accelerated/Makefile.am, + lib/accelerated/accelerated.c: Improved nettle check for + registration of accelerated ciphers. -2011-11-10 Simon Josefsson +2013-12-21 Nikos Mavrogiannopoulos - * lib/x509/common.c, lib/x509/common.h, lib/x509/extensions.c: Make - more functions available internally (for OCSP). + * lib/accelerated/x86/Makefile.am: use the correct sources in win32 + systems -2011-11-10 Simon Josefsson +2013-12-20 Nikos Mavrogiannopoulos - * lib/gnutls_str.c, lib/gnutls_str.h, lib/x509/output.c: Make - asciiprint a globally available function. + * lib/Makefile.am: simplified deps -2011-11-10 Simon Josefsson +2013-12-20 Nikos Mavrogiannopoulos - * .gitignore: Add. + * lib/Makefile.am: libtasn1 generated files are set in BUILT_SOURCES Conflicts: lib/Makefile.am -2011-11-10 Nikos Mavrogiannopoulos +2013-12-18 Nikos Mavrogiannopoulos - * lib/gnutls_state.c: dropped packets are also reported on - gnutls_deinit() to ensure that they are not lost. + * tests/suite/testdane: updated danetool -2011-11-10 Nikos Mavrogiannopoulos +2013-12-18 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/gnutls_record.c: periodically print messages - that might be used in timing attacks. + * lib/algorithms/ecc.c: changed default to 256R1 -2011-11-09 Nikos Mavrogiannopoulos +2013-12-18 Nikos Mavrogiannopoulos - * COPYING.LESSER, lib/COPYING: LGPLv3 license was moved to root. + * src/serv-args.def: doc update -2011-11-09 Simon Josefsson +2013-12-17 Nikos Mavrogiannopoulos - * configure.ac, doc/reference/gnutls-docs.sgml, - doc/reference/version.xml.in: Update gtk-doc template. + * lib/Makefile.am: the accelerated library is depending on nettle + being present -2011-11-09 Nikos Mavrogiannopoulos +2013-12-17 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: updated + * src/certtool-args.def: doc update -2011-11-09 Simon Josefsson +2013-12-17 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h: Remove redundant const keyword in - (confuses gtk-doc parser). + * doc/cha-tokens.texi: updated to account the file format p11-kit + expects -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * README-alpha: Mention libidn dependency for crywrap. + * NEWS: doc update -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: Don't crash if gnutls_pubkey_deinit is given - a NULL key. + * devel/openssl: restricted submodule to a specific version -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * lib/x509_b64.c, lib/x509_b64.h: Remove dead code and use more - static. + * .gitignore, cfg.mk: bootstrap will initialize the submodules -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * cfg.mk: Fix code coverage rules. + * lib/accelerated/x86/coff/aes-ssse3-x86_64.s, + lib/accelerated/x86/coff/aesni-x86_64.s, + lib/accelerated/x86/coff/e_padlock-x86_64.s, + lib/accelerated/x86/coff/ghash-x86_64.s, + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s, + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s, + lib/accelerated/x86/elf/aes-ssse3-x86_64.s, + lib/accelerated/x86/elf/aesni-x86_64.s, + lib/accelerated/x86/elf/e_padlock-x86_64.s, + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aes-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aesni-x86_64.s, + lib/accelerated/x86/macosx/e_padlock-x86_64.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s: Updated asm files -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * .gitignore: Ignore coverage related stuff. + * .gitmodules, devel/openssl, devel/perlasm/aes-ssse3-x86.pl, + devel/perlasm/aes-ssse3-x86_64.pl, devel/perlasm/aesni-x86.pl, + devel/perlasm/aesni-x86_64.pl, devel/perlasm/cbc.pl, + devel/perlasm/cbc.pl.license, devel/perlasm/e_padlock-x86.pl, + devel/perlasm/e_padlock-x86_64.pl, devel/perlasm/ghash-x86.pl, + devel/perlasm/ghash-x86_64.pl, devel/perlasm/openssl-cpuid-x86.pl, + devel/perlasm/openssl-cpuid-x86.pl.license, + devel/perlasm/ppc-xlate.pl, devel/perlasm/sha1-ssse3-x86.pl, + devel/perlasm/sha1-ssse3-x86_64.pl, + devel/perlasm/sha256-ssse3-x86.pl, + devel/perlasm/sha512-ssse3-x86.pl, + devel/perlasm/sha512-ssse3-x86_64.pl, + devel/perlasm/x86_64-xlate.pl, devel/perlasm/x86asm.pl, + devel/perlasm/x86gas.pl, devel/perlasm/x86masm.pl, + devel/perlasm/x86nasm.pl: Import perlasm files directly from openssl + using git submodule -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * configure.ac, lib/Makefile.am: Don't add p11-kit to CFLAGS/LIBS - globally, just where it is needed. + * NEWS: doc update -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * doc/cyclo/Makefile.am: The build rule didn't really work before, - now fixed. Update copyright years. + * configure.ac, lib/system.c: Added configure option + --with-default-blacklist-file This option allows to specify a file containing blacklisted + certificates. -2011-11-09 Simon Josefsson +2013-12-16 Nikos Mavrogiannopoulos - * .gitignore: Remove unneeded stuff. + * lib/x509/verify-high.c, lib/x509/verify-high2.c: + gnutls_x509_trust_list_remove_cas() and derivatives will utilize a + black list. When a CA or certificate is removed from the trusted list, it is + also added in a blacklist to ensure that it will not be accepted due + to interdependency (e.g., it is a subordinate CA), or because it is + not a CA. -2011-11-09 Nikos Mavrogiannopoulos +2013-12-16 Nikos Mavrogiannopoulos - * lib/debug.c: enable _gnutls_dump_mpi() when debugging. + * lib/x509/verify-high2.c: Corrected documentation for + gnutls_x509_trust_list_add_trust_* -2011-11-09 Nikos Mavrogiannopoulos +2013-12-16 Nikos Mavrogiannopoulos - * lib/debug.c, lib/debug.h: Revert "Remove dead code." This reverts commit e5d8a79fcc429902e8fb9b7cec91d66b965df5bb. + * lib/pkcs11.c: avoid initializing PKCS #11 modules when not needed + in gnutls_pkcs11_reinit. -2011-11-08 Nikos Mavrogiannopoulos +2013-12-16 Nikos Mavrogiannopoulos - * configure.ac, lib/Makefile.am, lib/gcrypt/Makefile.am, - lib/gcrypt/cipher.c, lib/gcrypt/init.c, lib/gcrypt/mac.c, - lib/gcrypt/mpi.c, lib/gcrypt/pk.c, lib/gcrypt/rnd.c: No need to - distribute the libgcrypt backend (which cannot even be compiled). + * lib/nettle/mac.c: Avoid verbose logging -2011-11-08 Nikos Mavrogiannopoulos +2013-12-15 Nikos Mavrogiannopoulos - * lib/accelerated/x86/README: updated to include padlock. + * lib/gnutls_int.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h: + use better definitions -2011-11-08 Nikos Mavrogiannopoulos +2013-12-15 Nikos Mavrogiannopoulos - * lib/nettle/cipher.c, lib/nettle/mac.c: release allocated memory on - a cipher or mac failure to initialize. + * tests/mini-cert-status.c: doc update -2011-11-08 Nikos Mavrogiannopoulos +2013-12-15 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: clarified usage of - gnutls_record_check_pending(). + * NEWS: doc update -2011-11-09 Simon Josefsson +2013-12-15 Nikos Mavrogiannopoulos - * lib/debug.c, lib/debug.h: Remove dead code. + * lib/algorithms.h, lib/algorithms/ciphers.c, lib/gnutls_buffers.c, + lib/gnutls_cipher.c, lib/gnutls_constate.c, lib/gnutls_dtls.c, + lib/gnutls_int.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, + lib/gnutls_record.c, lib/gnutls_record.h: Align on 16-byte + boundaries the buffers provided to cryptodev. When gnutls is compiled with support for cryptodev, the buffers + provided to crypto backend are ensured to be 16-byte aligned (except + the ones provided by the user). That increases performance in + several crypto accelerators. -2011-11-09 Simon Josefsson +2013-12-15 Nikos Mavrogiannopoulos - * .gitignore: Sort and add. + * tests/mini-dtls-large.c: updated to correspond to new fail() -2011-11-09 Simon Josefsson +2013-12-15 Nikos Mavrogiannopoulos - * lib/gnutls_db.c, lib/gnutls_db.h: Remove some redundant prototypes - and use more static. + * lib/gnutls_buffers.c, lib/gnutls_mbuffers.c, + lib/gnutls_mbuffers.h, lib/gnutls_record.c: simplified + _mbuffer_alloc -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * lib/gnutls_db.c, lib/gnutls_db.h: Simplify redundant code. + * lib/accelerated/accelerated.c, lib/accelerated/x86/Makefile.am, + lib/accelerated/x86/aes-cbc-x86-aesni.c, + lib/accelerated/x86/aes-cbc-x86-ssse3.c, + lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86-aesni.c, + lib/accelerated/x86/aes-gcm-x86-pclmul.c, + lib/accelerated/x86/aes-gcm-x86-ssse3.c, + lib/accelerated/x86/aes-padlock.c, + lib/accelerated/x86/aes-padlock.h, lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/aes-x86.h, lib/accelerated/x86/hmac-padlock.c, + lib/accelerated/x86/hmac-x86-ssse3.c, + lib/accelerated/x86/sha-padlock.c, + lib/accelerated/x86/sha-padlock.h, + lib/accelerated/x86/sha-x86-ssse3.c, lib/accelerated/x86/sha-x86.h, + lib/accelerated/x86/x86-common.c: reorganized source files. -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * build-aux/pmccabe2html, gl/Makefile.am, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4: Add pmccabe2html gnulib module. + * lib/accelerated/x86/Makefile.am, + lib/accelerated/x86/aes-gcm-x86-aesni.c, + lib/accelerated/x86/aes-x86.c, lib/accelerated/x86/aes-x86.h: when + AESNI is available without PCLMUL, then use AES-NI in GCM. -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * gl/override/lib/hmac-md5.c.diff, gl/override/lib/memxor.c.diff, - gl/override/lib/memxor.h.diff: Remove obsolete files. + * lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86-pclmul.c, + lib/accelerated/x86/aes-x86.c: addressed warning -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * configure.ac, gl/override/lib/read-file.c.diff, - gl/override/lib/read-file.h.diff, - gl/override/tests/test-read-file.c.diff, gl/read-file.c, - gl/read-file.h, gl/tests/test-read-file.c, lib/gnutls_x509.c, - lib/openpgp/gnutls_openpgp.c, src/certtool-common.c, - src/certtool.c, src/cli.c, src/crywrap/crywrap.c: Simplify static - library renaming hack. + * lib/accelerated/x86/aes-x86.c: give lower priority to SSSE3 over + AESNI -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * tests/suite/Makefile.am: Cleanup and fix authorship notice (I - didn't write this file). + * lib/accelerated/x86/Makefile.am, + lib/accelerated/x86/hmac-x86-ssse3.c, + lib/accelerated/x86/hmac-x86.c, + lib/accelerated/x86/sha-x86-ssse3.c, lib/accelerated/x86/sha-x86.c: + use better names for files -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * tests/dsa/testdsa, tests/openpgp-certs/testcerts, - tests/suite/testcompat-main, tests/suite/testsrn: Fix - srcdir!=builddir builds. + * lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86-pclmul.c, + lib/accelerated/x86/aes-gcm-x86-ssse3.c, + lib/accelerated/x86/aes-padlock.c, lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/hmac-padlock.c: zeroize keys -2011-11-09 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * Makefile.am: Allow distcheck to work, the suppressions.valgrind - file caused problems. + * lib/accelerated/x86/Makefile.am, + lib/accelerated/x86/aes-gcm-x86-pclmul.c, + lib/accelerated/x86/aes-gcm-x86-ssse3.c, + lib/accelerated/x86/aes-gcm-x86.c, lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/aes-x86.h, lib/accelerated/x86/hmac-x86.c, + lib/accelerated/x86/sha-x86.c, lib/accelerated/x86/sha-x86.h: When + PCLMUL isn't available use the SSSE3 implementation of AES to + optimize GCM. + +2013-12-14 Nikos Mavrogiannopoulos + + * src/benchmark-tls.c: removed UMAC ciphersuites from benchmark + +2013-12-14 Nikos Mavrogiannopoulos + + * src/benchmark-tls.c: removed the estream ciphersuites from + benchmarks + +2013-12-14 Nikos Mavrogiannopoulos + + * cfg.mk, devel/perlasm/aes-ssse3-x86.pl, + devel/perlasm/aes-ssse3-x86.pl.license, + devel/perlasm/aes-ssse3-x86_64.pl, + devel/perlasm/aes-ssse3-x86_64.pl.license, + devel/perlasm/aesni-x86.pl.license, + devel/perlasm/aesni-x86_64.pl.license, + devel/perlasm/cbc.pl.license, devel/perlasm/cpuid-x86.pl.license, + devel/perlasm/cpuid-x86_64.pl.license, + devel/perlasm/e_padlock-x86.pl.license, + devel/perlasm/e_padlock-x86_64.pl.license, + devel/perlasm/ghash-x86.pl.license, + devel/perlasm/ghash-x86_64.pl.license, + devel/perlasm/license-gnutls.txt, devel/perlasm/license-vpaes.txt, + devel/perlasm/license.txt, devel/perlasm/md5-x86_64.pl.license, + devel/perlasm/openssl-cpuid-x86.pl.license, + devel/perlasm/ppc-xlate.pl.license, + devel/perlasm/sha1-ssse3-x86.pl.license, + devel/perlasm/sha1-ssse3-x86_64.pl.license, + devel/perlasm/sha256-ssse3-x86.pl.license, + devel/perlasm/sha512-ssse3-x86.pl.license, + devel/perlasm/sha512-ssse3-x86_64.pl.license, + lib/accelerated/x86/aes-x86.c, lib/accelerated/x86/aes-x86.h, + lib/accelerated/x86/coff/aes-ssse3-x86.s, + lib/accelerated/x86/coff/aes-ssse3-x86_64.s, + lib/accelerated/x86/coff/aesni-x86.s, + lib/accelerated/x86/coff/aesni-x86_64.s, + lib/accelerated/x86/coff/cpuid-x86.s, + lib/accelerated/x86/coff/cpuid-x86_64.s, + lib/accelerated/x86/coff/e_padlock-x86.s, + lib/accelerated/x86/coff/e_padlock-x86_64.s, + lib/accelerated/x86/coff/ghash-x86_64.s, + lib/accelerated/x86/coff/sha1-ssse3-x86.s, + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s, + lib/accelerated/x86/coff/sha256-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s, + lib/accelerated/x86/elf/aes-ssse3-x86.s, + lib/accelerated/x86/elf/aes-ssse3-x86_64.s, + lib/accelerated/x86/elf/aesni-x86.s, + lib/accelerated/x86/elf/aesni-x86_64.s, + lib/accelerated/x86/elf/cpuid-x86.s, + lib/accelerated/x86/elf/cpuid-x86_64.s, + lib/accelerated/x86/elf/e_padlock-x86.s, + lib/accelerated/x86/elf/e_padlock-x86_64.s, + lib/accelerated/x86/elf/ghash-x86_64.s, + lib/accelerated/x86/elf/sha1-ssse3-x86.s, + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s, + lib/accelerated/x86/elf/sha256-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86_64.s, + lib/accelerated/x86/files.mk, lib/accelerated/x86/license.txt, + lib/accelerated/x86/macosx/aes-ssse3-x86.s, + lib/accelerated/x86/macosx/aes-ssse3-x86_64.s, + lib/accelerated/x86/macosx/aesni-x86.s, + lib/accelerated/x86/macosx/aesni-x86_64.s, + lib/accelerated/x86/macosx/cpuid-x86.s, + lib/accelerated/x86/macosx/cpuid-x86_64.s, + lib/accelerated/x86/macosx/e_padlock-x86.s, + lib/accelerated/x86/macosx/e_padlock-x86_64.s, + lib/accelerated/x86/macosx/ghash-x86_64.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s, + lib/accelerated/x86/macosx/sha256-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s: Added Mike + Hamburg's SSSE3 AES implementation. + +2013-12-14 Nikos Mavrogiannopoulos + + * doc/Makefile.am, doc/manpages/Makefile.am: doc update + +2013-12-14 Nikos Mavrogiannopoulos + + * cfg.mk, devel/perlasm/openssl-cpuid-x86.pl, + devel/perlasm/sha1-ssse3-x86.pl, + devel/perlasm/sha1-ssse3-x86_64.pl, + devel/perlasm/sha256-ssse3-x86.pl, + devel/perlasm/sha512-ssse3-x86.pl, + devel/perlasm/sha512-ssse3-x86_64.pl, + lib/accelerated/x86/Makefile.am, lib/accelerated/x86/aes-padlock.h, + lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/coff/aesni-x86.s, + lib/accelerated/x86/coff/aesni-x86_64.s, + lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s, + lib/accelerated/x86/coff/appro-aes-x86-64-coff.s, + lib/accelerated/x86/coff/appro-aes-x86-coff.s, + lib/accelerated/x86/coff/cpuid-x86-64-coff.s, + lib/accelerated/x86/coff/cpuid-x86-coff.s, + lib/accelerated/x86/coff/cpuid-x86.s, + lib/accelerated/x86/coff/cpuid-x86_64.s, + lib/accelerated/x86/coff/e_padlock-x86.s, + lib/accelerated/x86/coff/e_padlock-x86_64.s, + lib/accelerated/x86/coff/ghash-x86_64.s, + lib/accelerated/x86/coff/openssl-cpuid-x86.s, + lib/accelerated/x86/coff/openssl-cpuid-x86_64.s, + lib/accelerated/x86/coff/padlock-x86-64-coff.s, + lib/accelerated/x86/coff/padlock-x86-coff.s, + lib/accelerated/x86/coff/sha1-ssse3-x86.s, + lib/accelerated/x86/coff/sha1-ssse3-x86_64.s, + lib/accelerated/x86/coff/sha256-avx-x86_64.s, + lib/accelerated/x86/coff/sha256-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86.s, + lib/accelerated/x86/coff/sha512-ssse3-x86_64.s, + lib/accelerated/x86/elf/aesni-x86.s, + lib/accelerated/x86/elf/aesni-x86_64.s, + lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s, + lib/accelerated/x86/elf/appro-aes-x86-64.s, + lib/accelerated/x86/elf/appro-aes-x86.s, + lib/accelerated/x86/elf/cpuid-x86-64.s, + lib/accelerated/x86/elf/cpuid-x86_64.s, + lib/accelerated/x86/elf/e_padlock-x86.s, + lib/accelerated/x86/elf/e_padlock-x86_64.s, + lib/accelerated/x86/elf/ghash-x86_64.s, + lib/accelerated/x86/elf/padlock-x86-64.s, + lib/accelerated/x86/elf/padlock-x86.s, + lib/accelerated/x86/elf/sha1-ssse3-x86.s, + lib/accelerated/x86/elf/sha1-ssse3-x86_64.s, + lib/accelerated/x86/elf/sha256-avx-x86_64.s, + lib/accelerated/x86/elf/sha256-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86.s, + lib/accelerated/x86/elf/sha512-ssse3-x86_64.s, + lib/accelerated/x86/files.mk, lib/accelerated/x86/hmac-x86.c, + lib/accelerated/x86/macosx/aesni-x86.s, + lib/accelerated/x86/macosx/aesni-x86_64.s, + lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s, + lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s, + lib/accelerated/x86/macosx/appro-aes-x86-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86.s, + lib/accelerated/x86/macosx/cpuid-x86_64.s, + lib/accelerated/x86/macosx/e_padlock-x86.s, + lib/accelerated/x86/macosx/e_padlock-x86_64.s, + lib/accelerated/x86/macosx/ghash-x86_64.s, + lib/accelerated/x86/macosx/openssl-cpuid-x86.s, + lib/accelerated/x86/macosx/openssl-cpuid-x86_64.s, + lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, + lib/accelerated/x86/macosx/padlock-x86-macosx.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86.s, + lib/accelerated/x86/macosx/sha1-ssse3-x86_64.s, + lib/accelerated/x86/macosx/sha256-avx-x86_64.s, + lib/accelerated/x86/macosx/sha256-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86.s, + lib/accelerated/x86/macosx/sha512-ssse3-x86_64.s, + lib/accelerated/x86/sha-padlock.h, lib/accelerated/x86/sha-x86.c, + lib/accelerated/x86/sha-x86.h: Added Appro's SSSE3 SHA + implementations -2011-11-08 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * doc/Makefile.am: enums.texi: Look in builddir too for gnutls.h. + * lib/accelerated/x86/sha-padlock.c, lib/accelerated/x86/x86.h: + Utilize the optimized SHA functions in Padlock HMAC. -2011-11-08 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * NEWS, doc/manpages/Makefile.am: doc: man pages for API functions - were removed. + * src/Makefile.am: use a single BUILT_SOURCES -2011-11-08 Simon Josefsson +2012-05-03 Patrick Pelletier - * GNUmakefile, gl/Makefile.am, gl/alignof.h, gl/argp-parse.c, - gl/closedir.c, gl/m4/gnulib-comp.m4, gl/m4/math_h.m4, - gl/m4/stdalign.m4, gl/math.in.h, gl/stdalign.in.h, gl/stdlib.in.h, - gl/sys_socket.in.h, gl/tests/Makefile.am, gl/tests/putenv.c, - gl/tests/test-stdalign.c, maint.mk: Update gnulib files. + * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, + doc/cha-library.texi, lib/gnutls_buffers.c, lib/gnutls_state.c, + lib/gnutls_str.c, lib/includes/gnutls/x509.h, src/certtool-args.def: + minor phrasing improvements in docs -2011-11-08 Simon Josefsson +2013-12-14 Nikos Mavrogiannopoulos - * cfg.mk: Improve syntax-check rules. + * src/Makefile.am: Added auto-generated files in BUILT_SOURCES -2011-11-08 Simon Josefsson +2013-12-13 Jared Wong - * tests/Makefile.am: Re-indent. + * lib/auth/psk_passwd.c, lib/auth/srp_passwd.c: Fixed check for i < + line_size. All checks were being done where the line_size check was done last. + This allows data to be read from one past teh end of the line + buffer. In C, accessing data outside of an array is undefined + behavior and may cause yet known problems. Additionally, the + compiler may end up making some unreasonable assumptions under the + pretense that the programmer is never wrong and would not access + data outside of the array. -2011-11-08 Simon Josefsson +2013-12-13 Nikos Mavrogiannopoulos - * doc/Makefile.am: Fix syntax-check whitespace nit. + * src/libopts/m4/libopts.m4: Avoid conditional generation of + Makefile -2011-11-08 Simon Josefsson +2013-12-12 Nikos Mavrogiannopoulos - * configure.ac: Fix portability quirk. + * lib/auth/dh_common.c: Enforce the DEFAULT_MAX_VERIFY_BITS for DH + prime size as well. -2011-11-08 Simon Josefsson +2013-12-12 Nikos Mavrogiannopoulos - * tests/rsa-md5-collision/README: Fix 'the the' double use. + * NEWS: doc update -2011-11-08 Simon Josefsson +2013-12-12 Nikos Mavrogiannopoulos - * lib/accelerated/x86/hmac-padlock.c: Remove unneeded assert.h - inclusion. + * lib/libgnutls.map: exported function -2011-11-08 Simon Josefsson +2013-12-12 Nikos Mavrogiannopoulos - * .gitattributes: Drop unneeded .gitattributes. + * lib/gnutls_buffers.c, lib/gnutls_record.c, + lib/includes/gnutls/gnutls.h.in: Added gnutls_record_check_corked. -2011-11-08 Simon Josefsson +2013-12-12 Nikos Mavrogiannopoulos - * doc/reference/Makefile.am, gtk-doc.make: Update gtk-doc files. + * Makefile.am, configure.ac, doc/manpages/Makefile.am: Avoided + gnu-ism in Makefiles -2011-11-08 Simon Josefsson +2013-12-11 Nikos Mavrogiannopoulos - * doc/reference/gnutls-docs.sgml: Drop openssl API from GnuTLS API - manual to avoid build errors. + * lib/gnutls_global.c: simplified logic -2011-11-08 Simon Josefsson +2013-12-11 Nikos Mavrogiannopoulos - * doc/reference/Makefile.am: Drop more extra stuff. + * lib/fips.c: Correctly detect the FIPS140-2 HMAC file. -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * extra/gnutls-extra.pc.in, extra/libgnutls-extra.map: Remove - obsolete libgnutls-extra stuff. + * lib/pkcs11.c, lib/pkcs11_int.h, lib/pkcs11_privkey.c, + lib/pkcs11_secret.c, lib/pkcs11_write.c: ensure that all the + exported pkcs11 functions initialize PKCS #11. -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * doc/examples/verify.c: Include examples.h to get - verify_certificate_callback prototype. + * lib/pkcs11.c: fixes in PKCS #11 initialization -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * doc/reference/Makefile.am: Improve header ignoring. + * lib/gnutls_handshake.c: provide imprecise time as gmt time. -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * configure.ac: Use gettext 0.18 to avoid build error. + * lib/pkcs11.c: calling gnutls_pkcs11_reinit() manually will prevent + auto-reinitialization. -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * lib/nettle/ecc_mulmod.c: Fix compile warnings. + * lib/gnutls_global.c, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: + fully initialize the PKCS #11 subsystem only when it is needed to. -2011-11-08 Simon Josefsson +2013-12-09 Nikos Mavrogiannopoulos - * po/it.po.in: Sync with TP. + * lib/crypto-api.c, lib/fips.c, lib/fips.h, lib/gnutls_global.c, + lib/gnutls_int.h, lib/gnutls_priority.c, lib/nettle/cipher.c, + lib/nettle/mac.c: FIPS140 mode is detected on run-time. That allows a library compiled in FIPS140 mode to operate as the + full library if the system is not in FIPS mode. -2011-11-08 Nikos Mavrogiannopoulos +2013-12-08 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: released 3.0.7 + * .gitignore, tests/Makefile.am, tests/mini-global-load.c: Added + check to verify that gnutls_global_init() is run on the library + constructor. -2011-11-08 Nikos Mavrogiannopoulos +2013-12-08 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c: Corrected ciphersuite - GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256. Reported by Fabrice Gautier. + * tests/global-init.c: converted to a simple check for + gnutls_global_init() as gnutls_global_init2() will not be added. -2011-11-08 Nikos Mavrogiannopoulos +2013-12-08 Nikos Mavrogiannopoulos - * lib/gnutls_session.c: bug fix in gnutls_session_get_data(). + * lib/pkcs11.c: call p11_kit_modules_load() with null argument. -2011-11-07 Nikos Mavrogiannopoulos +2013-12-06 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: bumped version + * configure.ac: only use LT_INIT -2011-11-07 Alban Crequy +2013-12-06 Nikos Mavrogiannopoulos - * lib/gnutls_session.c: gnutls_session_get_data: fix possible buffer - overflow The test to avoid the buffer overflow was always false because - session_data_size was set at the wrong place. This problem has been - introduced by this commit: |commit ad4ed44c65e753e6d3a00104c049dd81826ccbf3 |Author: Nikos - Mavrogiannopoulos |Date: Mon Nov 7 22:24:48 2005 - +0000 | | This is the initial commit in the 1.3 branch. Ported - from the PSK branch: | * PSK ciphersuites have been added. | - * The session resumption data are now system independent. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS: doc update -2011-11-05 Nikos Mavrogiannopoulos +2013-12-06 Nikos Mavrogiannopoulos - * NEWS: documented changes. + * configure.ac: disable static library build by default -2011-11-05 Nikos Mavrogiannopoulos +2013-12-05 Nikos Mavrogiannopoulos - * lib/auth/ecdh_common.c, lib/crypto-backend.h, lib/gnutls_ecc.c, - lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/nettle/Makefile.am, - lib/nettle/ecc.h, lib/nettle/ecc_free.c, lib/nettle/ecc_make_key.c, - lib/nettle/ecc_projective_check_point.c, - lib/nettle/ecc_projective_dbl_point.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/pk.c, lib/pkcs11_write.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/privkey.c, - lib/x509/x509_int.h: Verify that received ECDH public key lies on - the curve. + * NEWS, doc/cha-gtls-app.texi, lib/gnutls_global.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: + gnutls_global_init2() is no longer exported. -2011-11-05 Nikos Mavrogiannopoulos +2013-12-05 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: ECDHE ciphersuites take precendence to - plain DHE + * NEWS, doc/cha-tokens.texi, lib/pkcs11.c: doc update -2011-11-05 Nikos Mavrogiannopoulos +2013-12-05 Nikos Mavrogiannopoulos - * NEWS, THANKS: documented fixes + * lib/pkcs11.c: Added automatic reinitialization on fork() on the + PKCS #11 subsystem. -2011-11-05 Nikos Mavrogiannopoulos +2013-12-05 Nikos Mavrogiannopoulos - * lib/nettle/ecc_test.c: re-removed file + * lib/gnutls_global.c, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, + lib/pkcs11_int.h: PKCS #11 initialization is delayed until first + use. -2011-11-05 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * lib/x509/privkey_pkcs8.c: Report correct error on ECC key parsing - error. + * NEWS: doc update -2011-11-05 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * lib/nettle/ecc.h, lib/nettle/ecc_mulmod.c, - lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, lib/nettle/ecc_test.c: - converted more things to native gmp. This solves issue noticed in - mips64 by Joseph Graham. + * lib/nettle/Makefile.am, lib/nettle/rnd-common.c, + lib/nettle/rnd-common.h, lib/nettle/rnd-fips.c, lib/nettle/rnd.c: + Use a DRBG-AES to generate nonces rather than the yarrow RNG. -2011-11-05 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * tests/suite/testcompat-main: Added tests for null ciphersuites. + * lib/nettle/rnd-fips.c: getpid() is conditionally used. -2011-11-04 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * NEWS: documented fix + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi: deleted + auto-generated files -2011-11-04 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-gtls-app.texi, doc/examples/Makefile.am, - doc/examples/ex-client-udp.c, doc/examples/ex-client2.c, - doc/examples/ex-rfc2818.c, doc/examples/examples.h, - doc/examples/verify.c: Include only a single example with X.509 - client. This example includes certificate verification. + * lib/crypto-api.c, lib/fips.c, lib/fips.h, lib/gnutls_global.c, + tests/fips-test.c: removed zombie mode, and no longer use fips140.h -2011-11-04 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * doc/latex/Makefile.am: no libextra in doc + * lib/includes/Makefile.am, lib/includes/gnutls/fips140.h, + lib/includes/gnutls/gnutls.h.in: moved gnutls_fips140_mode_enabled + to gnutls.h -2011-11-04 Nikos Mavrogiannopoulos +2013-12-04 Nikos Mavrogiannopoulos - * lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h: corrected NULL - cipher encryption. Reported by Fabrice Gautier. + * lib/fips.c: simplified func -2011-11-04 Ludovic Courtès +2013-12-04 Nikos Mavrogiannopoulos - * configure.ac, guile/modules/gnutls.in, guile/pre-inst-guile.in, - guile/src/Makefile.am: guile: Rename `libguile-gnutls-v-2.la' to - `guile-gnutls-v-2.la'. + * lib/crypto-api.c, lib/nettle/pk.c: corrected macros -2011-11-04 Ludovic Courtès +2013-12-04 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, guile/modules/Makefile.am, - guile/modules/gnutls.in, guile/modules/gnutls.scm, - guile/pre-inst-guile.in, guile/src/Makefile.am: guile: Install - libguile-gnutls under $(libdir)/guile/X.Y. + * tests/rng-fork.c: Check whether the RNG can perform many + iterations without error. -2011-11-03 Ludovic Courtès +2013-12-04 Nikos Mavrogiannopoulos - * guile/modules/gnutls.scm, guile/pre-inst-guile.in, - guile/src/Makefile.am: guile: Rename to `libguile-gnutls-v-2'. + * lib/nettle/int/drbg-aes.c, lib/nettle/int/drbg-aes.h, + lib/nettle/rnd-fips.c: force reseed and rekey on fork and if we + exceed a number of iterations. -2011-11-03 Ludovic Courtès +2013-12-04 Nikos Mavrogiannopoulos - * doc/gnutls-guile.texi: doc: Make it clear that both Guile 1.8 and - 2.0 are supported. + * lib/gnutls_global.c, lib/locks.h: do not deinitialize a static + mutex to avoid any side-effects. -2011-11-03 Ludovic Courtès +2013-11-30 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/gnutls-guile.texi: guile: Update doc to - reflect the removal of (gnutls extra). + * lib/locks.h: re-initialize a deleted staticly initialized mutex -2011-11-03 Ludovic Courtès +2013-11-30 Nikos Mavrogiannopoulos - * guile/tests/openpgp-auth.scm, guile/tests/openpgp-keyring.scm, - guile/tests/openpgp-keys.scm: guile: Remove uses of (gnutls extra) - from the tests. + * NEWS: doc update -2011-11-03 Ludovic Courtès +2013-11-30 Nikos Mavrogiannopoulos - * guile/modules/gnutls.scm, guile/modules/gnutls/build/enums.scm, - guile/modules/gnutls/build/smobs.scm, - guile/modules/gnutls/extra.scm, guile/pre-inst-guile.in, - guile/src/Makefile.am, guile/src/core.c, guile/src/extra.c, - guile/src/make-enum-header.scm, guile/src/make-enum-map.scm, - guile/src/make-smob-header.scm, guile/src/make-smob-types.scm: - guile: Merge the (gnutls extra) module in (gnutls); deprecate it. + * lib/nettle/pk.c: Added hack for nettle's checks. -2011-11-03 Ludovic Courtès +2013-11-30 Nikos Mavrogiannopoulos - * guile/pre-inst-guile.in, guile/src/Makefile.am: Reverting "Drop - guile libgnutls-extra stuff." + * lib/algorithms/secparams.c: adjusted parameters in normal level + for DSA to match nettle's abilities. -2011-11-02 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * lib/gnutls_str.c, lib/gnutls_str.h, lib/openpgp/output.c, - lib/x509/output.c: removed duplicate code. + * src/certtool.c: added newlines in error reporting -2011-11-02 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * guile/modules/gnutls/build/enums.scm: removed enumerations that - don't exist + * lib/crypto-selftests-pk.c, tests/slow/cipher-test.c: fix self + tests when used from slow/cipher-test -2011-11-02 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * lib/auth/srp.c: Fix typo. + * NEWS: doc update -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/hmac-md5.c, gl/hmac.h, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/md5.m4, gl/m4/memxor.m4, gl/md5.c, - gl/md5.h, gl/memxor.c, gl/memxor.h, gl/tests/Makefile.am, - gl/tests/test-hmac-md5.c, gl/tests/test-md5.c: hmac-md5 gnulib - module was removed (it was no longer used) + * tests/global-init.c: updated test for the universal lib + constructor -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * lib/gnutls_global.c: removed deadlock from gnutls_global.c -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * src/srptool.c: print all groups. + * lib/fips.c, lib/gnutls_global.c: constructor and destructors were + moved outside the FIPS140 mode. -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * lib/auth/srp.c, lib/auth/srp_passwd.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/prime.c, - src/srptool.c: Added 3072 and 4096-bit groups from RFC5054. + * tests/Makefile.am, tests/fips-test.c: execute the FIPS-test even + when not in FIPS140 mode. -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c, lib/openpgp/gnutls_openpgp.c, - src/certtool-common.c, src/certtool.c, src/cli.c, - src/crywrap/crywrap.c: read_file() and friends are accessed as - gl_read_file(). + * lib/fips.c, lib/fips.h, lib/libgnutls.map, tests/fips-test.c: + fips140_simulate_error -> lib_simulate_error -2011-11-01 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * gl/override/lib/read-file.c.diff, - gl/override/lib/read-file.h.diff, - gl/override/tests/test-read-file.c.diff, gl/read-file.c, - gl/read-file.h, gl/tests/test-read-file.c: read_file and friends - were renamed to gl_read_file. + * lib/algorithms/secparams.c: adjusted subgroup bits to be + compatible with DSA requirements. -2011-10-30 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * THANKS: added David + * lib/fips.c, lib/fips.h, lib/gnutls_cipher_int.c, + lib/gnutls_global.c, lib/gnutls_hash_int.c, lib/gnutls_privkey.c, + lib/gnutls_pubkey.c, lib/gnutls_state.c, lib/nettle/pk.c, + lib/pkcs11_privkey.c, lib/random.c, lib/x509/crl.c, lib/x509/crq.c, + lib/x509/privkey.c, lib/x509/verify-high.c, lib/x509/x509.c: The + library state is used even when not in FIPS mode. This allows having an error state that blocks the library usage even + when not in FIPS mode. -2011-10-30 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * NEWS: documented fix + * : Merged the FIPS140-2 support code. Conflicts: lib/gnutls_global.c tests/mini-overhead.c -2011-10-28 Nikos Mavrogiannopoulos +2013-11-30 Nikos Mavrogiannopoulos - * doc/Makefile.am: errcodes printlist and alert-printlist become - EXTRA_PROGRAMS so they are not built by default. + * cross.mk: updated cross.mk -2011-10-28 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * cfg.mk: Fix bootstrap rule to avoid duplicate gettext files. + * src/common.c: removed usage of %zu. -2011-10-28 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * cfg.mk: Remove old hack. + * tests/mini-overhead.c: updated mini-overhead to account for the + removal of salsa20+umac -2011-10-28 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * guile/pre-inst-guile.in, guile/src/Makefile.am: Drop guile - libgnutls-extra stuff. + * lib/system.h: Detect the presence of posix locks even without + linked to libpthread. -2011-10-28 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * doc/gnutls.texi: Avoid line wrapping copyright line. + * src/cli-debug.c, src/tests.c, src/tests.h: gnutls-cli-debug tests + for camellia-gcm. -2011-10-28 Simon Josefsson +2013-11-30 Nikos Mavrogiannopoulos - * build-aux/config.rpath: Update config.rpath from gnulib. + * configure.ac: remove bashism. -2011-10-28 Simon Josefsson +2013-11-29 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, doc/reference/gnutls-docs.sgml: Drop - more libgnutls-extra related stuff. + * doc/cha-tokens.texi: doc update -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: released 3.0.5 + * doc/reference/gnutls-docs.sgml: Added 3.2 to reference API -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * tests/utils.c: added stdarg.h for vsnprintf. + * doc/reference/gnutls-docs.sgml: updated links in reference. + Reported by Nico R. -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * src/benchmark.c, src/benchmark.h: win32 fixes by David Hoyt. + * doc/reference/gnutls-docs.sgml: Added 3.2 to reference API -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * doc/examples/Makefile.am: more builddir fixes. + * doc/reference/gnutls-docs.sgml: updated links in reference. + Reported by Nico R. -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * build-aux/config.rpath, gl/Makefile.am, gl/connect.c, - gl/inet_ntop.c, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/inet_ntop.m4, gl/recv.c, gl/send.c, gl/tests/Makefile.am, - gl/tests/connect.c, gl/tests/test-inet_ntop.c, - gl/tests/test-recv.c, gl/tests/test-send.c: Added recv(), send(), - connect() and inet_ntop() gnulib modules. + * doc/cha-preface.texi, doc/cha-support.texi, doc/gnutls.texi: + updated addresses and URLs. Reported by Nico R. -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/opencdk/opencdk.h: do not unconditionally - include sys/socket.h. + * doc/cha-preface.texi, doc/cha-support.texi, doc/gnutls.texi: + updated addresses and URLs. Reported by Nico R. -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/close.c, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, gl/tests/close.c: Added - gnulib close module. + * lib/fips.c, lib/gnutls_global.c: Added destructor and moved both + *structors to fips.c -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c: do not use NULL for device_fd in windows. + * lib/x509/output.c: Eliminated memory leak in print_aia(). Reported + by Ben de Graaff. -2011-10-27 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * lib/opencdk/main.c: no need to include windows.h here. + * lib/x509/output.c: Eliminated memory leak in print_aia(). Reported + by Ben de Graaff. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * lib/crypto-selftests-pk.c: Added ECDH known answer test. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * src/certtool-cfg.c, src/cli.c, src/tls_test.c, src/udp-serv.c: - w32socket changes. + * lib/crypto-selftests-pk.c, lib/fips.c: Added known answer test for + Diffie-Hellman key exchange. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/arpa_inet.in.h, gl/errno.in.h, gl/inet_pton.c, - gl/m4/ftruncate.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/ioctl.m4, gl/m4/perror.m4, gl/m4/pipe.m4, gl/m4/select.m4, - gl/m4/signal_h.m4, gl/m4/strerror_r.m4, gl/m4/sys_ioctl_h.m4, - gl/m4/sys_select_h.m4, gl/m4/thread.m4, gl/m4/yield.m4, - gl/math.in.h, gl/select.c, gl/signal.in.h, gl/strerror-override.c, - gl/strerror-override.h, gl/sys_select.in.h, gl/tests/Makefile.am, - gl/tests/arpa_inet.in.h, gl/tests/connect.c, gl/tests/ftruncate.c, - gl/tests/glthread/lock.c, gl/tests/glthread/lock.h, - gl/tests/glthread/thread.c, gl/tests/glthread/thread.h, - gl/tests/glthread/threadlib.c, gl/tests/glthread/yield.h, - gl/tests/inet_pton.c, gl/tests/ioctl.c, gl/tests/perror.c, - gl/tests/pipe.c, gl/tests/strerror_r.c, gl/tests/sys_ioctl.in.h, - gl/tests/test-connect.c, gl/tests/test-ftruncate.c, - gl/tests/test-ftruncate.sh, gl/tests/test-ioctl.c, - gl/tests/test-lock.c, gl/tests/test-perror.c, - gl/tests/test-perror.sh, gl/tests/test-perror2.c, - gl/tests/test-pipe.c, gl/tests/test-select-fd.c, - gl/tests/test-select-in.sh, gl/tests/test-select-out.sh, - gl/tests/test-select-stdin.c, gl/tests/test-select.c, - gl/tests/test-select.h, gl/tests/test-signal-h.c, - gl/tests/test-strerror_r.c, gl/tests/test-sys_ioctl.c, - gl/tests/test-sys_select.c, gl/tests/test-thread_create.c, - gl/tests/test-thread_self.c, gl/tests/w32sock.h, gl/w32sock.h, - maint.mk: new gnulib + added select + inet_pton. + * lib/nettle/pk.c: Added check to prevent generating a DH pubkey of + 1. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * src/common.h, src/udp-serv.c: netinet headers were put on an - ifndef _WIN32. + * lib/Makefile.am, lib/gnutls_dh.c, lib/gnutls_dh_primes.c: + compacted DH support files. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: more libextra doc fixes. + * lib/auth/ecdhe.c: clear the generated ECDH parameters as soon as + they are not needed. -2011-10-26 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * doc/cha-functions.texi: extra-api is no more + * lib/x509/privkey.c: When checking the generated DSA params make + sure that the data to be signed have the proper size. -2011-10-25 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s: corrected symbols for - coff. + * lib/auth/anon.c, lib/auth/dh_common.c, lib/auth/dh_common.h, + lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/srp.c, + lib/crypto-backend.h, lib/gnutls_dh.c, lib/gnutls_dh.h, + lib/gnutls_int.h, lib/gnutls_state.c, lib/nettle/pk.c: DH key + exchange uses the _gnutls_pk_derive and _gnutls_pk_generate_key + functions. This allows handling DH key generation in the crypto backend files. -2011-10-25 Simon Josefsson +2013-11-28 Nikos Mavrogiannopoulos - * NEWS, lib/minitasn1/decoding.c, lib/minitasn1/element.c, - lib/minitasn1/element.h, lib/minitasn1/errors.c, - lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, lib/minitasn1/int.h, - lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, - lib/minitasn1/parser_aux.h, lib/minitasn1/structure.c, - lib/minitasn1/structure.h, lib/minitasn1/version.c: Update to - libtasn1 2.10. + * doc/cha-gtls-app.texi, doc/cha-tokens.texi: doc update -2011-10-25 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * configure.ac: changed mingw32 detection + * doc/cha-gtls-app.texi, doc/cha-tokens.texi: doc update -2011-10-25 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * configure.ac, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/asm-coff/appro-aes-gcm-x86-64-coff.s, - lib/accelerated/x86/asm-coff/appro-aes-x86-64-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-64-coff.s, - lib/accelerated/x86/asm-coff/padlock-x86-64-coff.s: added coff files - for mingw64 + * lib/nettle/int/drbg-aes-self-test.c, lib/nettle/int/drbg-aes.c, + lib/nettle/int/drbg-aes.h, lib/nettle/rnd-fips.c: simplified + DRBG-AES generator by using a counter (with an arbitrary initial + value) as DT. -2011-10-25 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/asm-coff/appro-aes-x86-coff.s, - lib/accelerated/x86/asm-coff/cpuid-x86-coff.s, - lib/accelerated/x86/asm-coff/padlock-x86-coff.s, - lib/accelerated/x86/coff/appro-aes-x86-coff.s, - lib/accelerated/x86/coff/padlock-x86-coff.s: Added coff version of - cpuid. + * lib/x509/privkey.c: Added pairwise constistency test on key + generation. -2011-10-25 Nikos Mavrogiannopoulos +2013-11-28 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * lib/gnutls_mem.c, lib/gnutls_mem.h: use memset in bzero -2011-10-25 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * configure.ac, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/coff/appro-aes-x86-coff.s, - lib/accelerated/x86/coff/padlock-x86-coff.s: Added COFF versions of - assembly files. + * doc/certtool.cfg: updated example certtool.cfg -2011-10-25 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * THANKS: Added Jan. + * lib/gnutls_mem.c, lib/gnutls_mem.h: avoid using memset to prevent + a compiler optimizing out out calls. -2011-10-24 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * lib/minitasn1/coding.c: use coding.c from libtasn1 git, to avoid - issue when compiled with gcc-4.6. + * lib/nettle/pk.c: use _gnutls_pk_bits_to_subgroup_bits() to select + DH and DSA key q size. -2011-10-24 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * lib/accelerated/x86/aes-padlock.c: Corrected PHE-partial test. + * lib/algorithms/secparams.c: corrected params for ULTRA level -2011-10-24 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * NEWS: documented fixes + * NEWS: doc update -2011-10-24 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * lib/gnutls_global.c: library mismatch error is no longer used + * tests/mini-record-2.c: Re-run receiving tests on server side, to + allow any valgrind errors to propagate to exit code. -2011-10-24 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/aes-padlock.c, - lib/accelerated/x86/aes-padlock.h, - lib/accelerated/x86/asm/padlock-common.s, - lib/accelerated/x86/sha-padlock.h: PHE-partial detection is not - being done, instead of checking for VIA nano. + * lib/fips.c: Perform an integrity check on all supporting libraries -2011-10-23 Nikos Mavrogiannopoulos +2013-11-27 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/aes-padlock.h, - lib/accelerated/x86/asm/padlock-common.s: No need to check for - padlock nano in 32-bit systems, so simplify things. + * src/certtool.c: In FIPS mode the default cipher is AES. -2011-10-23 Nikos Mavrogiannopoulos +2013-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_hash_int.c: initialize only a fully available hash + * configure.ac: Do not link gnutls against librt unlress it is + really necessary. -2011-10-23 Nikos Mavrogiannopoulos +2013-11-26 Nikos Mavrogiannopoulos - * lib/accelerated/x86/asm/padlock-common.s: is_padlock_nano is - behaving properly and saving registers. + * configure.ac: checks FIPS-140 lib requirements, moved after + clock_gettime() is checked for. -2011-10-23 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c: removed libextra error codes. + * lib/opencdk/armor.c: removed unused function -2011-10-23 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * guile/modules/gnutls.scm, guile/src/make-enum-header.scm: removed - extra.h header from guile code. + * lib/opencdk/pubkey.c: removed unused variable -2011-10-23 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * lib/includes/gnutls/gnutls.h.in: removed libextra errors. + * lib/crypto-selftests-pk.c, tests/mini-xssl.c, + tests/pkcs12_simple.c: Skip tests that require the non-suiteb + curves. -2011-10-22 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * src/serv.c, src/udp-serv.c: added extra headers. + * lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, lib/x509/x509_int.h: + _gnutls_privkey_decode_ecc_key() returns integers as error code to + distinguish error conditions. -2011-10-22 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * .gitignore, doc/latex/.gitignore, gl/Makefile.am, gl/accept.c, - gl/bind.c, gl/frexp.c, gl/frexpl.c, gl/getpeername.c, gl/gettext.h, - gl/isnan.c, gl/listen.c, gl/m4/arpa_inet_h.m4, gl/m4/frexp.m4, - gl/m4/frexpl.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/include_next.m4, gl/m4/inet_pton.m4, gl/m4/isnand.m4, - gl/m4/isnanl.m4, gl/m4/ldexpl.m4, gl/m4/math_h.m4, - gl/m4/printf-frexpl.m4, gl/m4/printf.m4, gl/m4/stdlib_h.m4, - gl/m4/vasnprintf.m4, gl/math.in.h, gl/override/lib/gettext.h.diff, - gl/printf-frexp.c, gl/printf-frexpl.c, gl/recvfrom.c, gl/sendto.c, - gl/setsockopt.c, gl/shutdown.c, gl/socket.c, gl/stdlib.in.h, - gl/tests/Makefile.am, gl/tests/arpa_inet.in.h, - gl/tests/inet_pton.c, gl/tests/test-accept.c, - gl/tests/test-arpa_inet.c, gl/tests/test-bind.c, - gl/tests/test-getpeername.c, gl/tests/test-inet_pton.c, - gl/tests/test-isnanl.h, gl/tests/test-listen.c, - gl/tests/test-recvfrom.c, gl/tests/test-sendto.c, - gl/tests/test-setsockopt.c, gl/tests/test-shutdown.c, - gl/vasnprintf.c, maint.mk: added new gnulib and modules. + * configure.ac, lib/gnutls_priority.c, lib/nettle/pk.c: Added option + to disable the non-SuiteB curves (i.e., the SECP 192R1 and 224R1 + curves). -2011-10-22 Nikos Mavrogiannopoulos +2013-11-25 Nikos Mavrogiannopoulos - * extra/Makefile.am, lib/Makefile.am, lib/accelerated/Makefile.am, - lib/accelerated/x86/Makefile.am, lib/algorithms/Makefile.am, - lib/auth/Makefile.am, lib/ext/Makefile.am, lib/nettle/Makefile.am, - lib/opencdk/Makefile.am, lib/openpgp/Makefile.am, src/Makefile.am: - more builddir fixes by David Hoyt. + * NEWS: updated + +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Nikos Mavrogiannopoulos + * lib/gnutls_errors.c, lib/includes/gnutls/gnutls.h.in, + lib/nettle/Makefile.am, lib/nettle/int/dsa-fips.h, + lib/nettle/int/dsa-keygen-fips186.c, lib/nettle/int/dsa-validate.c, + lib/nettle/int/provable-prime.c, lib/nettle/pk.c, + tests/cve-2009-1416.c: Use a FIPS140-2 compliant DSA and DH + parameter generator. - * lib/Makefile.am: Added includes in Makefile.am +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Nikos Mavrogiannopoulos + * lib/nettle/rnd-fips.c: removed unneeded newlines - * lib/accelerated/Makefile.am, lib/algorithms/Makefile.am, - lib/auth/Makefile.am, lib/ext/Makefile.am, - lib/minitasn1/Makefile.am, lib/nettle/Makefile.am, - lib/opencdk/Makefile.am, lib/openpgp/Makefile.am: Added - -I$(builddir)/../../gl to CFLAGS. +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Simon Josefsson + * .gitignore: more files ignored - * lib/accelerated/x86/Makefile.am: Add -I to fix building. Reported by "Hoyt, David" . +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Simon Josefsson + * configure.ac, lib/nettle/Makefile.am, lib/nettle/gcm-camellia.c, + lib/nettle/gcm-camellia.h, lib/nettle/int/drbg-aes-self-test.c, + lib/nettle/int/drbg-aes.c, lib/nettle/int/drbg-aes.h, + lib/nettle/int/gcm-camellia.c, lib/nettle/int/gcm-camellia.h, + lib/nettle/rnd-fips.c: Added DRBG submitted to nettle in gnutls. - * lib/Makefile.am, lib/x509/Makefile.am: Also add -I's for gnulib's - build directory, for mingw. Reported by "Hoyt, David" . +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Nikos Mavrogiannopoulos + * tests/mini-record-2.c: Added deflate compression tests with + AES-GCM in order to be tested in FIPS mode. - * NEWS, extra/gnutls_extra.c, guile/src/extra.c, - lib/auth/srp_passwd.c, lib/gnutls_srp.c: removed more extra.h - leftovers. +2013-11-25 Nikos Mavrogiannopoulos -2011-10-21 Nikos Mavrogiannopoulos + * lib/crypto-api.c: corrected comparison - * lib/accelerated/x86/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, - lib/accelerated/x86/asm/padlock-common.s, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: updated gnustack note. +2013-11-22 Nikos Mavrogiannopoulos -2011-10-20 Nikos Mavrogiannopoulos + * lib/crypto-api.c: Allow MD5 hash in zombie mode - * src/certtool-common.c, src/pkcs11.c, src/psk.c, src/srptool.c, - src/tests.c, src/tls_test.c: extra.h is no more. +2013-11-22 Nikos Mavrogiannopoulos -2011-10-20 Nikos Mavrogiannopoulos + * lib/gnutls_errors.h: fixed bug - * Makefile.am, NEWS, README, configure.ac, doc/Makefile.am, - doc/cha-internals.texi, doc/examples/Makefile.am, - doc/manpages/Makefile.am, doc/reference/Makefile.am, - extra/Makefile.am, extra/gnutls-extra.pc.in, extra/gnutls_extra.c, - extra/gnutls_openssl.c, extra/includes/Makefile.am, - extra/includes/gnutls/openssl.h, extra/libgnutls-extra.map, - extra/openssl_compat.c, extra/openssl_compat.h, - guile/src/Makefile.am, libextra/Makefile.am, - libextra/gnutls-extra.pc.in, libextra/gnutls_extra.c, - libextra/gnutls_openssl.c, libextra/includes/Makefile.am, - libextra/includes/gnutls/extra.h, - libextra/includes/gnutls/openssl.h, libextra/libgnutls-extra.map, - libextra/openssl_compat.c, libextra/openssl_compat.h, - src/Makefile.am, tests/Makefile.am, tests/openpgp-keyring.c, - tests/suite/Makefile.am: libgnutls-extra is no more. +2013-11-22 Nikos Mavrogiannopoulos -2011-10-20 Nikos Mavrogiannopoulos + * tests/Makefile.am: don't run openssl (md5) when in fips mode - * lib/pkcs11.c, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c: Added Stef to authors of pkcs11. +2013-11-22 Nikos Mavrogiannopoulos + + * lib/fips.c, tests/fips-test.c: separate zombie mode from + operational fips mode + +2013-11-22 Nikos Mavrogiannopoulos -2011-10-19 Nikos Mavrogiannopoulos + * tests/fips-test.c: modified to account for zombie mode - * NEWS, THANKS: documented fix +2013-11-22 Nikos Mavrogiannopoulos -2011-10-17 Nikos Mavrogiannopoulos + * lib/x509/privkey_openssl.c: Use the internal API for MD5 hashing + in openssl keys. - * lib/x509/common.c: Corrected bug in gnutls_x509_data2hex. Report - and fix by Vincent Untz. +2013-11-22 Nikos Mavrogiannopoulos -2011-10-15 Nikos Mavrogiannopoulos + * lib/x509/privkey_openssl.c: beautified table - * NEWS: updated for register_md5_handler(). +2013-11-22 Nikos Mavrogiannopoulos -2011-10-15 Nikos Mavrogiannopoulos + * NEWS: added new functions - * libextra/includes/gnutls/extra.h, libextra/libgnutls-extra.map: - completely drop gnutls_register_md5_handler() +2013-11-22 Nikos Mavrogiannopoulos -2011-10-15 Nikos Mavrogiannopoulos + * lib/crypto-selftests-pk.c: eliminated memory leak on PK self + check. - * lib/accelerated/x86/asm/padlock-common.s: Added gnu-stack note. +2013-11-22 Nikos Mavrogiannopoulos -2011-10-15 Nikos Mavrogiannopoulos + * lib/gnutls_errors.c, lib/gnutls_global.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + lib/nettle/rnd-common.c, tests/Makefile.am, tests/global-init.c: + Added gnutls_global_init2(). This allows initializing gnutls in a + constructor in FIPS140 mode + +2013-11-22 Nikos Mavrogiannopoulos - * NEWS, doc/scripts/Makefile.am: released 3.0.4 + * lib/fips.c: Added an audit message in self test failure -2011-10-13 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem: updated tests for new key ID + * lib/crypto-selftests.c, lib/nettle/rnd-fips.c: better error + messages. -2011-10-13 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * lib/x509/privkey.c: key id is being calculated the same way in - private keys as in public keys. + * lib/fips.c: binary integrity self test moved to end -2011-10-13 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-intro-tls.texi, doc/cha-tls-app.texi, - doc/gnutls.texi, doc/latex/Makefile.am, doc/latex/gnutls.tex, - doc/scripts/gdoc, doc/scripts/mytexi2latex, doc/scripts/sort1.pl, - doc/scripts/split-texi.pl, doc/scripts/split.pl, - doc/sec-tls-app.texi, tests/nist-pkits/build-chain: 'How to use TLS - in application protocols' section was moved to introduction to TLS. - Fixes in perl. + * lib/gnutls_errors.h: simplified debugging levels. -2011-10-12 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * src/tests.c, src/tests.h, src/tls_test.c: Added a test for servers - not accepting small records. + * lib/x509_b64.c: silence some errors -2011-10-12 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: new version of padlock by - Andy. + * lib/nettle/rnd-fips.c: updated -2011-10-11 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * NEWS, configure.ac, m4/hooks.m4: bumped versions + * lib/crypto-api.c, lib/fips.c, lib/fips.h, lib/gnutls_global.c: + Better handling of FIPS140-2 initialization -2011-10-12 Simon Josefsson +2013-11-22 Nikos Mavrogiannopoulos - * .gitignore: Add and sort. + * lib/algorithms/ecc.c, lib/crypto-backend.h, lib/gnutls_pk.h, + lib/nettle/pk.c: Added curve_exists() to pk-backend. That allows to + determine which curves are available. -2011-10-11 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: updated text + * lib/crypto-api.c, lib/fips.h, lib/nettle/rnd-fips.c: + gnutls_key_generate() is restricted by the size of the initial RNG + seed in FIPS140-2 mode. -2011-10-10 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * m4/hooks.m4: check for nettle 2.4 or later + * lib/crypto-api.c: Do not allow MD5 in the high level crypto-api in + FIPS mode. -2011-10-10 Simon Josefsson +2013-11-22 Nikos Mavrogiannopoulos - * src/cli.c: Fix type of keyid (finally!). + * lib/nettle/pk.c: when using the rng() with a void option use the + FIPS state to indicate errors. -2011-10-10 Simon Josefsson +2013-11-22 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, lib/includes/gnutls/abstract.h: More doc - fixes. + * tests/mini-overhead.c, tests/mini-record-2.c, tests/mini-x509.c, + tests/pkcs12-decode/Makefile.am, tests/pkcs12_encode.c, + tests/priorities.c, tests/record-sizes.c, tests/set_pkcs12_cred.c: + Restrict the number of tests run on FIPS140-2 mode. -2011-10-10 Simon Josefsson +2013-11-22 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c: GTK-DOC doc fix. + * lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/algorithms/mac.c, lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, + lib/gnutls_priority.c, lib/nettle/cipher.c, lib/nettle/mac.c: In + FIPS140-2 mode disable non-conformant ciphers, MAC and hash + algorithms. -2011-10-10 Simon Josefsson +2013-11-20 Nikos Mavrogiannopoulos - * src/cli.c: Use gnutls_openpgp_keyid_t type for keyid variable. + * lib/crypto-backend.h, lib/gnutls_dh_primes.c, lib/nettle/mpi.c: + Use nettle for the generation of DH group parameters. -2011-10-10 Simon Josefsson +2013-11-20 Nikos Mavrogiannopoulos - * src/cli.c: Include stdint.h to get uint8_t. + * lib/nettle/pk.c: no need to memset. It should have been + initialized. -2011-10-10 Simon Josefsson +2013-11-20 Nikos Mavrogiannopoulos - * src/cli.c: Revert "avoid usage of C99 constructs." This reverts commit 643ebdf12b415fc3edd3b7bc12654bc92d3aed24. + * tests/cert-tests/aki, tests/cert-tests/aki-cert.pem, + tests/cert-tests/ca-no-pathlen.pem, + tests/cert-tests/no-ca-or-pathlen.pem, tests/cert-tests/pathlen: Do + not involve the security level into the certificate comparisons. -2011-10-09 Nikos Mavrogiannopoulos +2013-11-20 Nikos Mavrogiannopoulos - * lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: updated Andy's code. - padlock_shax_blocks does not require any more, the state to be of - 128-byte size. + * lib/auth/ecdhe.c, lib/crypto-backend.h, lib/gnutls_pk.h, + lib/nettle/pk.c, lib/x509/privkey.c: Separated pk_generate to + pk_generate_params() and pk_generate_keys(). This allows using the pk_generate interface to get DH parameters and + DH keys. -2011-10-08 Nikos Mavrogiannopoulos +2013-11-20 Nikos Mavrogiannopoulos - * src/tests.c: Corrected check for AES-GCM + * lib/algorithms/secparams.c: restricted combinations of security + parameters in FIPS mode. -2011-10-08 Nikos Mavrogiannopoulos +2013-11-19 Nikos Mavrogiannopoulos - * src/tests.c, src/tests.h, src/tls_test.c: test for camellia + * lib/nettle/rnd-fips.c: removed the initialized static variable. -2011-10-08 Nikos Mavrogiannopoulos +2013-11-19 Nikos Mavrogiannopoulos - * src/cli.c: avoid usage of C99 constructs. + * lib/nettle/rnd-common.c, lib/nettle/rnd-common.h, + lib/nettle/rnd-fips.c: Corrected _rnd_get_event(). -2011-10-08 Nikos Mavrogiannopoulos +2013-11-19 Nikos Mavrogiannopoulos - * lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/asm/padlock-common.s, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: is_padlock_nano moved to - padlock-common.s to allow easier upgrade to Andy's newer code. + * lib/auth/srp.c, lib/crypto-backend.h, lib/gnutls_dh.c, + lib/gnutls_mpi.c, lib/gnutls_mpi.h, lib/gnutls_srp.c, + lib/libgnutls.map, lib/nettle/mpi.c, lib/nettle/pk.c, tests/mpi.c: + Added _gnutls_mpi_random_modp() and _gnutls_mpi_modm() to replace + _gnutls_mpi_mod(). + +2013-11-18 Nikos Mavrogiannopoulos + + * tests/rng-fork.c: In rng_fork test all random generators. + +2013-11-18 Nikos Mavrogiannopoulos + + * lib/nettle/rnd-fips.c: comments updated to conform to the modified + version. + +2013-11-18 Nikos Mavrogiannopoulos + + * lib/nettle/rnd-fips.c: removed external test functions + +2013-11-15 Nikos Mavrogiannopoulos -2011-10-08 Nikos Mavrogiannopoulos + * .gitignore, configure.ac, lib/crypto-backend.h, lib/fips.c, + lib/libgnutls.map, lib/nettle/Makefile.am, lib/nettle/rnd-fips.c, + lib/nettle/rnd.c, tests/fips-test.c, tests/rng-fork.c: Ported + libgcrypt's AES-based DRBG. - * tests/cipher-test.c: Added more elaborate test of hash functions. +2013-11-14 Nikos Mavrogiannopoulos -2011-10-08 Nikos Mavrogiannopoulos + * lib/nettle/Makefile.am, lib/nettle/rnd-common.c, + lib/nettle/rnd-common.h, lib/nettle/rnd.c: split some functionality + of nettle's RNG. - * lib/gnutls_int.h, lib/x509/mpi.c: HASH2MAC macro is no more. +2013-11-13 Nikos Mavrogiannopoulos -2011-10-08 Nikos Mavrogiannopoulos + * lib/auth/dhe_psk.c, lib/auth/psk.c, lib/auth/psk_passwd.c, + lib/auth/rsa_psk.c, lib/auth/srp_passwd.c: long term keys are always + overwritten - * NEWS, lib/gnutls_ui.c, lib/x509/common.c, lib/x509/common.h, - lib/x509/crq.c, lib/x509/output.c, lib/x509/x509.c, src/certtool.c: - Key ID calculation is now consistent on all structures. It is a SHA1 - hash of the subjectPublicKeyInfo structures. +2013-11-13 Nikos Mavrogiannopoulos -2011-10-08 Nikos Mavrogiannopoulos + * lib/x509/privkey_pkcs8.c: corrected typo - * doc/cha-library.texi: simplified documentation +2013-11-13 Nikos Mavrogiannopoulos -2011-10-08 Nikos Mavrogiannopoulos + * lib/x509/key_decode.c, lib/x509/key_encode.c, lib/x509/privkey.c, + lib/x509/privkey_pkcs8.c: zeroize also ASN.1 structures that hold + keys. + +2013-11-13 Nikos Mavrogiannopoulos + + * lib/x509/privkey_openssl.c: more keys are zeroized + +2013-11-13 Nikos Mavrogiannopoulos + + * m4/hooks.m4: require libtasn1 3.4 + +2013-11-13 Nikos Mavrogiannopoulos + + * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/element.h, + lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, + lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, + lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, + lib/minitasn1/structure.c, lib/minitasn1/structure.h, + lib/minitasn1/version.c: updated libtasn1 version + +2013-11-13 Nikos Mavrogiannopoulos + + * lib/nettle/pk.c: use the most appropriate nettle function + +2013-11-13 Nikos Mavrogiannopoulos - * NEWS, doc/cha-intro-tls.texi: documentation update + * lib/auth/dh_common.c, lib/auth/dhe_psk.c, lib/auth/ecdhe.c, + lib/auth/psk.c, lib/auth/rsa_psk.c, lib/auth/srp_passwd.c, + lib/gnutls_datum.h, lib/gnutls_kx.c, lib/gnutls_state.c, + lib/x509/privkey_pkcs8.c: better naming for free_datum functions. -2011-10-08 Nikos Mavrogiannopoulos +2013-11-13 Nikos Mavrogiannopoulos - * src/tests.c, src/tests.h, src/tls_test.c: Added tests for ECDHE, - AES-GCM and SHA256. + * lib/gnutls_datum.h, lib/gnutls_int.h, lib/gnutls_mem.h, + lib/gnutls_mpi.c, lib/x509/key_encode.c, lib/x509/privkey.c, + lib/x509/privkey_pkcs8.c, lib/x509/x509_int.h: overwrite temp + buffers of private keys. -2011-10-07 Nikos Mavrogiannopoulos +2013-11-13 Nikos Mavrogiannopoulos + + * lib/fips.c, lib/fips.h, lib/gnutls_int.h, lib/nettle/pk.c: zeroize + ECC secret scalars and points. + +2013-11-12 Nikos Mavrogiannopoulos + + * lib/auth/dh_common.c, lib/auth/dhe_psk.c, lib/auth/ecdhe.c, + lib/auth/psk.c, lib/auth/psk_passwd.c, lib/auth/rsa_psk.c, + lib/auth/srp.c, lib/auth/srp_passwd.c, lib/gnutls_datum.h, + lib/gnutls_kx.c, lib/gnutls_state.c, lib/nettle/cipher.c, + lib/nettle/mac.c: Added zeroization of keys in several parts within + gnutls. + +2013-11-12 Nikos Mavrogiannopoulos + + * lib/gnutls_dh.c: doc update + +2013-11-12 Nikos Mavrogiannopoulos + + * lib/gnutls_datum.c, lib/gnutls_int.h: Added key zeroization + primitives. + +2013-11-12 Nikos Mavrogiannopoulos + + * lib/gnutls_mpi.c, lib/gnutls_mpi.h: Simplified + _gnutls_mpi_release() + +2013-11-12 Nikos Mavrogiannopoulos + + * NEWS, build-aux/config.rpath, configure.ac, lib/Makefile.am, + lib/fips.c, lib/fips.h, lib/includes/Makefile.am, + lib/includes/gnutls/fips140.h, lib/libgnutls.map, lib/xssl.c, + tests/Makefile.am, tests/fips-test.c: Updated FIPS140 initialization + and added a self test for it. + +2013-11-11 Nikos Mavrogiannopoulos + + * lib/fips.c, lib/fips.h: Added binary integrity test + +2013-11-11 Nikos Mavrogiannopoulos + + * configure.ac, lib/Makefile.am, lib/fips.c, lib/fips.h, + lib/gnutls_cipher_int.c, lib/gnutls_errors.c, lib/gnutls_global.c, + lib/gnutls_hash_int.c, lib/gnutls_privkey.c, lib/gnutls_pubkey.c, + lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, + lib/pkcs11_privkey.c, lib/random.c, lib/x509/common.h, + lib/x509/crl.c, lib/x509/crq.c, lib/x509/privkey.c, + lib/x509/verify-high.c, lib/x509/x509.c, lib/xssl.c: Added support + for fips states. This implies that when in FIPS mode and the library is not in + operational state (i.e., all self checks succeeded), crypto + functionality of the library will fail. This includes: * API functions of gnutls/crypto.h * API functions of gnutls/abstract.h * API functions of gnutls/x509.h * gnutls_init() * API functions of gnutls/xssl.h - * NEWS, lib/gnutls_sig.c: fixes to enable the external signing - callback to operate with TLS 1.2 +2013-11-11 Nikos Mavrogiannopoulos -2011-10-07 Nikos Mavrogiannopoulos + * lib/crypto-selftests-pk.c, lib/crypto-selftests.c, + tests/slow/cipher-test.c: indented code - * NEWS, doc/cha-auth.texi, doc/cha-cert-auth.texi, lib/auth/cert.c, - lib/gnutls_cert.c, lib/gnutls_privkey.c, lib/gnutls_x509.c, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added new - signing callback in gnutls_privkey_t. +2013-11-11 Nikos Mavrogiannopoulos -2011-10-06 Nikos Mavrogiannopoulos + * NEWS: doc update - * gl/Makefile.am, gl/m4/math_h.m4, gl/math.in.h: updated gnulib. +2013-11-08 Nikos Mavrogiannopoulos -2011-10-06 Nikos Mavrogiannopoulos + * configure.ac, lib/Makefile.am, tests/slow/Makefile.am, + tests/slow/cipher-test.c: Self checks are conditionally included in + the library. - * NEWS: documented fix +2013-11-08 Nikos Mavrogiannopoulos -2011-10-05 Nikos Mavrogiannopoulos + * lib/crypto-selftests-pk.c: Added pair-wise consistency tests for + RSA, DSA and ECDSA. - * lib/x509/x509.c: corrected bug in key id extraction. Reported by - Erik Jensen. +2013-11-08 Nikos Mavrogiannopoulos -2011-10-05 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: in gnutls_x509_privkey_generate() allow + specifying an explicit curve. - * lib/accelerated/x86/aes-padlock.c, - lib/accelerated/x86/aes-padlock.h, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s, - lib/accelerated/x86/hmac-padlock.c, - lib/accelerated/x86/sha-padlock.c, src/benchmark-cipher.c: better - detection of padlock PHE. +2013-11-08 Nikos Mavrogiannopoulos -2011-10-05 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c, lib/includes/gnutls/abstract.h, + lib/libgnutls.map: Added gnutls_privkey_generate(). - * .gitignore, NEWS, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/aes-padlock.c, - lib/accelerated/x86/aes-padlock.h, - lib/accelerated/x86/hmac-padlock.c, - lib/accelerated/x86/sha-padlock.c, - lib/accelerated/x86/sha-padlock.h, lib/accelerated/x86/x86.h, - lib/nettle/mac.c, tests/cipher-test.c: Updates for padlock hashes in - C7 nano. Requires a part of nettle to be included. +2013-11-07 Nikos Mavrogiannopoulos -2011-10-05 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/crypto-selftests-pk.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + tests/slow/cipher-test.c: Added self tests on RSA, DSA, and ECDSA + key usage. - * lib/accelerated/x86/aes-gcm-padlock.c: Always use encryption - direction. +2013-11-07 Nikos Mavrogiannopoulos -2011-10-04 Nikos Mavrogiannopoulos + * lib/crypto-selftests.c, lib/includes/gnutls/gnutls.h.in, + tests/slow/cipher-test.c: Added option to run all available self + tests per category in a single run. - * src/Makefile.am, src/serv.c: libextra is not needed for neither - gnutls-cli or serv. +2013-11-07 Nikos Mavrogiannopoulos -2011-10-04 Nikos Mavrogiannopoulos + * lib/crypto-selftests.c, tests/slow/cipher-test.c: completed + self-tests by adding digest and MAC tests. - * configure.ac: corrected path +2013-11-06 Nikos Mavrogiannopoulos -2011-10-04 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/crypto-selftests.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + tests/slow/cipher-test.c: Added self tests - * lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s: updated padlock code. +2013-11-27 Nikos Mavrogiannopoulos -2011-10-04 Nikos Mavrogiannopoulos + * configure.ac: check for alternative unbound root key files. - * lib/gnutls_str_array.h, lib/nettle/rnd.c, lib/system.c: fixes in - headers. Suggested by Bjorn Christensen. +2013-11-26 Nikos Mavrogiannopoulos -2011-10-04 Nikos Mavrogiannopoulos + * lib/debug.c: increased buffers - * lib/accelerated/Makefile.am, lib/accelerated/intel/.gitignore, - lib/accelerated/intel/Makefile.am, lib/accelerated/intel/README, - lib/accelerated/intel/aes-gcm-padlock.c, - lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-padlock.h, - lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h, - lib/accelerated/intel/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s, - lib/accelerated/intel/asm/cpuid-x86-64.s, - lib/accelerated/intel/asm/cpuid-x86.s, - lib/accelerated/intel/asm/padlock-x86-64.s, - lib/accelerated/intel/asm/padlock-x86.s, - lib/accelerated/intel/license.txt, - lib/accelerated/intel/sha-padlock.c, lib/accelerated/intel/x86.h, - lib/accelerated/x86/.gitignore, lib/accelerated/x86/Makefile.am, - lib/accelerated/x86/README, lib/accelerated/x86/aes-gcm-padlock.c, - lib/accelerated/x86/aes-gcm-x86.c, - lib/accelerated/x86/aes-padlock.c, - lib/accelerated/x86/aes-padlock.h, lib/accelerated/x86/aes-x86.c, - lib/accelerated/x86/aes-x86.h, - lib/accelerated/x86/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86-64.s, - lib/accelerated/x86/asm/appro-aes-x86.s, - lib/accelerated/x86/asm/cpuid-x86-64.s, - lib/accelerated/x86/asm/cpuid-x86.s, - lib/accelerated/x86/asm/padlock-x86-64.s, - lib/accelerated/x86/asm/padlock-x86.s, - lib/accelerated/x86/license.txt, lib/accelerated/x86/sha-padlock.c, - lib/accelerated/x86/x86.h: intel directory renamed to x86. - -2011-10-03 Nikos Mavrogiannopoulos +2013-11-26 Nikos Mavrogiannopoulos - * NEWS: updated + * lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s, + lib/accelerated/x86/coff/appro-aes-x86-64-coff.s, + lib/accelerated/x86/coff/padlock-x86-64-coff.s, + lib/accelerated/x86/coff/padlock-x86-coff.s, + lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s, + lib/accelerated/x86/elf/appro-aes-x86-64.s, + lib/accelerated/x86/elf/padlock-x86-64.s, + lib/accelerated/x86/elf/padlock-x86.s, + lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s, + lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s, + lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, + lib/accelerated/x86/macosx/padlock-x86-macosx.s: updated + auto-generated asm files. This fixes a valgrind complaint when + AES-NI is in use. -2011-10-03 Nikos Mavrogiannopoulos +2013-11-26 Nikos Mavrogiannopoulos - * .gitignore, gl/Makefile.am, gl/error.c, gl/float.c, - gl/float.in.h, gl/fstat.c, gl/itold.c, gl/lseek.c, gl/m4/close.m4, - gl/m4/dup2.m4, gl/m4/fdopen.m4, gl/m4/float_h.m4, gl/m4/fstat.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/msvc-nothrow.m4, gl/m4/pathmax.m4, - gl/m4/stdio_h.m4, gl/m4/sys_stat_h.m4, gl/m4/unistd_h.m4, - gl/math.in.h, gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c, - gl/msvc-nothrow.h, gl/opendir.c, gl/sockets.c, gl/sockets.h, - gl/stdio.in.h, gl/strings.in.h, gl/sys_stat.in.h, - gl/tests/Makefile.am, gl/tests/close.c, gl/tests/dup2.c, - gl/tests/fdopen.c, gl/tests/msvc-inval.c, gl/tests/msvc-inval.h, - gl/tests/test-close.c, gl/tests/test-dup2.c, gl/tests/test-fgetc.c, - gl/tests/test-fputc.c, gl/tests/test-fread.c, - gl/tests/test-fwrite.c, gl/unistd.in.h, gl/w32sock.h, maint.mk: - Added new gnulib. + * devel/perlasm/aesni-x86.pl, devel/perlasm/aesni-x86_64.pl, + devel/perlasm/cbc.pl, devel/perlasm/e_padlock-x86.pl, + devel/perlasm/e_padlock-x86_64.pl, devel/perlasm/ghash-x86.pl, + devel/perlasm/ghash-x86_64.pl, devel/perlasm/ppc-xlate.pl, + devel/perlasm/x86_64-xlate.pl, devel/perlasm/x86asm.pl, + devel/perlasm/x86gas.pl, devel/perlasm/x86masm.pl, + devel/perlasm/x86nasm.pl: updated perlasm files -2011-10-03 Nikos Mavrogiannopoulos +2013-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: added an assert + * configure.ac, lib/Makefile.am: Do not link gnutls against librt + unlress it is really necessary. Conflicts: configure.ac lib/Makefile.am -2011-10-03 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: doc fixes + * lib/algorithms/ciphersuites.c: removed the UMAC96 ciphersuites -2011-10-03 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: replaced uint type. + * .gitignore: more files to ignore -2011-10-03 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/nettle/egd.c, lib/nettle/rnd.c: fix compilation in windows + * configure.ac: updated e-mail address -2011-10-01 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * doc/cha-library.texi: updated text. + * doc/manpages/Makefile.am: use $shell() -2011-10-01 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-padlock.h, - lib/accelerated/intel/sha-padlock.c, lib/gnutls_str.h: Added ability - to hash and hmac with VIA padlock. + * Makefile.am, src/args-std.def: handle centrally more variables -2011-10-01 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * NEWS: documented updates + * configure.ac, doc/manpages/Makefile.am, doc/scripts/gdoc: Updated + manpage generation (and information stored to it). -2011-10-01 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/nettle/mac.c: optimizations in hmac. + * .gitignore, doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi: removed + auto-generated doc files. -2011-10-01 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/crypto-backend.h, lib/gnutls_cipher_int.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_mpi.h, - lib/gnutls_pk.h, lib/nettle/cipher.c, lib/nettle/mac.c, - lib/nettle/mpi.c, lib/nettle/pk.c, lib/nettle/rnd.c, - libextra/Makefile.am, libextra/fipsmd5.c, libextra/gnutls_extra.c: - The hash_fast() and hmac_fast() functions can be registered as well - to allow backends with optimized (hw) implementations. In the nettle - backend the different is one memory allocation less. + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-ocsptool.texi, doc/invoke-p11tool.texi, + doc/invoke-psktool.texi, doc/invoke-srptool.texi, + doc/invoke-tpmtool.texi, src/certtool-args.def, src/certtool.c: + certtool's --verify option if not supplied with a CA list, will use + the system's CA list. -2011-09-30 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/gnutls_cipher_int.h, lib/gnutls_hash_int.h, lib/gnutls_mpi.h, - lib/gnutls_pk.h, lib/nettle/cipher.c, lib/nettle/mac.c, - lib/nettle/mpi.c, lib/nettle/pk.c, lib/nettle/rnd.c: operations - structures were made constants. + * lib/includes/gnutls/x509.h: cast the expiration time to time_t -2011-09-30 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_state.c: - simplified usage of resume_true and resume_false. + * lib/x509/x509_write.c: doc update -2011-09-30 Nikos Mavrogiannopoulos +2013-11-24 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c: simplified assignment of server_write and - client_write. + * lib/includes/gnutls/x509.h, lib/x509/x509.c: Added macro to check + for the 'no well defined' expiration time. -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/asm/padlock-x86.s: movdqa replaced with movaps - (C3 doesn't support SSE2 but only SSE) + * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, + gl/strerror-override.c, gl/strerror-override.h, gl/strerror.c, + gl/tests/Makefile.am, gl/tests/strerror-override.c, + gl/tests/strerror-override.h, gl/tests/strerror.c: Added strerror + module. -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-padlock.c: manually keep the IV. + * lib/nettle/egd.c: better use of errno -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * lib/accelerated/intel/asm/padlock-x86.s: re-added ecb + * doc/latex/epub.tex, doc/latex/gnutls.tex, + doc/scripts/mytexi2latex: use eurosym package for euro symbol -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * lib/accelerated/intel/asm/padlock-x86-64.s, - lib/accelerated/intel/asm/padlock-x86.s: removed unused modes. + * configure.ac: Corrected check of usage of local libopts when + autogen isn't present -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * src/benchmark-cipher.c, src/benchmark.h, src/cli-gaa.c, - src/cli-gaa.h, src/cli.gaa: Allow benchmarking the software version - of ciphers. + * tests/cert-tests/Makefile.am, + tests/cert-tests/template-dn-err.tmpl, + tests/cert-tests/template-test: Verify failure of DN parsing in a + wrong DN. -2011-09-29 Nikos Mavrogiannopoulos +2013-11-23 Nikos Mavrogiannopoulos - * configure.ac, src/p11common.c: fixed compilation without p11-kit + * lib/gnutls_compress.c: disallow any compression in DTLS -2011-09-29 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-padlock.c: enabled VIA acceleration. + * tests/Makefile.am, tests/mini-deflate.c, tests/mini-record-2.c: + mini-deflate was combined with mini-record-2 -2011-09-29 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * src/benchmark.c: small update + * lib/gnutls_buffers.c, lib/gnutls_int.h, lib/gnutls_record.c, + lib/gnutls_record.h: Corrected bug which affected compressed + records. Less space was provided for decryption than the required causing + disconnection issues when compression was used. The issue was + pointed by Frank Zschockelt. Also replaced the macros MAX_RECORD_RECV_SIZE and MAX_RECV_SIZE with + max_decrypted_size() and max_record_recv_size(). -2011-09-27 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * THANKS: more people to thank + * lib/ext/session_ticket.c: check return code of gnutls_rnd(). -2011-09-26 Nikos Mavrogiannopoulos +2013-11-22 Nikos Mavrogiannopoulos - * doc/examples/ex-pkcs11-list.c, src/benchmark.c, src/udp-serv.c: - include config.h where needed. + * lib/ext/session_ticket.c, lib/gnutls_int.h: Use AES-GCM to encrypt + session tickets. -2011-09-25 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * tests/suite/testcompat-main: worked around openssl 1.0.0e bug - (avoid using -mtu). + * cross.mk: updated cross.mk -2011-09-25 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * src/udp-serv.c: udp-serv includes config.h. + * lib/system.c: fixed for win32 -2011-09-25 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * lib/opencdk/read-packet.c, lib/opencdk/stream.c: corrections in - debugging code. + * lib/gnutls_buffers.c: added assert to trace errors. -2011-09-25 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * configure.ac, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/x86.h, lib/accelerated/x86.h: Better usage of - X86 conditionals to simplify and avoid an undefined warning in - x86-32. + * cross.mk: updated -2011-09-23 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * lib/nettle/egd.c: a hack to allow compilation on systems without - AF_LOCAL. + * src/Makefile.am: link all programs with libgnu_gpl to avoid + conflicts from header files. -2011-09-23 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * lib/gnutls_pcert.c: Disable openpgp code when not requested. - Reported by Bjorn Christensen. + * src/gl/Makefile.am, src/gl/m4/gnulib-cache.m4, + src/gl/m4/gnulib-comp.m4, src/gl/progname.c, src/gl/progname.h: + Added progname module which is used by error(). -2011-09-23 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * tests/cve-2009-1416.c, tests/mpi.c, tests/rng-fork.c, - tests/x509cert-tl.c, tests/x509cert.c: more silent tests. + * src/socket.c: safer usage of strerror -2011-09-23 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * NEWS, gl/m4/valgrind-tests.m4, - gl/override/m4/valgrind-tests.m4.diff, lib/gnutls_cipher.c, - lib/gnutls_compress.c, lib/gnutls_compress.h, - lib/gnutls_constate.c, lib/gnutls_int.h, tests/Makefile.am, - tests/libgcrypt.supp, tests/safe-renegotiation/Makefile.am, - tests/safe-renegotiation/suppressions.valgrind, - tests/suppressions.valgrind: Further optimizations in the - compression code. Re-enabled the test program by suppressing the - zlib warning. + * doc/Makefile.am, src/Makefile.am: use the AUTOGEN variable -2011-09-23 Simon Josefsson +2013-11-21 Nikos Mavrogiannopoulos - * tests/utils.c: Redeuce self-test noise. + * src/Makefile.am, src/libopts/Makefile.am: use libtool to generate + libopts -2011-09-23 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * src/Makefile.am: corrected libopts patch -2011-09-22 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * configure.ac, doc/latex/Makefile.am, doc/latex/cover-epub.tex, - doc/latex/cover.tex.in, doc/latex/epub.tex, - doc/latex/macros-epub.tex: Added epub version of manual + * src/gl/error.c: removed unneed line -2011-09-22 Nikos Mavrogiannopoulos +2013-11-21 Nikos Mavrogiannopoulos - * doc/latex/gnutls.bib: corrected typos + * .gitignore: ignore xssl manpages -2011-09-22 Nikos Mavrogiannopoulos +2013-11-19 Nikos Mavrogiannopoulos - * doc/latex/gnutls.tex, doc/scripts/mytexi2latex: pdf is the image - format for latex. + * lib/gnutls_priority.c: prioritize any GCM ciphersuite over CBC in + secure128 level. -2011-09-22 Nikos Mavrogiannopoulos +2013-11-17 Nikos Mavrogiannopoulos - * tests/Makefile.am: deflate test moved out + * Makefile.am: generate ChangeLog after doc/ is checked. -2011-09-22 Nikos Mavrogiannopoulos +2013-11-17 Nikos Mavrogiannopoulos - * lib/gnutls_compress.c: removed uneeded vars + * doc/Makefile.am, doc/manpages/Makefile.am: updated Makefiles -2011-09-22 Nikos Mavrogiannopoulos +2013-11-17 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_compress.c, - lib/gnutls_compress.h, lib/gnutls_record.c, tests/Makefile.am, - tests/eagain-common.h, tests/mini-deflate.c: Simplified and - corrected decompression and compression. Added test program. + * doc/scripts/getfuncs.pl: made more clever to ignore inline + function body. -2011-09-22 Nikos Mavrogiannopoulos +2013-11-17 Nikos Mavrogiannopoulos - * src/common.c: print session ID + * .gitignore, doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi: removed + auto-generated files -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * .gitignore, NEWS, lib/includes/gnutls/x509.h, lib/x509/output.c, - lib/x509/x509.c, tests/infoaccess.c: libgnutls: - gnutls_x509_crt_print supports printing AIA fields. Support - caIssuers. + * doc/cha-gtls-app.texi: doc update -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * lib/includes/gnutls/x509.h: Improve gnutls_info_access_what_t - documentation. + * lib/libgnutls.map: exported gnutls_est_record_overhead_size -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * configure.ac, doc/scripts/gdoc, lib/auth/cert.c: Fix syntax-check - warnings. + * lib/gnutls_global.c: do not add newline (it's already in the + printed string) -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/closedir.c, gl/dirent-private.h, - gl/dirent.in.h, gl/filename.h, gl/isnan.c, gl/m4/argp.m4, - gl/m4/closedir.m4, gl/m4/dirent_h.m4, gl/m4/environ.m4, - gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, gl/m4/frexp.m4, - gl/m4/frexpl.m4, gl/m4/getcwd.m4, gl/m4/getpass.m4, - gl/m4/gnulib-comp.m4, gl/m4/iconv.m4, gl/m4/include_next.m4, - gl/m4/ldexpl.m4, gl/m4/lseek.m4, gl/m4/msvc-inval.m4, - gl/m4/nocrash.m4, gl/m4/opendir.m4, gl/m4/pathmax.m4, - gl/m4/printf-frexpl.m4, gl/m4/printf.m4, gl/m4/readdir.m4, - gl/m4/setenv.m4, gl/m4/signbit.m4, gl/m4/sleep.m4, - gl/m4/ssize_t.m4, gl/m4/stdint.m4, gl/m4/stdio_h.m4, - gl/m4/strings_h.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_time_h.m4, - gl/m4/sys_types_h.m4, gl/m4/time_h.m4, gl/m4/unistd_h.m4, - gl/m4/vasnprintf.m4, gl/math.in.h, gl/opendir.c, gl/readdir.c, - gl/stdio.in.h, gl/strings.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, - gl/sys_types.in.h, gl/sys_uio.in.h, gl/tests/Makefile.am, - gl/tests/dup2.c, gl/tests/infinity.h, gl/tests/init.sh, - gl/tests/msvc-inval.c, gl/tests/msvc-inval.h, gl/tests/nan.h, - gl/tests/pathmax.h, gl/tests/putenv.c, gl/tests/stat.c, - gl/tests/test-dup2.c, gl/tests/test-fcntl-h.c, - gl/tests/test-fdopen.c, gl/tests/test-fgetc.c, - gl/tests/test-fprintf-posix.h, gl/tests/test-frexp.c, - gl/tests/test-frexpl.c, gl/tests/test-fseeko4.c, - gl/tests/test-fseeko4.sh, gl/tests/test-fstat.c, - gl/tests/test-ftello4.c, gl/tests/test-ftello4.sh, - gl/tests/test-isnand.h, gl/tests/test-isnanf.h, - gl/tests/test-isnanl.h, gl/tests/test-pathmax.c, - gl/tests/test-printf-posix.h, gl/tests/test-signbit.c, - gl/tests/test-sys_socket.c, gl/tests/test-sys_stat.c, - gl/tests/test-sys_types.c, gl/tests/test-time.c, gl/unistd.in.h, - gl/wchar.in.h, maint.mk: Update gnulib files. + * lib/gnutls_global.c: if GNUTLS_DEBUG_LEVEL is specified the log + function is not updated if it is already set. -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/pkcs11_privkey.c, lib/x509/x509.c: Fix - gtk-doc Since: tags. + * doc/cha-gtls-app.texi: doc update -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Generated. + * NEWS: updated -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * NEWS, doc/manpages/Makefile.am, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/pkix.asn, lib/pkix_asn1_tab.c, - lib/x509/x509.c, tests/Makefile.am, tests/infoaccess.c: Added - gnutls_x509_crt_get_authority_info_access. + * configure.ac: bumped version -2011-09-21 Simon Josefsson +2013-11-16 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-padlock.c: Make it build with -Wunused. + * cfg.mk: updated glimport -2011-09-20 Nikos Mavrogiannopoulos +2013-11-16 Nikos Mavrogiannopoulos - * src/serv.c: do not trust getaddrinfo if IPv6 is not enabled. Patch - by Somchai Smythe. + * cfg.mk, doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-ocsptool.texi, doc/invoke-p11tool.texi, + doc/invoke-psktool.texi, doc/invoke-srptool.texi, + doc/invoke-tpmtool.texi, src/certtool-args.def: doc update -2011-09-20 Nikos Mavrogiannopoulos +2013-11-16 Nikos Mavrogiannopoulos - * .gitignore, doc/scripts/split-texi.pl: Added missing files + * tests/cert-tests/Makefile.am, tests/cert-tests/template-date.pem, + tests/cert-tests/template-date.tmpl, tests/cert-tests/template-test: + Added self checks for new date reading functionality -2011-09-20 Nikos Mavrogiannopoulos +2013-11-16 Nikos Mavrogiannopoulos - * configure.ac, lib/gnutls_privkey.c, lib/pkcs11.c, src/cli.c: - Compilation fixes when pkcs11 is not enabled. + * .gitignore, src/Makefile.am, src/certtool-args.def, + src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c: Added + activation_date and expiration_date options to certtool template + file. -2011-09-19 Nikos Mavrogiannopoulos +2013-11-16 Nikos Mavrogiannopoulos + + * .gitignore, Makefile.am, build-aux/ylwrap, configure.ac, + src/Makefile.am, src/gl/Makefile.am, src/gl/alloca.in.h, + src/gl/c-ctype.c, src/gl/c-ctype.h, src/gl/errno.in.h, + src/gl/error.c, src/gl/error.h, src/gl/exitfail.c, + src/gl/exitfail.h, src/gl/gettext.h, src/gl/gettime.c, + src/gl/gettimeofday.c, src/gl/intprops.h, src/gl/m4/00gnulib.m4, + src/gl/m4/alloca.m4, src/gl/m4/bison.m4, src/gl/m4/clock_time.m4, + src/gl/m4/eealloc.m4, src/gl/m4/environ.m4, src/gl/m4/errno_h.m4, + src/gl/m4/error.m4, src/gl/m4/extensions.m4, + src/gl/m4/extern-inline.m4, src/gl/m4/gettime.m4, + src/gl/m4/gettimeofday.m4, src/gl/m4/gnulib-cache.m4, + src/gl/m4/gnulib-common.m4, src/gl/m4/gnulib-comp.m4, + src/gl/m4/gnulib-tool.m4, src/gl/m4/include_next.m4, + src/gl/m4/longlong.m4, src/gl/m4/malloca.m4, src/gl/m4/mktime.m4, + src/gl/m4/msvc-inval.m4, src/gl/m4/msvc-nothrow.m4, + src/gl/m4/multiarch.m4, src/gl/m4/off_t.m4, + src/gl/m4/parse-datetime.m4, src/gl/m4/setenv.m4, + src/gl/m4/ssize_t.m4, src/gl/m4/stdbool.m4, src/gl/m4/stddef_h.m4, + src/gl/m4/stdint.m4, src/gl/m4/stdlib_h.m4, src/gl/m4/strerror.m4, + src/gl/m4/string_h.m4, src/gl/m4/sys_socket_h.m4, + src/gl/m4/sys_time_h.m4, src/gl/m4/sys_types_h.m4, + src/gl/m4/time_h.m4, src/gl/m4/time_r.m4, src/gl/m4/timespec.m4, + src/gl/m4/tm_gmtoff.m4, src/gl/m4/unistd_h.m4, + src/gl/m4/warn-on-use.m4, src/gl/m4/wchar_t.m4, + src/gl/m4/xalloc.m4, src/gl/malloca.c, src/gl/malloca.h, + src/gl/malloca.valgrind, src/gl/mktime-internal.h, src/gl/mktime.c, + src/gl/msvc-inval.c, src/gl/msvc-inval.h, src/gl/msvc-nothrow.c, + src/gl/msvc-nothrow.h, src/gl/parse-datetime.h, + src/gl/parse-datetime.y, src/gl/setenv.c, src/gl/stdbool.in.h, + src/gl/stddef.in.h, src/gl/stdint.in.h, src/gl/stdlib.in.h, + src/gl/strerror-override.c, src/gl/strerror-override.h, + src/gl/strerror.c, src/gl/string.in.h, src/gl/sys_time.in.h, + src/gl/sys_types.in.h, src/gl/time.in.h, src/gl/time_r.c, + src/gl/timespec.c, src/gl/timespec.h, src/gl/unistd.c, + src/gl/unistd.in.h, src/gl/unsetenv.c, src/gl/verify.h, + src/gl/xalloc-die.c, src/gl/xalloc-oversized.h, src/gl/xalloc.h, + src/gl/xmalloc.c: Added a gnulib with GPL components for use by + applications. + +2013-11-16 Nikos Mavrogiannopoulos + + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi, src/args-std.def: + corrected bug reporting address. + +2013-11-16 Nikos Mavrogiannopoulos + + * src/certtool-args.def, src/certtool-cfg.c, src/certtool.c: Check + for overflows when setting time and allow a time of -1. + +2013-11-16 Nikos Mavrogiannopoulos + + * lib/x509/common.c, tests/cert-tests/Makefile.am, + tests/cert-tests/template-overflow.pem, + tests/cert-tests/template-overflow.tmpl, + tests/cert-tests/template-overflow2.pem, + tests/cert-tests/template-overflow2.tmpl, + tests/cert-tests/template-test: Dates and time that would overflow + the GeneralTime are also truncated. We may need to revise that + around 9999 CE. + +2013-11-16 Nikos Mavrogiannopoulos + + * doc/Makefile.am, doc/invoke-certtool.texi, + doc/invoke-danetool.texi, doc/invoke-gnutls-cli-debug.texi, + doc/invoke-gnutls-cli.texi, doc/invoke-gnutls-serv.texi, + doc/invoke-ocsptool.texi, doc/invoke-p11tool.texi, + doc/invoke-psktool.texi, doc/invoke-srptool.texi, + doc/invoke-tpmtool.texi: force serialized generation of + invoke-*texi, to avoid autogen issue. + +2013-11-16 Nikos Mavrogiannopoulos + + * lib/x509/common.c, lib/x509/x509_write.c: An expiration time of + (time_t)-1 will set to the no well-defined expiration date value. + +2013-11-15 Nikos Mavrogiannopoulos + + * lib/gnutls_handshake.c: correctly set the ciphersuite when the + set_premaster interface is used. + +2013-11-15 Nikos Mavrogiannopoulos + + * lib/gnutls_state.c: check for a valid blocksize prior to entering + loop - * doc/Makefile.am, doc/gnutls.texi, doc/scripts/gdoc: enumerations - are visible in the texinfo output. +2013-11-15 Nikos Mavrogiannopoulos -2011-09-18 Nikos Mavrogiannopoulos + * lib/gnutls_global.c: The environment variable GNUTLS_DEBUG_LEVEL + if set to a number will enable logging to stderr. - * NEWS: released 3.0.3 +2013-11-13 Nikos Mavrogiannopoulos -2011-09-18 Nikos Mavrogiannopoulos + * tests/suite/testcompat, tests/suite/testcompat-main: corrected + issue with a not-yet-valid certificate - * lib/accelerated/intel/Makefile.am: Added missing file. +2013-11-13 Nikos Mavrogiannopoulos -2011-09-18 Nikos Mavrogiannopoulos + * src/udp-serv.c: corrected bug in gnutls-cli when used on IPv6 + addresses. - * doc/gnutls.texi, doc/latex/Makefile.am: doc fixes +2013-11-13 Nikos Mavrogiannopoulos -2011-09-18 Nikos Mavrogiannopoulos + * src/serv.c: simplified function - * NEWS, lib/accelerated/intel/aes-padlock.c: VIA is disabled by - default. +2013-11-13 Nikos Mavrogiannopoulos -2011-09-18 Nikos Mavrogiannopoulos + * tests/suite/testcompat, tests/suite/testcompat-main: hacks to work + with fedora's openssl - * configure.ac, m4/hooks.m4: bumped version +2013-11-13 Nikos Mavrogiannopoulos -2011-09-17 Nikos Mavrogiannopoulos + * configure.ac: print whether the local libopts or libtasn1 are + being used. - * NEWS, lib/auth/cert.c: Corrected memory leak in privkey - deinitialization. Reported by Dan Winship. +2013-11-13 Nikos Mavrogiannopoulos -2011-09-17 Nikos Mavrogiannopoulos + * gl/Makefile.am, gl/base64.c, gl/intprops.h, + gl/m4/extern-inline.m4, gl/m4/gnulib-cache.m4, + gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, gl/tests/intprops.h, + maint.mk: Added intprops module (which is needed by newer libtasn1 + versions) - * lib/accelerated/accelerated.c, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-x86.c, - lib/accelerated/intel/asm/cpuid-x86-64.s, - lib/accelerated/intel/asm/cpuid-x86.s, lib/accelerated/x86.h: - eliminated inline assembly. +2013-11-12 Nikos Mavrogiannopoulos -2011-09-17 Nikos Mavrogiannopoulos + * lib/gnutls_int.h: use the bool expression instead of unsigned + int:1. - * NEWS, lib/gnutls_dtls.c, lib/gnutls_int.h, lib/gnutls_record.c, - lib/includes/gnutls/dtls.h, lib/libgnutls.map: Added - gnutls_record_get_discarded() to return the number of discarded - record packets in a DTLS session. +2013-11-12 Nikos Mavrogiannopoulos -2011-09-16 Nikos Mavrogiannopoulos + * lib/gnutls_global.c: doc update - * configure.ac, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/x86.h: Added better - detection of capabilities in 386. If cpuid doesn't exist don't try - to execute it. +2013-11-11 Nikos Mavrogiannopoulos -2011-09-15 Nikos Mavrogiannopoulos + * lib/system.h: define GNUTLS_PATH_MAX globally. - * doc/cha-auth.texi, doc/scripts/mytexi2latex: updates on SRP - description +2013-11-11 Nikos Mavrogiannopoulos -2011-09-14 Nikos Mavrogiannopoulos + * lib/gnutls_x509.c: doc update - * src/benchmark.c: stress that values are bytes and not bits +2013-11-10 Nikos Mavrogiannopoulos -2011-09-14 Nikos Mavrogiannopoulos + * tests/suite/testcompat: do not run on clippled versions of openssl - * src/serv-gaa.c: new gaa +2013-11-10 Nikos Mavrogiannopoulos -2011-09-14 Nikos Mavrogiannopoulos + * lib/x509/common.c, lib/x509/extensions.c: simplified functions. - * doc/latex/macros.tex: removed unused macro +2013-11-10 Nikos Mavrogiannopoulos -2011-09-10 Nikos Mavrogiannopoulos + * tests/suite/ciphersuite/test-ciphers.js, + tests/suite/ciphersuite/test-ciphersuites.sh: improved ciphersuite + test - * doc/cha-library.texi: corrected name of gnutls_global_set_mutex. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-10 Nikos Mavrogiannopoulos + * lib/auth/psk_passwd.c, lib/auth/srp_passwd.c, lib/gnutls_pk.c, + lib/gnutls_x509.c, lib/pkcs11.c, lib/system.c, lib/x509/verify.c, + lib/x509/x509.c, lib/x509/x509_int.h: reduced stack size usage in + several functions. - * lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in: - Functions for RSA-EXPORT were marked as deprecated. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-10 Nikos Mavrogiannopoulos + * tests/utils.c: always exit when fail is called. - * doc/cha-gtls-app.texi, lib/gnutls_errors.c: documentation update +2013-11-10 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * configure.ac: reduced the stack size warning size. - * doc/cha-internals.texi: doc updates +2013-11-10 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * doc/invoke-gnutls-cli.texi, src/cli-args.def: doc update - * doc/cha-library.texi, doc/cha-support.texi: Downloading and - installing moved to main document +2013-11-10 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/latex/gnutls.tex: corrected page numbers. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * NEWS, doc/cha-gtls-app.texi, lib/ext/Makefile.am, + lib/ext/dumbfw.c, lib/ext/dumbfw.h, lib/gnutls_extensions.c, + lib/gnutls_int.h, lib/gnutls_priority.c: Added %DUMBFW priority + string option. This works around issues when connecting behind some firewalls. - * lib/accelerated/intel/aes-padlock.c: Do not prefer GCM in padlock - because it is slow. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * tests/mini-handshake-timeout.c: Ignore SIGPIPE. Diagnosed by Petr Salinger and Steven Chamberlain. Reported by + Andreas Metzler. - * doc/TODO: updated +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * doc/invoke-p11tool.texi, src/p11tool-args.def: doc update - * doc/scripts/gdoc: functions and enumerations are being added in - index. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * NEWS, src/common.c, tests/suite/testpkcs11: use GNUTLS_PIN instead + of GNUTLS_PKCS11_PIN. - * doc/Makefile.am, doc/cha-gtls-app.texi, doc/cha-internals.texi, - doc/gnutls-objects.eps: removed gnutls-objects. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/cha-gtls-app.texi: updated +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * doc/invoke-p11tool.texi: doc update - * lib/gnutls_buffers.c, lib/gnutls_record.c: clarified format of - sequence number in gnutls_record_recv_seq. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * tests/suite/pkcs11-certs/ca-tmpl, + tests/suite/pkcs11-certs/ca.crt, tests/suite/pkcs11-certs/ca.key, + tests/suite/pkcs11-certs/client-tmpl, + tests/suite/pkcs11-certs/client.crt, + tests/suite/pkcs11-certs/client.key, + tests/suite/pkcs11-certs/server-tmpl, + tests/suite/pkcs11-certs/server.crt, + tests/suite/pkcs11-certs/server.key, tests/suite/testpkcs11: Added + test suite for PKCS #11 cards (not executed automatically). - * doc/cha-cert-auth.texi: Added a paragraph on opensc and trousers - PKCS #11 modules. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * lib/gnutls_x509.c, src/pkcs11.c: Avoid infinite loops with + self-signed certificates present in the chain - * lib/accelerated/x86.h: added license +2013-11-10 Nikos Mavrogiannopoulos -2011-09-13 Nikos Mavrogiannopoulos + * configure.ac: simplified checks - * NEWS, doc/cha-auth.texi, doc/cha-cert-auth.texi, - doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/latex/gnutls.tex, doc/latex/macros.tex, - doc/scripts/mytexi2latex, lib/includes/gnutls/gnutls.h.in: updated - documentation. The function descriptions were converted to floats. +2013-11-10 Nikos Mavrogiannopoulos -2011-09-12 Nikos Mavrogiannopoulos + * src/common.c, src/p11tool-args.def: Allow getting the PIN from the + GNUTLS_PKCS11_PIN environment variable. - * NEWS, lib/accelerated/intel/aes-padlock.c: disable the 64-bit - padlock until it is tested. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-12 Nikos Mavrogiannopoulos + * doc/TODO: updated - * lib/accelerated/x86.h: corrected typo in cpuid for 386. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/scripts/mytexi2latex: fix on double arguments +2013-11-09 Nikos Mavrogiannopoulos -2011-09-11 Nikos Mavrogiannopoulos + * lib/gnutls_x509.c: When importing a certificate PKCS #11 try to + import the whole chain. This affects gnutls_certificate_set_x509_key_file*(). - * .gitignore, doc/cha-cert-auth.texi, doc/cha-intro-tls.texi, - doc/gnutls.texi, doc/latex/Makefile.am, doc/latex/gnutls.tex, - doc/latex/macros.tex, doc/scripts/gdoc, doc/scripts/mytexi2latex, - doc/scripts/split.pl, lib/includes/gnutls/dtls.h, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/pkcs12.h, - lib/includes/gnutls/x509.h: Modified gdoc to be able to handle - enumerations. Only valid to latex. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Nikos Mavrogiannopoulos + * src/p11tool-args.def, src/p11tool.c, src/p11tool.h, src/pkcs11.c: + Added export-chain option to p11tool - * NEWS, lib/auth/ecdh_common.c, lib/nettle/ecc_free.c, - lib/nettle/pk.c, lib/x509/verify-high.c, tests/x509cert-tl.c, - tests/x509cert.c: Memory leak fixes in ECC ciphersuites and the - trust_list. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-08 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/gnutls_pubkey.c, + lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, + lib/pkcs11_int.c, lib/pkcs11_write.c, lib/x509/common.h, + lib/x509/x509.c: Improvements in PKCS #11 support. Added gnutls_pkcs11_obj_export3 and gnutls_pkcs11_get_raw_issuer. + The latter function allows to obtain the issuer of a certificate + stored in a token. While traversing tokens, use the URL provided by the user, to avoid + looking for objects in unrelated tokens. - * lib/accelerated/intel/aes-gcm-padlock.c, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-padlock.h: simplified ecb encryption. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Simon Josefsson + * configure.ac: test before copy - * src/prime.c: Fix build warnings. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Simon Josefsson + * lib/pkcs11_write.c: simplified gnutls_pkcs11_copy_x509_crt() - * lib/pkcs11_write.c: Fix possible infloop and build warning about - uninitialied variable. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Simon Josefsson + * doc/Makefile.am, doc/scripts/gdoc, doc/scripts/getfuncs.pl, + lib/includes/gnutls/gnutls.h.in: Improvements in the detection of + function prototypes to account for the new indentation. - * lib/accelerated/intel/aes-gcm-padlock.c, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-padlock.h, lib/gnutls_sig.c, - lib/gnutls_state.c, lib/gnutls_ui.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/x509.h, lib/openpgp/gnutls_openpgp.c, - lib/pkcs11_privkey.c: Fix build errors. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Simon Josefsson + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi, + doc/manpages/tpmtool.1: doc update - * doc/manpages/Makefile.am: Generated. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-09 Simon Josefsson + * lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, + lib/includes/gnutls/crypto.h, lib/includes/gnutls/dtls.h, + lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/ocsp.h, + lib/includes/gnutls/openpgp.h, lib/includes/gnutls/pkcs11.h, + lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/tpm.h, + lib/includes/gnutls/x509.h, lib/includes/gnutls/xssl.h: improved + indentation in headers. - * gl/m4/getcwd.m4, gl/m4/gnulib-common.m4, gl/m4/largefile.m4, - gl/tests/init.sh, gl/tests/lstat.c, gl/tests/open.c, - gl/tests/stat.c, gl/tests/test-float.c, gl/unistd.in.h, maint.mk: - Update gnulib files. +2013-11-09 Nikos Mavrogiannopoulos -2011-09-08 Nikos Mavrogiannopoulos + * Makefile.am, configure.ac: stribute the autogen'erated files as + .bak and enable them only if local libopts is being used. - * lib/gnutls_handshake.c, lib/gnutls_sig.c, lib/gnutls_srp.c, - lib/gnutls_state.c, lib/gnutls_ui.c, lib/nettle/mac.c: converted - quick data hashes to _gnutls_hash_fast and the hmac equivalent. +2013-11-08 Nikos Mavrogiannopoulos -2011-09-08 Nikos Mavrogiannopoulos + * doc/alert-printlist.c, doc/common.c, doc/common.h, + doc/errcodes.c, doc/examples/ex-alert.c, + doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-anon.c, + doc/examples/ex-client-dtls.c, doc/examples/ex-client-psk.c, + doc/examples/ex-client-resume.c, doc/examples/ex-client-srp.c, + doc/examples/ex-client-x509.c, doc/examples/ex-client-xssl1.c, + doc/examples/ex-client-xssl2.c, doc/examples/ex-crq.c, + doc/examples/ex-ocsp-client.c, doc/examples/ex-pkcs11-list.c, + doc/examples/ex-pkcs12.c, doc/examples/ex-serv-anon.c, + doc/examples/ex-serv-dtls.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, + doc/examples/ex-serv-x509.c, doc/examples/ex-session-info.c, + doc/examples/ex-verify-ssh.c, doc/examples/ex-verify.c, + doc/examples/ex-x509-info.c, doc/examples/examples.h, + doc/examples/print-ciphersuites.c, doc/examples/tcp.c, + doc/examples/udp.c, doc/examples/verify.c, doc/printlist.c, + extra/gnutls_openssl.c, extra/includes/gnutls/openssl.h, + extra/openssl_compat.c, extra/openssl_compat.h, lib/abstract_int.h, + lib/accelerated/accelerated.c, lib/accelerated/cryptodev-gcm.c, + lib/accelerated/cryptodev.c, lib/accelerated/cryptodev.h, + lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86.c, + lib/accelerated/x86/aes-padlock.c, + lib/accelerated/x86/aes-padlock.h, lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/aes-x86.h, lib/accelerated/x86/hmac-padlock.c, + lib/accelerated/x86/sha-padlock.c, + lib/accelerated/x86/sha-padlock.h, lib/accelerated/x86/x86.h, + lib/algorithms.h, lib/algorithms/cert_types.c, + lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/algorithms/ecc.c, lib/algorithms/kx.c, lib/algorithms/mac.c, + lib/algorithms/protocols.c, lib/algorithms/publickey.c, + lib/algorithms/secparams.c, lib/algorithms/sign.c, lib/auth/anon.c, + lib/auth/anon.h, lib/auth/anon_ecdh.c, lib/auth/cert.c, + lib/auth/cert.h, lib/auth/dh_common.c, lib/auth/dh_common.h, + lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/ecdhe.c, + lib/auth/ecdhe.h, lib/auth/psk.c, lib/auth/psk.h, + lib/auth/psk_passwd.c, lib/auth/psk_passwd.h, lib/auth/rsa.c, + lib/auth/rsa_common.h, lib/auth/rsa_psk.c, lib/auth/srp.c, + lib/auth/srp.h, lib/auth/srp_passwd.c, lib/auth/srp_passwd.h, + lib/auth/srp_rsa.c, lib/auth/srp_sb64.c, lib/crypto-api.c, + lib/crypto-backend.c, lib/crypto-backend.h, lib/crypto.h, + lib/debug.c, lib/debug.h, lib/ext/alpn.c, lib/ext/alpn.h, + lib/ext/cert_type.c, lib/ext/ecc.c, lib/ext/ecc.h, + lib/ext/heartbeat.c, lib/ext/heartbeat.h, lib/ext/max_record.c, + lib/ext/new_record_padding.c, lib/ext/safe_renegotiation.c, + lib/ext/safe_renegotiation.h, lib/ext/server_name.c, + lib/ext/server_name.h, lib/ext/session_ticket.c, + lib/ext/session_ticket.h, lib/ext/signature.c, lib/ext/signature.h, + lib/ext/srp.c, lib/ext/srp.h, lib/ext/srtp.c, lib/ext/srtp.h, + lib/ext/status_request.c, lib/ext/status_request.h, + lib/extras/randomart.c, lib/extras/randomart.h, lib/gnutls_alert.c, + lib/gnutls_anon_cred.c, lib/gnutls_asn1_tab.c, lib/gnutls_auth.c, + lib/gnutls_auth.h, lib/gnutls_buffers.c, lib/gnutls_buffers.h, + lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_cipher.h, + lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, + lib/gnutls_compress.c, lib/gnutls_compress.h, + lib/gnutls_constate.c, lib/gnutls_constate.h, lib/gnutls_datum.c, + lib/gnutls_datum.h, lib/gnutls_db.c, lib/gnutls_db.h, + lib/gnutls_dh.c, lib/gnutls_dh.h, lib/gnutls_dh_primes.c, + lib/gnutls_dtls.c, lib/gnutls_dtls.h, lib/gnutls_ecc.c, + lib/gnutls_ecc.h, lib/gnutls_errors.c, lib/gnutls_errors.h, + lib/gnutls_extensions.c, lib/gnutls_extensions.h, + lib/gnutls_global.c, lib/gnutls_global.h, lib/gnutls_handshake.c, + lib/gnutls_handshake.h, lib/gnutls_hash_int.c, + lib/gnutls_hash_int.h, lib/gnutls_helper.c, lib/gnutls_helper.h, + lib/gnutls_int.h, lib/gnutls_kx.c, lib/gnutls_kx.h, + lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, lib/gnutls_mem.c, + lib/gnutls_mem.h, lib/gnutls_mpi.c, lib/gnutls_mpi.h, + lib/gnutls_num.c, lib/gnutls_num.h, lib/gnutls_pcert.c, + lib/gnutls_pk.c, lib/gnutls_pk.h, lib/gnutls_priority.c, + lib/gnutls_privkey.c, lib/gnutls_psk.c, lib/gnutls_pubkey.c, + lib/gnutls_range.c, lib/gnutls_record.c, lib/gnutls_record.h, + lib/gnutls_rsa_export.c, lib/gnutls_session.c, + lib/gnutls_session_pack.c, lib/gnutls_session_pack.h, + lib/gnutls_sig.c, lib/gnutls_sig.h, lib/gnutls_srp.c, + lib/gnutls_srp.h, lib/gnutls_state.c, lib/gnutls_state.h, + lib/gnutls_str.c, lib/gnutls_str.h, lib/gnutls_str_array.h, + lib/gnutls_supplemental.c, lib/gnutls_supplemental.h, + lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_v2_compat.h, + lib/gnutls_x509.c, lib/gnutls_x509.h, + lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, + lib/includes/gnutls/crypto.h, lib/includes/gnutls/dtls.h, + lib/includes/gnutls/gnutlsxx.h, lib/includes/gnutls/ocsp.h, + lib/includes/gnutls/openpgp.h, lib/includes/gnutls/pkcs11.h, + lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/tpm.h, + lib/includes/gnutls/x509.h, lib/includes/gnutls/xssl.h, + lib/locks.c, lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/element.h, + lib/minitasn1/errors.c, lib/minitasn1/gstr.c, lib/minitasn1/gstr.h, + lib/minitasn1/int.h, lib/minitasn1/libtasn1.h, + lib/minitasn1/parser_aux.c, lib/minitasn1/parser_aux.h, + lib/minitasn1/structure.c, lib/minitasn1/structure.h, + lib/minitasn1/version.c, lib/nettle/cipher.c, lib/nettle/egd.c, + lib/nettle/egd.h, lib/nettle/gcm-camellia.c, + lib/nettle/gcm-camellia.h, lib/nettle/init.c, lib/nettle/mac.c, + lib/nettle/mpi.c, lib/nettle/pk.c, lib/nettle/rnd.c, + lib/opencdk/armor.c, lib/opencdk/context.h, lib/opencdk/filters.h, + lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/keydb.h, + lib/opencdk/literal.c, lib/opencdk/main.h, lib/opencdk/misc.c, + lib/opencdk/new-packet.c, lib/opencdk/opencdk.h, + lib/opencdk/packet.h, lib/opencdk/pubkey.c, + lib/opencdk/read-packet.c, lib/opencdk/seskey.c, + lib/opencdk/sig-check.c, lib/opencdk/stream.c, + lib/opencdk/stream.h, lib/opencdk/types.h, + lib/opencdk/write-packet.c, lib/openpgp/compat.c, + lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.c, + lib/openpgp/gnutls_openpgp.h, lib/openpgp/openpgp_int.h, + lib/openpgp/output.c, lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, + lib/openpgp/privkey.c, lib/pin.c, lib/pin.h, lib/pkcs11.c, + lib/pkcs11_int.h, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, + lib/pkcs11_write.c, lib/pkix_asn1_tab.c, lib/random.c, + lib/random.h, lib/system.c, lib/system.h, lib/system_override.c, + lib/tpm.c, lib/vasprintf.c, lib/vasprintf.h, lib/verify-tofu.c, + lib/x509/common.c, lib/x509/common.h, lib/x509/crl.c, + lib/x509/crl_write.c, lib/x509/crq.c, lib/x509/dn.c, + lib/x509/extensions.c, lib/x509/key_decode.c, + lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/ocsp.c, + lib/x509/ocsp_output.c, lib/x509/output.c, lib/x509/pbkdf2-sha1.c, + lib/x509/pbkdf2-sha1.h, lib/x509/pkcs12.c, lib/x509/pkcs12_bag.c, + lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, + lib/x509/privkey_openssl.c, lib/x509/privkey_pkcs8.c, + lib/x509/rfc2818_hostname.c, lib/x509/sign.c, + lib/x509/verify-high.c, lib/x509/verify-high.h, + lib/x509/verify-high2.c, lib/x509/verify.c, lib/x509/x509.c, + lib/x509/x509_dn.c, lib/x509/x509_int.h, lib/x509/x509_write.c, + lib/x509_b64.c, lib/x509_b64.h, lib/xssl.c, lib/xssl.h, + lib/xssl_getline.c, libdane/dane-params.c, libdane/dane.c, + libdane/errors.c, libdane/includes/gnutls/dane.h, + src/benchmark-cipher.c, src/benchmark-tls.c, src/benchmark.c, + src/benchmark.h, src/certtool-cfg.c, src/certtool-cfg.h, + src/certtool-common.c, src/certtool-common.h, + src/certtool-extras.c, src/certtool.c, src/cli-debug.c, src/cli.c, + src/common.c, src/common.h, src/crywrap/crywrap.c, + src/crywrap/crywrap.h, src/crywrap/primes.h, src/danetool.c, + src/inline_cmds.h, src/list.h, src/ocsptool-common.c, + src/ocsptool-common.h, src/ocsptool.c, src/p11tool.c, + src/p11tool.h, src/pkcs11.c, src/psk.c, src/serv.c, src/socket.c, + src/socket.h, src/srptool.c, src/tests.c, src/tests.h, + src/tpmtool.c, src/udp-serv.c, src/udp-serv.h, tests/anonself.c, + tests/certder.c, tests/certificate_set_x509_crl.c, + tests/certuniqueid.c, tests/chainverify-unsorted.c, + tests/chainverify.c, tests/crq_apis.c, tests/crq_key_id.c, + tests/cve-2008-4989.c, tests/cve-2009-1415.c, + tests/cve-2009-1416.c, tests/dhepskself.c, tests/dn.c, tests/dn2.c, + tests/dtls/dtls-stress.c, tests/eagain-common.h, tests/gc.c, + tests/hostname-check.c, tests/infoaccess.c, tests/init_roundtrip.c, + tests/key-openssl.c, tests/mini-alpn.c, tests/mini-cert-status.c, + tests/mini-deflate.c, tests/mini-dtls-heartbeat.c, + tests/mini-dtls-hello-verify.c, tests/mini-dtls-large.c, + tests/mini-dtls-record.c, tests/mini-dtls-rehandshake.c, + tests/mini-dtls-srtp.c, tests/mini-eagain-dtls.c, + tests/mini-eagain.c, tests/mini-emsgsize-dtls.c, + tests/mini-handshake-timeout.c, tests/mini-loss-time.c, + tests/mini-overhead.c, tests/mini-record-2.c, + tests/mini-record-range.c, tests/mini-record.c, + tests/mini-rehandshake.c, tests/mini-rsa-psk.c, tests/mini-tdb.c, + tests/mini-termination.c, tests/mini-x509-2.c, + tests/mini-x509-callbacks.c, tests/mini-x509-cas.c, + tests/mini-x509.c, tests/mini-xssl.c, tests/moredn.c, tests/mpi.c, + tests/nul-in-x509-names.c, tests/ocsp.c, tests/openpgp-auth.c, + tests/openpgp-auth2.c, tests/openpgp-keyring.c, + tests/openpgp_test.c, tests/openpgpself.c, tests/openssl.c, + tests/parse_ca.c, tests/pgps2kgnu.c, tests/pkcs12_encode.c, + tests/pkcs12_s2k.c, tests/pkcs12_s2k_pem.c, tests/pkcs12_simple.c, + tests/priorities.c, tests/pskself.c, tests/record-sizes-range.c, + tests/record-sizes.c, tests/resume-dtls.c, tests/resume.c, + tests/rng-fork.c, tests/rsa-encrypt-decrypt.c, + tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, + tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, + tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c, + tests/set_pkcs12_cred.c, tests/setcredcrash.c, tests/simple.c, + tests/slow/cipher-test.c, tests/slow/gendh.c, tests/slow/keygen.c, + tests/srp/mini-srp.c, tests/suite/ecore/eina_config.h, + tests/suite/ecore/src/include/Eina.h, + tests/suite/ecore/src/include/eina_accessor.h, + tests/suite/ecore/src/include/eina_array.h, + tests/suite/ecore/src/include/eina_benchmark.h, + tests/suite/ecore/src/include/eina_binshare.h, + tests/suite/ecore/src/include/eina_config.h, + tests/suite/ecore/src/include/eina_convert.h, + tests/suite/ecore/src/include/eina_counter.h, + tests/suite/ecore/src/include/eina_cpu.h, + tests/suite/ecore/src/include/eina_error.h, + tests/suite/ecore/src/include/eina_file.h, + tests/suite/ecore/src/include/eina_fp.h, + tests/suite/ecore/src/include/eina_hamster.h, + tests/suite/ecore/src/include/eina_hash.h, + tests/suite/ecore/src/include/eina_inlist.h, + tests/suite/ecore/src/include/eina_iterator.h, + tests/suite/ecore/src/include/eina_lalloc.h, + tests/suite/ecore/src/include/eina_list.h, + tests/suite/ecore/src/include/eina_log.h, + tests/suite/ecore/src/include/eina_magic.h, + tests/suite/ecore/src/include/eina_main.h, + tests/suite/ecore/src/include/eina_matrixsparse.h, + tests/suite/ecore/src/include/eina_mempool.h, + tests/suite/ecore/src/include/eina_module.h, + tests/suite/ecore/src/include/eina_quadtree.h, + tests/suite/ecore/src/include/eina_rbtree.h, + tests/suite/ecore/src/include/eina_rectangle.h, + tests/suite/ecore/src/include/eina_safety_checks.h, + tests/suite/ecore/src/include/eina_sched.h, + tests/suite/ecore/src/include/eina_str.h, + tests/suite/ecore/src/include/eina_strbuf.h, + tests/suite/ecore/src/include/eina_stringshare.h, + tests/suite/ecore/src/include/eina_tiler.h, + tests/suite/ecore/src/include/eina_trash.h, + tests/suite/ecore/src/include/eina_types.h, + tests/suite/ecore/src/include/eina_unicode.h, + tests/suite/ecore/src/include/eina_ustrbuf.h, + tests/suite/ecore/src/include/eina_ustringshare.h, + tests/suite/ecore/src/lib/Ecore.h, + tests/suite/ecore/src/lib/Ecore_Getopt.h, + tests/suite/ecore/src/lib/ecore.c, + tests/suite/ecore/src/lib/ecore_anim.c, + tests/suite/ecore/src/lib/ecore_app.c, + tests/suite/ecore/src/lib/ecore_events.c, + tests/suite/ecore/src/lib/ecore_exe.c, + tests/suite/ecore/src/lib/ecore_getopt.c, + tests/suite/ecore/src/lib/ecore_glib.c, + tests/suite/ecore/src/lib/ecore_idle_enterer.c, + tests/suite/ecore/src/lib/ecore_idle_exiter.c, + tests/suite/ecore/src/lib/ecore_idler.c, + tests/suite/ecore/src/lib/ecore_job.c, + tests/suite/ecore/src/lib/ecore_main.c, + tests/suite/ecore/src/lib/ecore_pipe.c, + tests/suite/ecore/src/lib/ecore_poll.c, + tests/suite/ecore/src/lib/ecore_private.h, + tests/suite/ecore/src/lib/ecore_signal.c, + tests/suite/ecore/src/lib/ecore_thread.c, + tests/suite/ecore/src/lib/ecore_time.c, + tests/suite/ecore/src/lib/ecore_timer.c, + tests/suite/ecore/src/lib/eina_accessor.c, + tests/suite/ecore/src/lib/eina_array.c, + tests/suite/ecore/src/lib/eina_benchmark.c, + tests/suite/ecore/src/lib/eina_binshare.c, + tests/suite/ecore/src/lib/eina_chained_mempool.c, + tests/suite/ecore/src/lib/eina_convert.c, + tests/suite/ecore/src/lib/eina_counter.c, + tests/suite/ecore/src/lib/eina_cpu.c, + tests/suite/ecore/src/lib/eina_error.c, + tests/suite/ecore/src/lib/eina_file.c, + tests/suite/ecore/src/lib/eina_fp.c, + tests/suite/ecore/src/lib/eina_hamster.c, + tests/suite/ecore/src/lib/eina_hash.c, + tests/suite/ecore/src/lib/eina_inlist.c, + tests/suite/ecore/src/lib/eina_iterator.c, + tests/suite/ecore/src/lib/eina_lalloc.c, + tests/suite/ecore/src/lib/eina_list.c, + tests/suite/ecore/src/lib/eina_log.c, + tests/suite/ecore/src/lib/eina_magic.c, + tests/suite/ecore/src/lib/eina_main.c, + tests/suite/ecore/src/lib/eina_matrixsparse.c, + tests/suite/ecore/src/lib/eina_mempool.c, + tests/suite/ecore/src/lib/eina_module.c, + tests/suite/ecore/src/lib/eina_private.h, + tests/suite/ecore/src/lib/eina_quadtree.c, + tests/suite/ecore/src/lib/eina_rbtree.c, + tests/suite/ecore/src/lib/eina_rectangle.c, + tests/suite/ecore/src/lib/eina_safety_checks.c, + tests/suite/ecore/src/lib/eina_sched.c, + tests/suite/ecore/src/lib/eina_share_common.c, + tests/suite/ecore/src/lib/eina_share_common.h, + tests/suite/ecore/src/lib/eina_str.c, + tests/suite/ecore/src/lib/eina_strbuf.c, + tests/suite/ecore/src/lib/eina_strbuf_common.c, + tests/suite/ecore/src/lib/eina_strbuf_common.h, + tests/suite/ecore/src/lib/eina_stringshare.c, + tests/suite/ecore/src/lib/eina_tiler.c, + tests/suite/ecore/src/lib/eina_unicode.c, + tests/suite/ecore/src/lib/eina_ustrbuf.c, + tests/suite/ecore/src/lib/eina_ustringshare.c, + tests/suite/ecore/src/lib/eina_value.c, tests/suite/mini-eagain2.c, + tests/suite/mini-record-timing.c, tests/utils.c, tests/utils.h, + tests/x509_altname.c, tests/x509cert-tl.c, tests/x509cert.c, + tests/x509dn.c, tests/x509self.c, tests/x509sign-verify.c: + reindented code + +2013-11-08 Nikos Mavrogiannopoulos + + * lib/pkcs11.c: doc update + +2013-11-08 Nikos Mavrogiannopoulos + + * lib/includes/gnutls/gnutls.h.in, lib/x509/privkey.c: in + gnutls_x509_privkey_generate() allow specifying an explicit curve. + +2013-11-07 Daniel Kahn Gillmor + + * src/certtool-args.def, src/certtool-common.c, + src/certtool-common.h, src/certtool.c: enable --outder for certtool + --dh-info "certool --dh-info --outder" produces PEM-encoded output without + this patch. + +2013-11-07 Daniel Kahn Gillmor + + * src/certtool-args.def, src/certtool-common.c: enable --inder for + certtool --dh-info certtool --dh-info is unable to read DER-encoded DH parameters + without this patch. + +2013-11-06 Nikos Mavrogiannopoulos - * lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-gcm-padlock.c, - lib/accelerated/intel/aes-padlock.c, - lib/accelerated/intel/aes-padlock.h, - lib/accelerated/intel/aes-x86.h, lib/accelerated/intel/padlock.c: - Added padlock support to GCM ciphers. + * NEWS: doc update -2011-09-08 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/gnutls_extensions.c: do not reset length + * doc/manpages/tpmtool.1: doc update -2011-09-08 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_extensions.c: Do not send an empty extension - structure in server hello. This affects old implementations that do - not support extensions. Reported by J. Cameijo Cerdeira. + * lib/gnutls_errors.c: doc update -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c: Corrected documentation for - gnutls_certificate_set_x509_trust. Reported by Stephen Lynch. + * configure.ac: use srcdir as prefix -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: minimized example + * configure.ac: removed unneeded command -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/accelerated/intel/asm/padlock-x86-64.s, - lib/accelerated/intel/asm/padlock-x86.s: Added gnustack flag + * configure.ac: print the flags used for libopts -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/padlock.c, - lib/crypto-api.c, lib/crypto-backend.h, lib/ext/session_ticket.c, - lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, - lib/gnutls_constate.c, lib/includes/gnutls/crypto.h, - lib/nettle/cipher.c, lib/x509/privkey_pkcs8.c: Added encryption flag - to simplify and optimize key expansion. + * configure.ac: delete libopts generated files if system libopts is + being used -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * AUTHORS, lib/accelerated/accelerated.c, - lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h, - lib/accelerated/intel/asm/padlock-x86-64.s, - lib/accelerated/intel/asm/padlock-x86.s, - lib/accelerated/intel/padlock.c: Added support for VIA padlock based - on Andy's code (untested). + * lib/algorithms.h, lib/algorithms/ciphers.c, lib/gnutls_cipher.c, + lib/gnutls_constate.c, lib/gnutls_dtls.c, lib/gnutls_int.h: + separated the TLS IV size and the cipher IV size. -2011-09-07 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h: - corrected AES-NI code. + * configure.ac, src/libopts/Makefile.am: fixes in libopts + compilation -2011-09-06 Nikos Mavrogiannopoulos +2013-11-06 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c: simplified - gnutls_certificate_set_x509_trust_file. It uses - gnutls_certificate_set_x509_trust_mem. + * Makefile.am: make sure that .def files will be re-read on the + compiling system. -2011-09-06 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c, lib/x509/x509.c: Modified fix of "Allow CA - importing of 0 certificates to succeed". - gnutls_x509_crt_list_import() is still failing when no certificates - are found and only gnutls_certificate_set_x509_trust_mem() returns - zero when no certificates are found. + * src/libopts/ag-char-map.h, src/libopts/ao-strs.c, + src/libopts/ao-strs.h, src/libopts/autoopts/options.h, + src/libopts/autoopts/usage-txt.h, src/libopts/compat/compat.h, + src/libopts/compat/strchr.c, src/libopts/configfile.c, + src/libopts/genshell.c, src/libopts/genshell.h, + src/libopts/m4/libopts.m4, src/libopts/option-value-type.c, + src/libopts/option-value-type.h, + src/libopts/option-xat-attribute.c, + src/libopts/option-xat-attribute.h, src/libopts/pgusage.c, + src/libopts/proto.h, src/libopts/streqvcmp.c, + src/libopts/text_mmap.c, src/libopts/usage.c: updated to libopts + 5.18.2 -2011-09-06 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_pubkey.c, lib/includes/gnutls/abstract.h, - lib/libgnutls.map, lib/pkcs11.c, lib/pkcs11_int.h, - lib/pkcs11_privkey.c, lib/pkcs11_write.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/privkey.c, lib/x509/x509_int.h, - src/certtool-common.h, src/certtool.c, src/pkcs11.c, src/prime.c: - Added support to read elliptic curve public keys from PKCS #11 - tokens (untested). + * src/certtool-cfg.c: better logging -2011-09-05 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, - lib/pkcs11.c, lib/pkcs11_int.h, lib/pkcs11_privkey.c, - lib/pkcs11_write.c, src/certtool-common.c, src/certtool-common.h, - src/certtool-gaa.c, src/certtool.c, src/certtool.gaa, - src/p11common.c, src/p11tool-gaa.c, src/p11tool-gaa.h, - src/p11tool.c, src/p11tool.gaa, src/p11tool.h, src/pkcs11.c: Added - gnutls_pkcs11_privkey_generate(). p11tool can be used to generate - keys in tokens. + * lib/x509/x509_dn.c: bug fix in gnutls_x509_crt_set_dn() at DN + parsing. -2011-09-06 Simon Josefsson +2013-11-05 Nikos Mavrogiannopoulos - * NEWS, lib/x509/x509.c, tests/parse_ca.c: libgnutls: Allow CA - importing of 0 certificates to succeed. Reported by Jonathan Nieder in - . + * lib/x509/x509_dn.c: removed debugging info -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * ChangeLog: updated changelog + * lib/gnutls_priority.c: do not set any default level -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * README, README-alpha: simplified README + * lib/gnutls_priority.c: Assign very weak level to priority string + NONE only. -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.h: documented extra alignment + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi: doc update -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: cleaned-up code + * .gitignore: ignore auto-generated files -2011-09-04 Andreas Metzler +2013-11-05 Nikos Mavrogiannopoulos - * configure.ac: Add p11-kit-1 to gnutls.pc Requires.private. If building with PKCS#11 support append p11-kit-1 to gnutls.pc - Requires.private. Signed-off-by: Nikos Mavrogiannopoulos + * src/libopts/Makefile.am, src/libopts/ag-char-map.h, + src/libopts/alias.c, src/libopts/ao-strs.c, src/libopts/ao-strs.h, + src/libopts/autoopts.c, src/libopts/autoopts.h, + src/libopts/autoopts/options.h, src/libopts/autoopts/project.h, + src/libopts/autoopts/usage-txt.h, src/libopts/compat/pathfind.c, + src/libopts/configfile.c, src/libopts/enum.c, src/libopts/find.c, + src/libopts/genshell.c, src/libopts/genshell.h, + src/libopts/gettext.h, src/libopts/init.c, src/libopts/load.c, + src/libopts/m4/libopts.m4, src/libopts/makeshell.c, + src/libopts/option-value-type.c, src/libopts/option-value-type.h, + src/libopts/option-xat-attribute.c, + src/libopts/option-xat-attribute.h, src/libopts/pgusage.c, + src/libopts/proto.h, src/libopts/putshell.c, src/libopts/restore.c, + src/libopts/save.c, src/libopts/stack.c, src/libopts/text_mmap.c, + src/libopts/usage.c, src/libopts/version.c: updated libopts to 5.18 -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * src/certtool-args.c, src/certtool-args.h, src/cli-args.c, + src/cli-args.h, src/cli-debug-args.c, src/cli-debug-args.h, + src/danetool-args.c, src/danetool-args.h, src/ocsptool-args.c, + src/ocsptool-args.h, src/p11tool-args.c, src/p11tool-args.h, + src/psk-args.c, src/psk-args.h, src/serv-args.c, src/serv-args.h, + src/srptool-args.c, src/srptool-args.h, src/tpmtool-args.c, + src/tpmtool-args.h: removed autogenerated files -2011-09-04 Nikos Mavrogiannopoulos +2013-11-05 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: documentation updates + * configure.ac, src/Makefile.am: If autogen and libopts are present + then use the system's libopts. -2011-09-03 Nikos Mavrogiannopoulos +2013-11-04 Daniel Kahn Gillmor - * lib/gnutlsxx.cpp: updated for lowat + * src/args-std.def, src/certtool-args.def, src/cli-args.def, + src/danetool-args.def, src/psk-args.def, src/srptool-args.def: + argument descriptions should not end in a dot When the descrip value for an argument ends in a dot, the rendered + documentation places two dots (for example "specify a password + file.." in srptool(1)). Most of the descriptions are declared properly (without a trailing + dot), but this patch should clean up the rest. After this commit, any auto-generated documentation that is + committed to git will probably will also need to be refreshed (or + removed from git entirely and generated from the definitions during + build, which might be cleaner). -2011-09-02 Nikos Mavrogiannopoulos +2013-11-01 Daniel Kahn Gillmor - * doc/cha-auth.texi, doc/cha-cert-auth.texi, - doc/cha-functions.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi: documentation updates. @acronym was removed - from the cindex. + * src/tests.c: fix DHE parameter output for gnutls-cli-debug + --verbose gnutls_handshake() was failing during test_dhe_group, with an error + of GNUTLS_E_NO_PRIORITIES_WERE_SET. Adding this call fixes the + handshake so that DHE group details can be printed when requested. Signed-off-by: Nikos Mavrogiannopoulos -2011-09-02 Nikos Mavrogiannopoulos +2013-11-02 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: set_lowat was removed as a macro. + * src/benchmark-tls.c, tests/mini-deflate.c, + tests/mini-eagain-dtls.c, tests/mini-eagain.c, + tests/mini-emsgsize-dtls.c, tests/record-sizes-range.c, + tests/record-sizes.c: Do not use gnutls_dh_set_prime_bits() in + server side. -2011-09-01 Nikos Mavrogiannopoulos +2013-11-02 Nikos Mavrogiannopoulos - * doc/cha-programs.texi: simplified examples + * lib/gnutls_ui.c: setting the DH prime bits to zero shouldn't print + a warning as it is the same as not setting it. Reported by Daniel + Kahn Gillmor. -2011-09-01 Nikos Mavrogiannopoulos +2013-11-02 Nikos Mavrogiannopoulos - * doc/examples/ex-serv-pgp.c, tests/openpgp-certs/testcerts: - explicitly enable openpgp certtype in tests. + * NEWS: doc update -2011-09-01 Nikos Mavrogiannopoulos +2013-11-02 Nikos Mavrogiannopoulos - * NEWS: updated + * src/certtool.c: Do not print private key parameters when exporting + an encrypted private key. -2011-09-01 Nikos Mavrogiannopoulos +2013-11-01 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: bumped version + * src/common.c: conditionally use ALPN. Reported by Jaak Ristioja. -2011-09-01 Nikos Mavrogiannopoulos +2013-05-21 Stef Walter - * doc/cha-bib.texi, doc/cha-gtls-app.texi, doc/latex/gnutls.bib: - more doc on MTU. + * configure.ac, lib/pkcs11.c: [PATCH] Update to use new p11-kit APIs Some of the older APIs were deprecated in order to support multiple + callers of the same PKCS#11 module correctly. This increases the necessary p11-kit to 0.19.1 or later. -2011-09-01 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * tests/openpgpself.c: explicitly enable openpgp certtype in tests. + * cross.mk: updated win32 makefile -2011-09-01 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, lib/system_override.c: Added documentation - on asynchronous operation. + * tests/cert-tests/pem-decoding: win32 fix -2011-08-31 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * configure.ac: do not exit configure if p11-kit is not found. + * src/pkcs11.c: include proper header file for uint8_t -2011-08-31 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_priority.c: OpenPGP certificate type priority is - not enabled by default. + * NEWS: released 3.2.6 -2011-08-31 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * NEWS, doc/cha-gtls-app.texi, lib/gnutls_handshake.c, - lib/gnutls_int.h, lib/gnutls_priority.c: Added %NO_EXTENSIONS - priority string. + * doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h: corrected example -2011-08-30 Nikos Mavrogiannopoulos +2013-10-31 Nikos Mavrogiannopoulos - * doc/printlist.c: doc fixes + * lib/gnutls_record.c: debug_log -> record_log -2011-08-30 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * tests/suite/testcompat-main: disabled test + * lib/gnutls_record.c: Duplicate messages moved from audit log to + debug log. There are networks where this is extremely common. -2011-08-30 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * libextra/openssl_compat.c, libextra/openssl_compat.h: removed old - and unused compatibility functions. + * doc/Makefile.am, doc/manpages/Makefile.am: Added new functions -2011-08-30 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * lib/includes/gnutls/x509.h, lib/x509/crl.c, lib/x509/crq.c, - lib/x509/extensions.c, lib/x509/key_decode.c, lib/x509/output.c, - lib/x509/privkey.c, lib/x509/x509.c, lib/x509/x509_int.h, - libextra/gnutls_openssl.c, src/crywrap/crywrap.c: corrected sign - type errors for integers. + * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi, + doc/cha-gtls-app.texi, doc/cha-gtls-examples.texi, + doc/cha-internals.texi, doc/cha-intro-tls.texi, doc/cha-tokens.texi: + replaced ':' in anchor names (texinfo doesn't like it). -2011-08-30 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Corrected error checking in - _gnutls_send_int(). + * doc/cha-upgrade.texi: doc update -2011-08-29 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: doc updates + * lib/pkcs11_write.c: simplified code -2011-08-29 Nikos Mavrogiannopoulos +2013-10-30 Nikos Mavrogiannopoulos - * NEWS, src/certtool-cfg.c, src/common.h: removed unneeded header. - Documented updates. + * NEWS, configure.ac, m4/hooks.m4: bumped version -2011-08-29 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * lib/nettle/ecc.h, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_verify_hash.c: Avoid assert() and do not include - needless headers. + * build-aux/pmccabe2html, gl/Makefile.am, gl/dup2.c, gl/m4/dup2.m4, + gl/m4/extern-inline.m4, gl/m4/getdtablesize.m4, + gl/m4/gnulib-comp.m4, gl/m4/intl.m4, gl/m4/inttypes.m4, + gl/m4/manywarnings.m4, gl/m4/unistd_h.m4, gl/m4/warnings.m4, + gl/signal.in.h, gl/stdio-impl.h, gl/stdio.in.h, gl/sys_socket.in.h, + gl/sys_time.in.h, gl/tests/Makefile.am, gl/tests/binary-io.h, + gl/tests/getdtablesize.c, gl/tests/inttypes.in.h, + gl/tests/macros.h, gl/tests/strerror-override.h, + gl/tests/test-dup2.c, gl/tests/test-getdtablesize.c, + gl/tests/test-sys_select.c, gl/tests/test-sys_time.c, gl/u64.h, + gl/unistd.in.h, gl/verify.h, gl/xsize.h, maint.mk: updated gnulib. -2011-08-29 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * tests/suite/testcompat: skip if datefudge is not available + * libdane/dane.c: Removed unused parameter. -2011-08-29 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * lib/accelerated/x86.h: Modified cpuid for 32-bit x86 to avoid a - gcc issue (not finding a register). + * tests/suite/testdane: Better DANE test output. -2011-08-28 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * NEWS, src/Makefile.am, src/benchmark-cipher.c, - src/benchmark-tls.c, src/benchmark.h, src/cli-gaa.c, src/cli-gaa.h, - src/cli.gaa: Benchmark applications were incorporated to gnutls-cli + * libdane/dane.c: reindented code -2011-08-28 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c: Corrected DH-ANON ciphersuite - names. + * libdane/dane.c: Reorganized main loop in dane_raw_tlsa -2011-08-27 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/gnutls-pgp.eps, doc/gnutls-x509.eps: - updated figures. + * src/danetool.c: Added proper newlines to errors. -2011-08-27 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * NEWS, lib/x509/x509.c: XmppAddr -> UTF8String + * doc/cha-gtls-app.texi, lib/gnutls_state.c: doc update -2011-08-27 Nikos Mavrogiannopoulos +2013-10-29 Nikos Mavrogiannopoulos - * lib/openpgp/gnutls_openpgp.c, lib/openpgp/privkey.c, - lib/x509/x509.c: more updates in private key copy. + * lib/accelerated/cryptodev.c: corrected typo -2011-08-27 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.h: removed unused variable. + * .gitignore, tests/suite/Makefile.am, + tests/suite/ciphersuite/README, + tests/suite/ciphersuite/registry-ciphers.js, + tests/suite/ciphersuite/registry-ciphers.xslt, + tests/suite/ciphersuite/scan-gnutls.sh, + tests/suite/ciphersuite/test-ciphers.js, + tests/suite/ciphersuite/test-ciphersuites.sh, + tests/suite/ciphersuite/tls-parameters.xml: Added ciphersuite test -2011-08-27 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_privkey.c, lib/gnutls_x509.c, - lib/includes/gnutls/abstract.h, lib/openpgp/gnutls_openpgp.c, - lib/openpgp/gnutls_openpgp.h, lib/openpgp/privkey.c, - lib/x509/x509.c: gnutls_certificate_set_x509_key() and - gnutls_certificate_set_openpgp_key() operate as in gnutls 2.10.x and - do not require to hold the structures. + * tests/mini-handshake-timeout.c: Added a proper termination of + session to avoid issues with premature termination. -2011-08-27 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c: removed unused variables. + * configure.ac, tests/dtls/Makefile.am: we now explicitly check for + librt. -2011-08-26 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Allow out-of-order change_cipher_spec in - DTLS. + * tests/cert-tests/Makefile.am, tests/dsa/Makefile.am, + tests/dtls/Makefile.am, tests/ecdsa/Makefile.am, + tests/key-id/Makefile.am, tests/openpgp-certs/Makefile.am, + tests/pkcs1-padding/Makefile.am, tests/pkcs12-decode/Makefile.am, + tests/pkcs8-decode/Makefile.am, + tests/rsa-md5-collision/Makefile.am, + tests/safe-renegotiation/Makefile.am, tests/sha2/Makefile.am, + tests/slow/Makefile.am, tests/srp/Makefile.am, + tests/suite/Makefile.am, tests/userid/Makefile.am: use the same + environment in all tests -2011-08-24 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi, doc/examples/ex-cert-select-pkcs11.c, - lib/gnutls_buffers.c, lib/gnutls_pubkey.c, lib/gnutls_record.c: - documentation changes. + * tests/cert-tests/pem-decoding: removed unneeded diff option -2011-08-24 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/examples/ex-client-srp.c, doc/examples/ex-serv-srp.c: - gnutls/extra.h is not required for SRP. + * tests/cert-tests/aki, tests/cert-tests/dane, + tests/cert-tests/pathlen, tests/cert-tests/pem-decoding: diff is now + a parameter allowing to override it. -2011-08-23 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/latex/gnutls.tex: leave an empty page + * tests/Makefile.am: LC_ALL is set to C to have predictable outputs + in tests. -2011-08-23 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-bib.texi, doc/cha-cert-auth.texi, - doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/latex/gnutls.bib, doc/latex/gnutls.tex: documentation updates + * tests/mini-handshake-timeout.c: simplified test -2011-08-23 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c: unlock rnd mutex on error. + * NEWS: updated doc -2011-08-23 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/cha-bib.texi, doc/latex/gnutls.bib: bibliography updated + * lib/algorithms/sign.c: Added additional ISO OIDs for RSA-MD5 and + DSA-SHA1. -2011-08-22 Andreas Metzler +2013-10-26 Nikos Mavrogiannopoulos - * lib/libgnutls.map: Export export_gnutls_openpgp_privkey_sign_hash. Signed-off-by: Nikos Mavrogiannopoulos + * doc/invoke-p11tool.texi: p11tool text updated. -2011-08-21 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/system.c: AIX check moved to system.c. + * doc/examples/ex-client-xssl1.c, doc/examples/ex-client-xssl2.c, + doc/examples/print-ciphersuites.c: removed warnings -2011-08-21 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * src/crywrap/crywrap.c: Handle memory allocation errors. + * src/cli.c: removed warnings -2011-08-21 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, doc/manpages/crywrap.8: The crywrap - manpage was removed due to license reasons. + * NEWS, configure.ac, doc/cha-tokens.texi: Support for TPM modules + via trousers is now enabled by default. -2011-08-22 Ludovic Courtès +2013-10-26 Nikos Mavrogiannopoulos - * guile/tests/priorities.scm: guile: Fix `priorities' test to use - `run-test'. This is a followup to commit - cd7b8102316cd4151356c4b2b7909c7435593890 ("guile: Fix tests to match - the `exit' behavior introduced in Guile 2.0.1."). + * NEWS: doc update -2011-08-21 Nikos Mavrogiannopoulos +2013-10-26 Nikos Mavrogiannopoulos - * src/crywrap/Makefile.am: include README to distribution. + * src/p11tool-args.c, src/p11tool-args.def, src/p11tool-args.h, + src/p11tool.c, src/p11tool.h, src/pkcs11.c: Added option + --generate-random to p11tool. -2011-08-21 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * lib/gnutls_ui.c: documentation fixes. + * lib/algorithms/publickey.c, lib/algorithms/sign.c, + lib/x509/common.h: Added ISO OID for RSA-SHA1 signatures. -2011-08-20 Nikos Mavrogiannopoulos +2013-10-24 Wolfgang Meyer zu Bergsten - * doc/cha-cert-auth.texi, doc/cha-internals.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/scripts/mytexi2latex: Use texinfo's word break. + * lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, + lib/pkcs11_int.h, lib/pkcs11_write.c: get random data from pkcs#11 + tokens Signed-off-by: Wolfgang Meyer zu Bergsten -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * NEWS, m4/hooks.m4: updated for release + * lib/algorithms/publickey.c: Added new fallback OID for RSA + certificates. -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * src/crywrap/Makefile.am: Added missing file + * lib/algorithms/ciphersuites.c: Corrected number in + GNUTLS_PSK_CAMELLIA_128_GCM_SHA256. RFC6367 seems to have assigned both {0xC0,0x8D} and {0xC0,0x8E} to + this ciphersuite. However {0xC0,0x8D} should be a typo as it is used + by another ciphersuite in the same document. -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * po/cs.po.in, po/fi.po.in, po/nl.po.in, po/pl.po.in, po/sv.po.in, - po/uk.po.in: Sync with TP. + * lib/algorithms/ciphersuites.c: Corrected the naming of several PSK + ciphersuites -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * lib/Makefile.am: corrected typo + * NEWS: doc update -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: Added hack for AIX systems that may not set - errno property on EAGAIN. + * lib/algorithms/ciphersuites.c: Ciphersuites with ARCFOUR in name + were renamed to ARCFOUR_128 -2011-08-20 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * doc/examples/ex-cert-select-pkcs11.c: simplified PKCS #11 token - example. + * NEWS, lib/algorithms/ciphersuites.c: Fixed ciphersuites + GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 and + GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384. -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - lib/gnutls_record.c, lib/system_override.c: documentation updates + * NEWS: updated doc -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * .gitignore: updated ignored files. + * lib/algorithms/secparams.c: Increased minimum acceptable DH key to + 767 bits. -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * tests/resume.c: Corrected session resumption test. + * tests/priorities.c: updated priorities for new ciphersuites -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * tests/utils.c: Avoid using vfprintf() and use a combination of - vsnprintf and fputs instead. My gnulib has issues with them. + * cross.mk: updated -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * gl/Makefile.am, gl/m4/gnulib-cache.m4: added vfprintf-posix - (needed by tests) + * NEWS: doc update -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * configure.ac: depend on p11-kit 0.4+. + * lib/algorithms/ciphersuites.c: Added ciphersuite + GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 -2011-08-19 Nikos Mavrogiannopoulos +2013-10-25 Nikos Mavrogiannopoulos - * NEWS, lib/Makefile.am, lib/auth/cert.c, lib/auth/cert.h, - lib/gnutls_cert.c, lib/gnutls_str_array.h, lib/gnutls_x509.c, - lib/openpgp/gnutls_openpgp.c: Removed the limitation of one name per - certificate. + * tests/chainverify.c: Applied small patch by Jeremie + Courreges-Anglas to avoid usage of error(). -2011-08-19 Nikos Mavrogiannopoulos +2013-10-24 Alon Bar-Lev - * doc/cha-auth.texi: rephrased text on anonymous authentication. + * src/cli.c: cli: add missing stdbool.h Signed-off-by: Alon Bar-Lev Signed-off-by: + Nikos Mavrogiannopoulos -2011-08-17 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * doc/cha-programs.texi: small update in psktool + * lib/algorithms/ciphersuites.c: Restrict ciphersuites that use SHA2 + or better to TLS1.0 or later. -2011-08-17 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * NEWS: updated crywrap + * lib/gnutls_priority.c, tests/priorities.c: Added camellia-gcm into + the default priority levels, and prioritized GCM over CBC + everywhere. -2011-08-17 Nikos Mavrogiannopoulos +2013-10-23 Christian Grothoff - * NEWS: documented changes + * libdane/dane.c, libdane/includes/gnutls/dane.h: Adding option + DANE_F_IGNORE_DNSSEC to disable loading of the DNSSEC root key + entirely when initializing a dane_state_t. This is a useful optimization if the DANE/TLSA data is initialized + from a source other than libunbound/DNS, as then the DNSSEC root key + would not be used anyway. Worse, if we failed to read the DNSSEC + root key, this would create a failure even though for applications + that do not use DNSSEC (but do use DANE/TLSA) such a failure would + be totally harmless. -2011-08-17 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * lib/auth/cert.c, lib/auth/cert.h, lib/gnutls_cert.c, - lib/gnutls_state.c, lib/gnutls_ui.c, lib/gnutls_x509.c, - lib/openpgp/gnutls_openpgp.c: gnutls_certificate_set_x509_key_file() - and friends support server name indication. If multiple - certificates are set using this function the proper one will be - selected during a handshake, with the limitation of a single name - per certificate. + * NEWS, doc/Makefile.am, doc/invoke-gnutls-cli.texi, + doc/manpages/Makefile.am, doc/scripts/mytexi2latex, + src/Makefile.am, src/cli-args.c, src/cli-args.h, src/common.c: small + changes prior to release -2011-08-17 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * lib/x509/x509.c: Documentation fixes. + * tests/priorities.c: corrected ciphersuite numbers in priorities -2011-08-17 Simon Josefsson +2013-10-23 Nikos Mavrogiannopoulos - * cfg.mk, src/crywrap/crywrap.c: Fix syntax-check nits. + * libdane/dane.c: corrected libdane doc -2011-08-15 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * NEWS, lib/algorithms/ciphers.c: Added AES-256-GCM. Reported by - Benjamin Hof. + * lib/includes/gnutls/gnutls.h.in: Added description for umac -2011-08-14 Nikos Mavrogiannopoulos +2013-10-23 Nikos Mavrogiannopoulos - * NEWS: documented fix + * m4/hooks.m4: bumped version -2011-08-14 Nikos Mavrogiannopoulos +2013-10-22 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, src/p11common.c: - Introduced GNUTLS_PKCS11_PIN_WRONG flag to indicate the previously - given PIN is wrong. + * lib/nettle/cipher.c, lib/nettle/gcm-camellia.c, + lib/nettle/gcm-camellia.h: Added underscore to camellia gcm context. -2011-08-14 Nikos Mavrogiannopoulos +2013-10-22 Nikos Mavrogiannopoulos - * NEWS: documented fix + * NEWS: doc update -2011-08-14 Nikos Mavrogiannopoulos +2013-10-22 Nikos Mavrogiannopoulos - * doc/cha-programs.texi: some discussion on tokens. + * lib/algorithms/ciphersuites.c: rearrangement -2011-08-14 Nikos Mavrogiannopoulos +2013-10-22 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Corrected issue when asking multiple times for PIN. + * lib/algorithms/ciphersuites.c: Removed the _WITH_ from + ciphersuites names. -2011-08-14 Nikos Mavrogiannopoulos +2013-10-22 Nikos Mavrogiannopoulos - * configure.ac: corrected configure test + * lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/includes/gnutls/gnutls.h.in, lib/nettle/Makefile.am, + lib/nettle/cipher.c, lib/nettle/gcm-camellia.c, + lib/nettle/gcm-camellia.h: Added Camellia with GCM -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * src/crywrap/crywrap.c: dhparams have now the 'r' option. + * lib/algorithms/ciphersuites.c: Added the PSK HMAC-based Camellia + ciphersuites from RFC6367. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * src/crywrap/crywrap.c: use audit_log + * lib/algorithms/ciphersuites.c: Added HMAC-based Camellia + ciphersuites from RFC6367. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * src/crywrap/crywrap.c, src/crywrap/crywrap.h: removed unneeded - defintions. + * lib/algorithms/ciphersuites.c: Added Camellia ciphersuites from + RFC5932. Added GNUTLS_RSA_CAMELLIA_128_CBC_SHA256, + GNUTLS_DHE_DSS_CAMELLIA_128_CBC_SHA256, + GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256, + GNUTLS_DH_ANON_CAMELLIA_128_CBC_SHA256, + GNUTLS_RSA_CAMELLIA_256_CBC_SHA256, + GNUTLS_DHE_DSS_CAMELLIA_256_CBC_SHA256, + GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256, + GNUTLS_DH_ANON_CAMELLIA_256_CBC_SHA256. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * src/cli.c: unload_file was modified to accept a pointer. + * lib/algorithms/ciphersuites.c: Added more ciphersuites from + RFC5487. Added GNUTLS_PSK_AES_256_CBC_SHA384, GNUTLS_PSK_NULL_SHA384, + GNUTLS_DHE_PSK_AES_256_CBC_SHA384, GNUTLS_DHE_PSK_NULL_SHA384, + GNUTLS_RSA_PSK_AES_128_GCM_SHA256, + GNUTLS_RSA_PSK_AES_256_GCM_SHA384, + GNUTLS_RSA_PSK_AES_128_CBC_SHA256, + GNUTLS_RSA_PSK_AES_256_CBC_SHA384, GNUTLS_RSA_PSK_NULL_SHA256, + GNUTLS_RSA_PSK_NULL_SHA384. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * NEWS, src/crywrap/Makefile.am, src/crywrap/crywrap.c: corrected - child process cleanup and added option to specify diffie hellman - parameters file. + * lib/algorithms/ciphersuites.c: Added new ciphersuites from + RFC5288. Added GNUTLS_RSA_AES_256_GCM_SHA384, + GNUTLS_DHE_RSA_AES_256_GCM_SHA384, GNUTLS_DHE_DSS_AES_256_GCM_SHA384 + and GNUTLS_DH_ANON_AES_256_GCM_SHA384. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * .gitignore: more files to ignore + * NEWS: doc update -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * doc/manpages/crywrap.8, src/crywrap/crywrap.c, - src/crywrap/crywrap.h: Corrected crywrap's verification procedure. + * src/certtool-cfg.c: corrected type of path_len -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * src/serv.c: use gnutls_sec_param_to_pk_bits() for DH parameter - generation. + * libdane/libdane.map: exported symbols -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, doc/manpages/Makefile.am, - doc/manpages/crywrap.8, gl/Makefile.am, gl/alphasort.c, - gl/argp-ba.c, gl/argp-eexst.c, gl/argp-fmtstream.c, - gl/argp-fmtstream.h, gl/argp-fs-xinl.c, gl/argp-help.c, - gl/argp-namefrob.h, gl/argp-parse.c, gl/argp-pin.c, gl/argp-pv.c, - gl/argp-pvh.c, gl/argp-xinl.c, gl/argp.h, gl/basename-lgpl.c, - gl/dirent.in.h, gl/dirname-lgpl.c, gl/dirname.h, gl/dosname.h, - gl/fpucw.h, gl/frexp.c, gl/frexpl.c, gl/fseeko.c, gl/fseterr.c, - gl/fseterr.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c, - gl/getopt_int.h, gl/getsubopt.c, gl/isnan.c, gl/isnand-nolibm.h, - gl/isnand.c, gl/isnanf-nolibm.h, gl/isnanf.c, gl/isnanl-nolibm.h, - gl/isnanl.c, gl/m4/alphasort.m4, gl/m4/argp.m4, gl/m4/dirent_h.m4, - gl/m4/dirname.m4, gl/m4/double-slash-root.m4, gl/m4/dup2.m4, - gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/exponentd.m4, - gl/m4/exponentf.m4, gl/m4/exponentl.m4, gl/m4/frexp.m4, - gl/m4/frexpl.m4, gl/m4/getcwd.m4, gl/m4/getopt.m4, - gl/m4/getsubopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, - gl/m4/isnand.m4, gl/m4/isnanf.m4, gl/m4/isnanl.m4, gl/m4/ldexpl.m4, - gl/m4/lstat.m4, gl/m4/malloca.m4, gl/m4/math_h.m4, - gl/m4/mempcpy.m4, gl/m4/mode_t.m4, gl/m4/nocrash.m4, gl/m4/open.m4, - gl/m4/printf-frexp.m4, gl/m4/printf-frexpl.m4, gl/m4/putenv.m4, - gl/m4/rawmemchr.m4, gl/m4/scandir.m4, gl/m4/setenv.m4, - gl/m4/signbit.m4, gl/m4/sleep.m4, gl/m4/stat.m4, - gl/m4/strchrnul.m4, gl/m4/strndup.m4, gl/m4/strnlen.m4, - gl/m4/symlink.m4, gl/m4/sysexits.m4, gl/m4/vfprintf-posix.m4, - gl/m4/vprintf-posix.m4, gl/math.in.h, gl/mempcpy.c, - gl/printf-frexp.c, gl/printf-frexp.h, gl/printf-frexpl.c, - gl/printf-frexpl.h, gl/rawmemchr.c, gl/rawmemchr.valgrind, - gl/scandir.c, gl/signbitd.c, gl/signbitf.c, gl/signbitl.c, - gl/sleep.c, gl/strchrnul.c, gl/strchrnul.valgrind, gl/stripslash.c, - gl/strndup.c, gl/strnlen.c, gl/sysexits.in.h, gl/tests/Makefile.am, - gl/tests/dummy.c, gl/tests/dup2.c, gl/tests/fpucw.h, - gl/tests/getcwd-lgpl.c, gl/tests/ignore-value.h, gl/tests/lstat.c, - gl/tests/malloca.c, gl/tests/malloca.h, gl/tests/malloca.valgrind, - gl/tests/minus-zero.h, gl/tests/nan.h, gl/tests/open.c, - gl/tests/putenv.c, gl/tests/same-inode.h, gl/tests/setenv.c, - gl/tests/stat.c, gl/tests/symlink.c, gl/tests/test-argp-2.sh, - gl/tests/test-argp.c, gl/tests/test-dirent.c, gl/tests/test-dup2.c, - gl/tests/test-environ.c, gl/tests/test-fprintf-posix.h, - gl/tests/test-frexp.c, gl/tests/test-frexpl.c, - gl/tests/test-fseeko3.c, gl/tests/test-fseeko3.sh, - gl/tests/test-fseterr.c, gl/tests/test-getcwd-lgpl.c, - gl/tests/test-getopt.c, gl/tests/test-getopt.h, - gl/tests/test-getopt_long.h, gl/tests/test-ignore-value.c, - gl/tests/test-isnand-nolibm.c, gl/tests/test-isnand.h, - gl/tests/test-isnanf-nolibm.c, gl/tests/test-isnanf.h, - gl/tests/test-isnanl-nolibm.c, gl/tests/test-isnanl.h, - gl/tests/test-lstat.c, gl/tests/test-lstat.h, - gl/tests/test-malloc-gnu.c, gl/tests/test-malloca.c, - gl/tests/test-math.c, gl/tests/test-open.c, gl/tests/test-open.h, - gl/tests/test-printf-frexp.c, gl/tests/test-printf-frexpl.c, - gl/tests/test-printf-posix.h, gl/tests/test-printf-posix.output, - gl/tests/test-rawmemchr.c, gl/tests/test-setenv.c, - gl/tests/test-signbit.c, gl/tests/test-sleep.c, - gl/tests/test-stat.c, gl/tests/test-stat.h, - gl/tests/test-strchrnul.c, gl/tests/test-strnlen.c, - gl/tests/test-symlink.c, gl/tests/test-symlink.h, - gl/tests/test-sysexits.c, gl/tests/test-unsetenv.c, - gl/tests/test-vfprintf-posix.c, gl/tests/test-vfprintf-posix.sh, - gl/tests/test-vprintf-posix.c, gl/tests/test-vprintf-posix.sh, - gl/tests/unsetenv.c, gl/vfprintf.c, gl/vprintf.c, m4/hooks.m4, - src/Makefile.am, src/crywrap/Makefile.am, src/crywrap/README, - src/crywrap/crywrap.c, src/crywrap/crywrap.h, src/crywrap/primes.h: - Added crywrap to the distributed programs. + * NEWS, libdane/dane.c: small fixes -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Christian Grothoff - * lib/accelerated/intel/.gitignore: files to ignore + * libdane/dane.c, libdane/includes/gnutls/dane.h: Adding + dane_verify_crt_raw to allow direct verification of a certificate + chain against a dane_query_t (for example, as provided by the new + dane_raw_tlsa). Signed-off-by: Nikos Mavrogiannopoulos -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: doc updates + * m4/hooks.m4: bumped dane library version -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-cert-auth.texi, - doc/cha-ciphersuites.texi, doc/cha-errors.texi, - doc/cha-functions.texi, doc/cha-gtls-app.texi, - doc/cha-internals.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, doc/cha-support.texi: do not use capitals in - index names. + * NEWS: doc update -2011-08-13 Nikos Mavrogiannopoulos +2013-10-21 Christian Grothoff - * .gitignore, doc/latex/.gitignore: more files to ignore. + * libdane/dane.c, libdane/includes/gnutls/dane.h: Adding + dane_raw_tlsa to allow initialization of dane_query_t from DANE + records based on external DNS resolutions. Also fixing a buffer + overflow. Signed-off-by: Nikos Mavrogiannopoulos -2011-08-13 Nikos Mavrogiannopoulos +2013-10-17 Daniel Kahn Gillmor - * NEWS, lib/pkcs11.c: If a module is dlopened twice, then - deinitialize the second load. + * lib/x509/output.c, po/cs.po.in, po/de.po.in, po/eo.po.in, + po/fi.po.in, po/fr.po.in, po/it.po.in, po/ms.po.in, po/nl.po.in, + po/pl.po.in, po/sv.po.in, po/uk.po.in, po/vi.po.in, po/zh_CN.po.in, + tests/cert-tests/aki-cert.pem, tests/cert-tests/bmpstring.pem, + tests/cert-tests/ca-no-pathlen.pem, + tests/cert-tests/complex-cert.pem, + tests/cert-tests/no-ca-or-pathlen.pem, tests/hostname-check.c: + Normalize capitalization from "Public Key Id" to "Public Key ID" The GnuTLS codebase produced the string "Public Key Id" in some + places (e.g. in the output of "certtool -i"), and "Public Key ID" in + other places (e.g. in the output of "certtool -k"). This changeset standardizes on "Public Key ID", making the output + consistent across uses. Signed-off-by: Nikos Mavrogiannopoulos -2011-08-13 Nikos Mavrogiannopoulos +2013-10-19 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, lib/gnutls_buffers.c, lib/gnutls_record.c: - documentation updates + * NEWS, lib/gnutls_cert.c, lib/includes/gnutls/gnutls.h.in: Added + gnutls_certificate_get_crt_raw() to return the raw certificate as + present in the credentials structure. -2011-08-13 Nikos Mavrogiannopoulos +2013-10-10 Nikos Mavrogiannopoulos - * doc/cha-library.texi: memory handling section is no longer - applicable + * doc/examples/ex-cert-select-pkcs11.c, src/common.c: corrected + length calculation -2011-08-12 Nikos Mavrogiannopoulos +2013-10-09 Ludovic Courtès - * doc/cha-gtls-app.texi: Added discussion on DTLS functionality + * guile/modules/gnutls/build/priorities.scm, guile/src/core.c: + guile: Fix possible stack overflows. -2011-08-12 Nikos Mavrogiannopoulos +2013-10-09 Nikos Mavrogiannopoulos - * doc/cha-programs.texi, doc/cha-support.texi, doc/cha-tls-app.texi: - corrected typos + * doc/examples/ex-cert-select-pkcs11.c, src/common.c, src/psk.c, + src/srptool.c: Corrected possible buffer overruns in included + programs and examples. Corrected possible buffer overruns in included programs and + examples. Reported by Pedro Ribeiro . -2011-08-12 Nikos Mavrogiannopoulos +2013-10-05 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: updated openssl text + * NEWS: corrected typo -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi: correct typos + * NEWS: doc update -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Nikos Mavrogiannopoulos - * doc/manpages/gnutls-cli.1: do not escape \# + * doc/invoke-srptool.texi, src/srptool-args.c, src/srptool-args.h: + autogen'ed files update -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Attila Molnar - * doc/cha-cert-auth.texi, doc/cha-intro-tls.texi: more updates + * src/srptool.c: Fix srptool issues From dc3a0d6d8d4aa98ccb19641e6668a03d77f381f1 Mon Sep 17 00:00:00 + 2001 From: Attila Molnar Date: Tue, 1 Oct + 2013 13:42:10 +0200 Subject: [PATCH 2/2] srptool: Fix segfault when + an invalid group parameter index is given If no group with the given index was found in the password conf file + srptool crashed instead of reporting the error because the return + value of fgets() wasn't validated before it was passed to atoi(). Signed-off-by: Attila Molnar -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Attila Molnar - * doc/cha-bib.texi, doc/cha-preface.texi, doc/latex/gnutls.bib: - Added reference to anderson's book + * src/srptool-args.def, src/srptool.c: Fix srptool issues From 1fac0e5352e88addb8bf57dcac126918f19d7303 Mon Sep 17 00:00:00 + 2001 From: Attila Molnar Date: Tue, 1 Oct + 2013 13:40:01 +0200 Subject: [PATCH 1/2] srptool: Fix inability to + add users to tpasswd and broken -i switch Signed-off-by: Attila Molnar -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-cert-auth.texi, doc/cha-internals.texi, - doc/gnutls-certificate-user-use-case.eps, - doc/gnutls-extensions.eps, doc/gnutls.texi, - doc/scripts/mytexi2latex, lib/x509/crl_write.c, lib/x509/crq.c, - lib/x509/pkcs12.c, lib/x509/privkey_pkcs8.c, lib/x509/x509.c: - Internals section updated. + * doc/invoke-gnutls-cli.texi, src/cli-args.c, src/cli-args.def, + src/cli-args.h: doc update -2011-08-12 Nikos Mavrogiannopoulos +2013-10-04 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/examples/ex-crq.c, - lib/gnutls_pubkey.c, lib/includes/gnutls/compat.h, - lib/includes/gnutls/x509.h, lib/pkcs11.c, lib/pkcs11_write.c, - lib/x509/crq.c: Documentation updates. gnutls_x509_crq_sign2() and - gnutls_x509_crl_sign2() were removed from the deprecate list to ease - generation of crl and crq structures. + * NEWS: doc update -2011-08-11 Nikos Mavrogiannopoulos +2013-10-04 Nikos Mavrogiannopoulos - * doc/alert-printlist.c, doc/cha-intro-tls.texi, - doc/cha-library.texi, doc/cha-programs.texi, doc/errcodes.c, - doc/printlist.c: updates + * doc/invoke-gnutls-cli.texi, src/cli-args.c, src/cli-args.h: + autogen'ed files update -2011-08-11 Nikos Mavrogiannopoulos +2013-10-03 Raj Raman - * doc/latex/gnutls.tex: changed paper size. + * src/cli-args.def, src/cli.c, src/inline_cmds.h: support inline + command infrastructure in gnutls-cli Signed-off-by: Raj Raman -2011-08-11 Nikos Mavrogiannopoulos +2013-10-03 Nikos Mavrogiannopoulos - * lib/gnutls_global.c: doc update + * tests/cve-2008-4989.c, tests/pkcs12_encode.c: avoid the usage of + error() -2011-08-11 Nikos Mavrogiannopoulos +2013-10-03 Nikos Mavrogiannopoulos - * doc/alert-printlist.c, doc/errcodes.c, doc/printlist.c: reduced - space taken by descriptions. + * configure.ac, m4/hooks.m4: bumped version -2011-08-11 Nikos Mavrogiannopoulos +2013-10-02 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi: more updates. + * lib/tpm.c: include config.h in tpm.c -2011-08-11 Nikos Mavrogiannopoulos +2013-10-01 Nikos Mavrogiannopoulos - * NEWS: documented fixes + * doc/TODO: updated -2011-08-11 Nikos Mavrogiannopoulos +2013-10-01 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h: - Force alignment for AES-NI to the runtime rather than on the - structures. Corrects issue on some systems (reported by Andreas - Radke). + * po/it.po.in: Sync with TP. -2011-08-11 Nikos Mavrogiannopoulos +2013-09-30 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, lib/system_override.c: Added session - initialization discussion + * NEWS: doc update -2011-08-10 Nikos Mavrogiannopoulos +2013-09-30 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: more updates + * lib/algorithms/secparams.c: define subgroup bits for the weak and + export parameters, to allow DH group generation. -2011-08-10 Nikos Mavrogiannopoulos +2013-09-30 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-gtls-app.texi, lib/gnutls_psk.c, - lib/gnutls_x509.c, lib/openpgp/gnutls_openpgp.c: updated - documentation + * doc/cha-gtls-app.texi: document the version macros -2011-08-10 Nikos Mavrogiannopoulos +2013-09-30 Nikos Mavrogiannopoulos - * lib/pkcs11.c: document flags + * doc/cha-tokens.texi: doc update -2011-08-09 Nikos Mavrogiannopoulos +2013-09-30 Nikos Mavrogiannopoulos - * NEWS: corrected typo + * src/tests.c: verbose is everywhere unsigned -2011-08-09 Nikos Mavrogiannopoulos +2013-09-23 Nikos Mavrogiannopoulos - * lib/README: removed reference to pakchois + * NEWS: doc update -2011-08-08 Nikos Mavrogiannopoulos +2013-09-17 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Prevent from loading twice the same module. + * lib/x509/verify-high.c: removed limitation as this has been + resolved -2011-08-08 Nikos Mavrogiannopoulos +2013-09-17 Nikos Mavrogiannopoulos - * lib/accelerated/intel/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s: Added note.GNU-stack to - prevent marking the library as using an executable stack. Reported - by Andreas Metzler. + * doc/cha-intro-tls.texi, lib/ext/heartbeat.c: doc update -2011-08-08 Nikos Mavrogiannopoulos +2013-09-12 Nikos Mavrogiannopoulos - * configure.ac: bumped version + * doc/TODO: doc update -2011-08-08 Nikos Mavrogiannopoulos +2013-09-11 Nikos Mavrogiannopoulos - * lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s: Included appro's updates - to AES-NI. + * lib/gnutls_cipher.c: doc update -2011-08-05 Nikos Mavrogiannopoulos +2013-09-15 Ludovic Courtès - * lib/auth/cert.c: better placement of ifdefs. + * guile/src/Makefile.am: guile: Use intermediary files when + generating code. -2011-08-04 Nikos Mavrogiannopoulos +2013-09-15 Ludovic Courtès - * doc/Makefile.am, doc/cha-gtls-app.texi, doc/cha-internals.texi, - doc/gnutls-extensions.eps, doc/gnutls-extensions_st.eps, - doc/gnutls-mod_auth_st.eps, doc/gnutls-modauth.eps, - doc/latex/Makefile.am, doc/latex/gnutls.tex, - doc/scripts/mytexi2latex: Added discussion of the provided - cryptographic functions. Internals is now included in the latex - document (needs rewrite though) + * guile/src/Makefile.am: guile: Make builds parallel-safe. Reported by Andreas Metzler . -2011-08-03 Simon Josefsson +2013-09-10 Tobias Polzer - * lib/Makefile.am, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/cryptodev.c, - lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c, lib/algorithms.h, - lib/algorithms/Makefile.am, lib/algorithms/cert_types.c, - lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, - lib/algorithms/ecc.c, lib/algorithms/kx.c, lib/algorithms/mac.c, - lib/algorithms/protocols.c, lib/algorithms/publickey.c, - lib/algorithms/secparams.c, lib/algorithms/sign.c, - lib/auth/Makefile.am, lib/auth/anon.c, lib/auth/anon.h, - lib/auth/anon_ecdh.c, lib/auth/cert.c, lib/auth/cert.h, - lib/auth/dh_common.c, lib/auth/dh_common.h, lib/auth/dhe.c, - lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, lib/auth/ecdh_common.h, - lib/auth/psk.c, lib/auth/psk.h, lib/auth/psk_passwd.c, - lib/auth/psk_passwd.h, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/auth/srp.c, lib/auth/srp.h, lib/auth/srp_passwd.c, - lib/auth/srp_passwd.h, lib/auth/srp_rsa.c, lib/auth/srp_sb64.c, - lib/crypto-api.c, lib/crypto-backend.c, lib/crypto-backend.h, - lib/crypto.h, lib/debug.c, lib/debug.h, lib/ext/Makefile.am, - lib/ext/cert_type.c, lib/ext/cert_type.h, lib/ext/ecc.c, - lib/ext/ecc.h, lib/ext/max_record.c, lib/ext/max_record.h, - lib/ext/safe_renegotiation.c, lib/ext/safe_renegotiation.h, - lib/ext/server_name.c, lib/ext/server_name.h, - lib/ext/session_ticket.c, lib/ext/session_ticket.h, - lib/ext/signature.c, lib/ext/signature.h, lib/ext/srp.c, - lib/ext/srp.h, lib/gcrypt/Makefile.am, lib/gcrypt/cipher.c, - lib/gcrypt/init.c, lib/gcrypt/mac.c, lib/gcrypt/mpi.c, - lib/gcrypt/pk.c, lib/gcrypt/rnd.c, lib/gnutls_alert.c, - lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_auth.h, - lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_cert.c, - lib/gnutls_cipher.c, lib/gnutls_cipher.h, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/gnutls_compress.c, - lib/gnutls_compress.h, lib/gnutls_constate.c, - lib/gnutls_constate.h, lib/gnutls_datum.c, lib/gnutls_datum.h, - lib/gnutls_db.c, lib/gnutls_db.h, lib/gnutls_dh.c, lib/gnutls_dh.h, - lib/gnutls_dh_primes.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_ecc.c, lib/gnutls_errors.c, lib/gnutls_errors.h, - lib/gnutls_extensions.c, lib/gnutls_extensions.h, - lib/gnutls_global.c, lib/gnutls_global.h, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_hash_int.c, - lib/gnutls_hash_int.h, lib/gnutls_helper.c, lib/gnutls_int.h, - lib/gnutls_kx.c, lib/gnutls_kx.h, lib/gnutls_mbuffers.c, - lib/gnutls_mbuffers.h, lib/gnutls_mem.c, lib/gnutls_mem.h, - lib/gnutls_mpi.c, lib/gnutls_mpi.h, lib/gnutls_num.c, - lib/gnutls_num.h, lib/gnutls_pcert.c, lib/gnutls_pk.c, - lib/gnutls_pk.h, lib/gnutls_priority.c, lib/gnutls_privkey.c, - lib/gnutls_psk.c, lib/gnutls_pubkey.c, lib/gnutls_record.c, - lib/gnutls_record.h, lib/gnutls_rsa_export.c, - lib/gnutls_rsa_export.h, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_session_pack.h, - lib/gnutls_sig.c, lib/gnutls_sig.h, lib/gnutls_srp.c, - lib/gnutls_srp.h, lib/gnutls_state.c, lib/gnutls_state.h, - lib/gnutls_str.c, lib/gnutls_str.h, lib/gnutls_supplemental.c, - lib/gnutls_supplemental.h, lib/gnutls_ui.c, lib/gnutls_v2_compat.c, - lib/gnutls_v2_compat.h, lib/gnutls_x509.c, lib/gnutls_x509.h, - lib/hash.c, lib/includes/Makefile.am, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/dtls.h, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/gnutlsxx.h, - lib/includes/gnutls/openpgp.h, lib/includes/gnutls/pkcs11.h, - lib/includes/gnutls/pkcs12.h, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/libgnutlsxx.map, lib/locks.c, - lib/nettle/Makefile.am, lib/nettle/cipher.c, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_points.c, - lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_verify_hash.c, lib/nettle/egd.c, lib/nettle/init.c, - lib/nettle/mac.c, lib/nettle/mpi.c, lib/nettle/pk.c, - lib/nettle/rnd.c, lib/opencdk/Makefile.am, lib/opencdk/armor.c, - lib/opencdk/context.h, lib/opencdk/filters.h, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/literal.c, - lib/opencdk/main.c, lib/opencdk/main.h, lib/opencdk/misc.c, - lib/opencdk/new-packet.c, lib/opencdk/opencdk.h, - lib/opencdk/packet.h, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, - lib/opencdk/stream.h, lib/opencdk/types.h, - lib/opencdk/write-packet.c, lib/openpgp/Makefile.am, - lib/openpgp/compat.c, lib/openpgp/extras.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/output.c, - lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, lib/openpgp/privkey.c, - lib/pkcs11.c, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c, lib/random.c, lib/random.h, lib/system.c, - lib/system_override.c, lib/x509/Makefile.am, lib/x509/common.c, - lib/x509/common.h, lib/x509/crl.c, lib/x509/crl_write.c, - lib/x509/crq.c, lib/x509/dn.c, lib/x509/extensions.c, - lib/x509/key_decode.c, lib/x509/key_encode.c, lib/x509/mpi.c, - lib/x509/output.c, lib/x509/pbkdf2-sha1.c, lib/x509/pkcs12.c, - lib/x509/pkcs12_bag.c, lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, - lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, - lib/x509/rfc2818_hostname.c, lib/x509/sign.c, - lib/x509/verify-high.c, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_int.h, lib/x509/x509_write.c, lib/x509_b64.c, - lib/x509_b64.h: Clarify license and copyright. + * lib/gnutls_srp.c: Fixed a typo in the documentation Fixed a typo in the documentation for + gnutls_srp_set_server_credentials_function. Signed-off-by: Nikos Mavrogiannopoulos -2011-08-03 Simon Josefsson +2013-09-09 Nikos Mavrogiannopoulos - * README: Clarify licensing. + * src/Makefile.am: libopts is linked prior to libgnu to solve issue + in win32. Initial patch by Tomasz Gajewski. -2011-08-03 Simon Josefsson +2013-09-08 Nikos Mavrogiannopoulos - * lib/AUTHORS, lib/ChangeLog, lib/NEWS, lib/autogen.sh, - lib/build-aux/arg-nonnull.h, lib/build-aux/c++defs.h, - lib/build-aux/config.rpath, lib/build-aux/warn-on-use.h, - libextra/AUTHORS, libextra/COPYING, libextra/ChangeLog, - libextra/NEWS, libextra/README, libextra/build-aux/config.rpath: - Remove unused files. + * tests/mini-x509-callbacks.c: Test gnutls_handshake_get_last_in() + and gnutls_handshake_get_last_out() for correctness. -2011-08-03 Simon Josefsson +2013-09-08 Nikos Mavrogiannopoulos - * libextra/includes/gnutls/extra.h: Finish removal of inner - application extension support. + * src/tests.c: Ignore non-fatal handshake alerts. -2011-08-03 Simon Josefsson +2013-09-06 Nikos Mavrogiannopoulos - * lib/includes/gnutls/abstract.h, lib/includes/gnutls/dtls.h: More - GTK-DOC fixes. + * tests/suite/mini-record-timing.c: silence warning about return + code -2011-08-03 Simon Josefsson +2013-09-05 Nikos Mavrogiannopoulos - * .x-sc_GPL_version, .x-sc_avoid_if_before_free, - .x-sc_bindtextdomain, .x-sc_cast_of_alloca_return_value, - .x-sc_cast_of_argument_to_free, .x-sc_file_system, - .x-sc_m4_quote_check, .x-sc_makefile_check, .x-sc_program_name, - .x-sc_prohibit_HAVE_MBRTOWC, .x-sc_prohibit_S_IS_definition, - .x-sc_prohibit_empty_lines_at_EOF, - .x-sc_prohibit_strings_without_use, .x-sc_space_tab, .x-sc_the_the, - .x-sc_two_space_separator_in_usage, .x-sc_useless_cpp_parens, - GNUmakefile, THANKS, build-aux/arg-nonnull.h, build-aux/c++defs.h, - build-aux/config.rpath, build-aux/snippet/_Noreturn.h, - build-aux/snippet/arg-nonnull.h, build-aux/snippet/c++defs.h, - build-aux/snippet/warn-on-use.h, build-aux/useless-if-before-free, - build-aux/vc-list-files, build-aux/warn-on-use.h, cfg.mk, - configure.ac, doc/Makefile.am, gl/Makefile.am, gl/alignof.h, - gl/alloca.c, gl/errno.in.h, gl/error.c, gl/float.c, gl/float.in.h, - gl/fseek.c, gl/fseeko.c, gl/ftell.c, gl/intprops.h, - gl/m4/alloca.m4, gl/m4/errno_h.m4, gl/m4/error.m4, - gl/m4/extensions.m4, gl/m4/float_h.m4, gl/m4/fpieee.m4, - gl/m4/fseek.m4, gl/m4/fseeko.m4, gl/m4/ftell.m4, gl/m4/ftello.m4, - gl/m4/getdelim.m4, gl/m4/getline.m4, gl/m4/getpagesize.m4, - gl/m4/getpass.m4, gl/m4/gettime.m4, gl/m4/gettimeofday.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/hmac-md5.m4, gl/m4/include_next.m4, - gl/m4/largefile.m4, gl/m4/lseek.m4, gl/m4/malloc.m4, gl/m4/md5.m4, - gl/m4/memchr.m4, gl/m4/memmem.m4, gl/m4/memxor.m4, - gl/m4/mmap-anon.m4, gl/m4/po.m4, gl/m4/printf.m4, - gl/m4/read-file.m4, gl/m4/realloc.m4, gl/m4/snprintf.m4, - gl/m4/strcase.m4, gl/m4/strdup.m4, gl/m4/strerror.m4, - gl/m4/string_h.m4, gl/m4/strings_h.m4, gl/m4/strverscmp.m4, - gl/m4/time_r.m4, gl/m4/vsnprintf.m4, gl/m4/warn-on-use.m4, - gl/m4/warnings.m4, gl/netdb.in.h, gl/netinet_in.in.h, - gl/stdarg.in.h, gl/stddef.in.h, gl/stdint.in.h, gl/stdio.in.h, - gl/stdlib.in.h, gl/strerror-override.c, gl/strerror-override.h, - gl/strerror.c, gl/string.in.h, gl/strings.in.h, gl/sys_socket.in.h, - gl/sys_stat.in.h, gl/sys_time.in.h, gl/sys_uio.in.h, - gl/tests/Makefile.am, gl/tests/fcntl.in.h, gl/tests/fpucw.h, - gl/tests/init.sh, gl/tests/macros.h, gl/tests/test-float.c, - gl/tests/test-fseek.c, gl/tests/test-fseek.sh, - gl/tests/test-fseek2.sh, gl/tests/test-ftell.c, - gl/tests/test-ftell.sh, gl/tests/test-ftell2.sh, - gl/tests/test-ftell3.c, gl/tests/test-intprops.c, - gl/tests/test-snprintf.c, gl/tests/test-strerror.c, - gl/tests/test-vc-list-files-cvs.sh, - gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, - gl/tests/test-vsnprintf.c, gl/time.in.h, gl/timespec.h, - gl/unistd.in.h, gl/verify.h, gl/wchar.in.h, lib/Makefile.am, - lib/hash.c, lib/pkcs11_privkey.c, maint.mk, src/benchmark-cipher.c, - src/certtool.c, src/cli.c, src/serv.c, tests/Makefile.am, - tests/scripts/common.sh: Update gnulib files. Fix syntax-check - usage. + * lib/gnutls_cipher_int.c: updates in record packet encoding. -2011-08-03 Simon Josefsson +2013-09-05 Nikos Mavrogiannopoulos - * NEWS, README: Add NEWS entries. Use copyright ranges (now - permitted). + * tests/mini-record-2.c: Test the null cipher as well. -2011-08-03 Simon Josefsson +2013-09-04 Nikos Mavrogiannopoulos - * po/LINGUAS, po/cs.po.in, po/fi.po.in, po/nl.po.in, po/pl.po.in, - po/sv.po.in, po/uk.po.in: Sync with TP. + * lib/gnutls_cipher.c: added comments -2011-08-02 Simon Josefsson +2013-09-02 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, doc/reference/Makefile.am, - doc/reference/gnutls-docs.sgml, lib/algorithms/secparams.c, - lib/crypto-api.c, lib/gnutls_cert.c, lib/gnutls_db.c, - lib/gnutls_global.c, lib/gnutls_privkey.c, lib/gnutls_pubkey.c, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/pkcs11.h, lib/locks.c, lib/openpgp/privkey.c, - lib/pkcs11.c, lib/pkcs11_secret.c, lib/pkcs11_write.c, - lib/random.c, lib/system_override.c, lib/x509/crl_write.c, - lib/x509/crq.c, lib/x509/privkey.c, lib/x509/x509.c: More GTK-DOC - improvements. + * gl/m4/intl.m4, gl/m4/warnings.m4, gl/sys_socket.in.h, + gl/sys_time.in.h, gl/tests/binary-io.h, gl/tests/test-sys_select.c, + gl/tests/test-sys_time.c, gl/u64.h, gl/unistd.in.h, gl/xsize.h: + Revert "updated gnulib" This reverts commit 9ad95f3ac723ae85fdfbe4f3a4fab4ededfa7857. -2011-08-02 Simon Josefsson +2013-09-02 Nikos Mavrogiannopoulos - * doc/reference/Makefile.am: Simplify GTK-DOC makefile - IGNORE_HFILES. + * src/certtool-common.c, src/certtool-extras.c, src/certtool.c, + src/danetool.c, src/ocsptool-common.c, src/ocsptool.c, + src/p11tool.c, src/pkcs11.c, src/serv.c, src/tpmtool.c: Avoid using + gnulib's error() -2011-08-02 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * lib/includes/gnutls/gnutls.h.in: updated + * tests/record-sizes.c: record-sizes can only work properly with a + stream cipher. -2011-08-02 Simon Josefsson +2013-09-01 Nikos Mavrogiannopoulos - * lib/algorithms/sign.c, lib/gnutls_dtls.c, lib/gnutls_pubkey.c, - lib/gnutls_record.c, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/dtls.h, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs11.h, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_points.c, - lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_verify_hash.c, lib/pkcs11.c: Fix GTK-DOC manual. + * lib/gnutls_int.h: corrected max_user_send_size() for DTLS. -2011-08-01 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: detect premature termination of connection + * tests/mini-record-2.c: test for excessive records being correctly + send -2011-08-01 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: the - deprecated_config_file from 2.12.x was incorporated. + * lib/gnutls_cipher.c, lib/gnutls_cipher.h, + lib/gnutls_cipher_int.c, lib/gnutls_int.h, lib/gnutls_range.c, + lib/gnutls_record.c, lib/gnutls_record.h: _gnutls_send_tlen_int() + accepts the actual pad rather than the intended data. Corrections in + sending records with %NEW_PADDING. -2011-08-01 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * lib/pkcs11.c: documentation update + * .gitignore: more files to ignore -2011-08-02 Simon Josefsson +2013-09-01 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, doc/reference/gnutls-docs.sgml, - lib/algorithms/ecc.c, lib/crypto-api.c, lib/gnutls_alert.c, - lib/gnutls_cert.c, lib/gnutls_dtls.c, lib/gnutls_global.c, - lib/gnutls_pcert.c, lib/gnutls_pubkey.c, lib/gnutls_record.c, - lib/gnutls_state.c, lib/system_override.c, lib/x509/crl.c, - lib/x509/privkey.c, lib/x509/verify-high.c, lib/x509/x509.c: Add - GTK-DOC Since: tags for 3.0.0 additions. + * gl/m4/intl.m4, gl/m4/warnings.m4, gl/sys_socket.in.h, + gl/sys_time.in.h, gl/tests/binary-io.h, gl/tests/test-sys_select.c, + gl/tests/test-sys_time.c, gl/u64.h, gl/unistd.in.h, gl/xsize.h: + updated gnulib -2011-08-01 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * lib/pkcs11_privkey.c: added asserts. + * tests/suite/testdane: removed dane.nox.su from the good list -2011-08-01 Nikos Mavrogiannopoulos +2013-09-01 Nikos Mavrogiannopoulos - * README, README-alpha: Refer to nettle alone and p11-kit. + * lib/gnutls_global.c: explicitly initialize the log functions -2011-08-01 Stef Walter +2013-08-31 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Don't try to do PKCS#11 login if session is already - logged in. * It is possible for new PKCS#11 sessions to be logged in if another logged in session already exists. * In these cases, don't log in, but detect the condition and return success. Signed-off-by: Nikos Mavrogiannopoulos + * tests/Makefile.am, tests/mini-record-2.c: Added test to send + variable packet sizes. -2011-08-01 Stef Walter +2013-08-31 Nikos Mavrogiannopoulos - * lib/pkcs11_privkey.c: When finding private keys fail, return error - code. * Previously this would result in an endless loop. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: doc update -2011-08-01 Stef Walter +2013-08-31 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: Mark the config - argument of gnutls_pkcs11_init() as unused * Since its no longer used. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_cipher.c: simplified pad calculation -2011-07-31 Nikos Mavrogiannopoulos +2013-08-31 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_str.h, lib/gnutls_x509.c, - lib/includes/gnutls/x509.h, lib/x509/x509.c, tests/x509cert.c: Added - GNUTLS_X509_CRT_LIST_FAIL_IF_UNSORTED flag for - gnutls_x509_crt_list_import. It checks whether the list to be - imported is properly sorted. + * doc/cha-shared-key.texi: mention RSA-PSK -2011-07-31 Nikos Mavrogiannopoulos +2013-08-31 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_errors.c, lib/gnutls_x509.c, - lib/includes/gnutls/gnutls.h.in: Added - GNUTLS_E_CERTIFICATE_LIST_UNSORTED. If a certificate list is loaded - then verify that it is sorted with order to starts with the subject - and finished with the trusted root. That way we make sure we don't - send data that violate the TLS protocol. + * lib/auth/rsa_psk.c: author update -2011-07-31 Nikos Mavrogiannopoulos +2013-08-31 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/latex/macros.tex: documentation - updates. + * lib/auth/rsa_psk.c, lib/gnutls_int.h, lib/gnutls_state.c: + Improvements in RSA-PSK. -2011-07-29 Nikos Mavrogiannopoulos +2013-08-31 Nikos Mavrogiannopoulos - * ChangeLog: updated changelog + * NEWS, m4/hooks.m4: released 3.2.4 -2011-07-29 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * NEWS: released 3.0.0 + * lib/auth/Makefile.am: added missing file -2011-07-28 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * configure.ac: updated version + * lib/auth/rsa_psk.c: indented code -2011-07-28 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * src/certtool-gaa.c, src/certtool.gaa: Corrected typo. + * NEWS: doc update -2011-07-27 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * NEWS: documented updates. + * tests/Makefile.am, tests/mini-rsa-psk.c: Added test program for + RSA-PSK key exchange. -2011-07-27 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * THANKS: Added Petr. + * lib/algorithms/kx.c, lib/auth/cert.h, lib/auth/rsa_common.h, + lib/auth/rsa_psk.c, lib/gnutls_cert.c, lib/gnutls_handshake.c: + Optimizations in RSA-PSK by removing unneeded code. -2011-07-27 Nikos Mavrogiannopoulos +2013-06-29 Frank Morgner - * lib/gnutls_pcert.c, lib/gnutls_privkey.c, - lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added - gnutls_pcert_list_import_x509_raw() and few doc fixes. + * lib/algorithms.h, lib/algorithms/ciphersuites.c, + lib/algorithms/kx.c, lib/algorithms/publickey.c, + lib/auth/Makefile.am, lib/auth/cert.h, lib/auth/psk.c, + lib/auth/psk.h, lib/auth/rsa.c, lib/auth/rsa_common.h, + lib/auth/rsa_psk.c, lib/gnutls_cert.c, lib/gnutls_handshake.c, + lib/gnutls_int.h, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in: ported patch for RSA-PSK revives some deletions from a8504e254f6ff23200c6069961ab367c9cec43a0 original patch can be found in + e3c245b951530a92fc610a130faf167a37461073 + f06ba1b71fa2cf9e1f3e33ea58cda94aaff88f20 -2011-07-27 Nikos Mavrogiannopoulos +2013-08-30 Nikos Mavrogiannopoulos - * lib/gnutls.pc.in: corrected for libnettle. + * lib/gnutls_priority.c: arcfour is restored in the top of the + performance priority. -2011-06-24 Andreas Metzler +2013-08-29 Nikos Mavrogiannopoulos - * configure.ac: fix zlib handling in gnutls.pc Only add zlib to gnutls.pc's Requies.private if zlib ships a - pkg-config file. Ancient (<< 1.2.3.1) versions don't. Otherwise add - -lz to Libs.private. Signed-off-by: Nikos Mavrogiannopoulos + * tests/mini-cert-status.c: removed unused function -2011-07-27 Nikos Mavrogiannopoulos +2013-08-29 Nikos Mavrogiannopoulos - * doc/examples/ex-client-srp.c, doc/examples/ex-serv-srp.c: - gnutls_global_init_extra() is not needed for SRP. + * tests/Makefile.am, tests/mini-cert-status.c: Added test to verify + the correct operation of gnutls_certificate_server_set_request(). -2011-07-25 Nikos Mavrogiannopoulos +2013-08-29 Nikos Mavrogiannopoulos - * NEWS: documented changes. + * NEWS: doc update -2011-07-25 Sjoerd Simons +2013-08-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: writev_emu: stop on the first incomplete - write Just like standard writev, we should only move on to the next block - if all the previous ones have been successfully written out. - Otherwise there is a potential for data loss and/or confusing push - functions. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_int.h: Corrected + gnutls_certificate_server_set_request(). -2011-07-24 Nikos Mavrogiannopoulos +2013-08-27 Nikos Mavrogiannopoulos - * doc/latex/fdl.tex: increased size of fdl. + * po/vi.po.in: Sync with TP. -2011-07-24 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Added debug message to indicate usage of - compatibility mode for /etc/gnutls/pkcs11.conf + * NEWS: doc update -2011-07-24 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * AUTHORS: removed pgp key from authors file. + * tests/resume.c: Try 3 resumption attempts and try also session db + and ticket. -2011-07-23 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * ChangeLog: updated changelog. + * lib/gnutls_handshake.c: only register current session when not + resuming -2011-07-23 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * NEWS, configure.ac, doc/announce.txt, m4/hooks.m4: released 2.99.4 + * lib/gnutls_db.c: do not duplicate tests for null. -2011-06-29 Petr Písař +2013-08-25 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: Honor uninitialized private key in - destructor Fixes bug #107730. Signed-off-by: Nikos Mavrogiannopoulos + * src/serv.c: remove ifdefs for session tickets -2011-07-23 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * src/certtool.c: Corrected initialization of key when generating - request. Reported by Petr Pisar. + * NEWS: doc update -2011-07-23 Nikos Mavrogiannopoulos +2013-08-25 Nikos Mavrogiannopoulos - * NEWS: updated. + * lib/libgnutls.map: export gnutls_record_set_timeout(). Reported by + Nicolai Stange. -2011-07-23 Nikos Mavrogiannopoulos +2013-08-18 Stefan Bühler - * lib/gnutls_rsa_export.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/x509_int.h: The crippled status - of an gnutls_x509_privkey_t was removed. + * lib/algorithms/ciphersuites.c, tests/priorities.c: add some + RC4-128-SHA1 ciphersuites based on ECDH(E) key exchanges -2011-07-23 Nikos Mavrogiannopoulos +2013-08-18 Stefan Bühler - * doc/examples/ex-pkcs11-list.c: Example compilation fix. + * tests/anonself.c, tests/dhepskself.c, tests/dtls/dtls-stress.c, + tests/mini-alpn.c, tests/mini-deflate.c, + tests/mini-dtls-heartbeat.c, tests/mini-dtls-hello-verify.c, + tests/mini-dtls-large.c, tests/mini-dtls-record.c, + tests/mini-dtls-rehandshake.c, tests/mini-dtls-srtp.c, + tests/mini-eagain-dtls.c, tests/mini-eagain.c, + tests/mini-emsgsize-dtls.c, tests/mini-handshake-timeout.c, + tests/mini-loss-time.c, tests/mini-overhead.c, + tests/mini-record-range.c, tests/mini-record.c, + tests/mini-rehandshake.c, tests/mini-termination.c, + tests/mini-x509-2.c, tests/mini-x509-callbacks.c, + tests/mini-x509-cas.c, tests/mini-x509.c, tests/mini-xssl.c, + tests/openpgp-auth.c, tests/openpgp-auth2.c, tests/openpgpself.c, + tests/pskself.c, tests/record-sizes-range.c, tests/record-sizes.c, + tests/resume-dtls.c, tests/resume.c, + tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, + tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, + tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c, + tests/srp/mini-srp.c, tests/suite/mini-eagain2.c, + tests/suite/mini-record-timing.c, tests/x509dn.c, tests/x509self.c: + fix transport parameter casts in tests -2011-07-07 Stef Walter +2013-08-24 Andreas Metzler - * configure.ac, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, - lib/pkcs11_int.h, lib/pkcs11_privkey.c, lib/pkcs11_write.c: pkcs11: - Use p11_kit_pin_xxx() functionality when 'pinfile' is in uris. * This allows other apps to register a handler for a specific - pinfile and then that application will be able to provide the PIN - for those URIs. Signed-off-by: Nikos Mavrogiannopoulos + * tests/sha2/sha2: Clean up after test. -2011-07-22 Nikos Mavrogiannopoulos +2013-08-24 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Added compatibility mode with - /etc/gnutls/pkcs11.conf + * tests/cert-tests/pem-decoding: Corrected access of temp file. + Reported by Thomas Witt. -2011-07-21 Nikos Mavrogiannopoulos +2013-08-24 Nikos Mavrogiannopoulos - * doc/cha-tls-app.texi: Updates in upward negotiation section. + * doc/cha-gtls-app.texi: No longer recommend the use of RC4 -2011-07-21 Nikos Mavrogiannopoulos +2013-08-24 Nikos Mavrogiannopoulos - * doc/latex/gnutls.bib: Corrected bibliography + * lib/accelerated/x86/aes-x86.c, lib/gnutls_global.h, + lib/gnutls_priority.c: AES-GCM is preferred always -2011-07-21 Nikos Mavrogiannopoulos +2013-08-05 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/cha-programs.texi, doc/cha-tls-app.texi: corrected section - names. + * configure.ac, m4/hooks.m4: bumped version -2011-07-21 Nikos Mavrogiannopoulos +2013-08-05 Nikos Mavrogiannopoulos - * doc/cha-library.texi, doc/cha-support.texi, lib/gnutls_errors.c, - lib/gnutls_srp.c: Updated information on required libraries. + * NEWS, configure.ac, lib/Makefile.am, lib/gnutls_errors.c, + lib/gnutls_str.c, lib/vasprintf.c, lib/vasprintf.h, lib/xssl.c, + src/certtool.c, src/cli-debug.c, src/cli.c, + src/crywrap/Makefile.am, src/crywrap/crywrap.c, src/danetool.c, + src/ocsptool.c, src/p11tool.c, src/psk.c, src/serv.c, + src/srptool.c, src/tpmtool.c: included programs no longer depend on + GPL/LGPLv3 elements of gnulib to prevent their accidental inclusion + in the library. -2011-07-21 Nikos Mavrogiannopoulos +2013-08-05 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, doc/cha-preface.texi: - Corrected typos. + * .gitignore: more files to ignore -2011-06-28 Nikos Mavrogiannopoulos +2013-08-05 Nikos Mavrogiannopoulos - * doc/.gitignore, doc/Makefile.am, doc/alert-printlist.c, - doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, doc/gnutls.texi, - doc/latex/Makefile.am, doc/latex/gnutls.tex, doc/latex/macros.tex, - doc/scripts/gdoc, doc/scripts/mytexi2latex, doc/scripts/sort1.pl, - doc/scripts/split.pl, lib/gnutls_x509.c: updated function listing. + * cfg.mk, gl/Makefile.am, gl/accept.c, gl/alloca.in.h, + gl/alphasort.c, gl/argp-ba.c, gl/argp-eexst.c, gl/argp-fmtstream.c, + gl/argp-fmtstream.h, gl/argp-fs-xinl.c, gl/argp-help.c, + gl/argp-namefrob.h, gl/argp-parse.c, gl/argp-pin.c, gl/argp-pv.c, + gl/argp-pvh.c, gl/argp-xinl.c, gl/argp.h, gl/arpa_inet.in.h, + gl/asnprintf.c, gl/asprintf.c, gl/base64.c, gl/base64.h, + gl/basename-lgpl.c, gl/bind.c, gl/byteswap.in.h, gl/c-ctype.c, + gl/c-ctype.h, gl/close.c, gl/closedir.c, gl/connect.c, + gl/dirent-private.h, gl/dirent.in.h, gl/dirname-lgpl.c, + gl/dirname.h, gl/dosname.h, gl/dup2.c, gl/errno.in.h, gl/error.c, + gl/error.h, gl/fd-hook.c, gl/fd-hook.h, gl/filename.h, gl/float+.h, + gl/float.c, gl/float.in.h, gl/fpucw.h, gl/frexp.c, gl/frexpl.c, + gl/fseek.c, gl/fseeko.c, gl/fseterr.c, gl/fseterr.h, gl/fstat.c, + gl/ftell.c, gl/ftello.c, gl/gai_strerror.c, gl/getaddrinfo.c, + gl/getdelim.c, gl/getline.c, gl/getopt.c, gl/getopt.in.h, + gl/getopt1.c, gl/getopt_int.h, gl/getpass.c, gl/getpass.h, + gl/getpeername.c, gl/getsubopt.c, gl/gettext.h, gl/gettimeofday.c, + gl/hash-pjw-bare.c, gl/hash-pjw-bare.h, gl/inet_ntop.c, + gl/inet_pton.c, gl/intprops.h, gl/isnan.c, gl/isnand-nolibm.h, + gl/isnand.c, gl/isnanf-nolibm.h, gl/isnanf.c, gl/isnanl-nolibm.h, + gl/isnanl.c, gl/itold.c, gl/listen.c, gl/lseek.c, + gl/m4/alphasort.m4, gl/m4/argp.m4, gl/m4/closedir.m4, + gl/m4/dirent_h.m4, gl/m4/dirname.m4, gl/m4/double-slash-root.m4, + gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/error.m4, + gl/m4/exponentf.m4, gl/m4/exponentl.m4, gl/m4/frexp.m4, + gl/m4/frexpl.m4, gl/m4/fseterr.m4, gl/m4/getopt.m4, + gl/m4/getsubopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, + gl/m4/isnand.m4, gl/m4/isnanf.m4, gl/m4/isnanl.m4, gl/m4/ldexpl.m4, + gl/m4/malloca.m4, gl/m4/mempcpy.m4, gl/m4/nocrash.m4, + gl/m4/opendir.m4, gl/m4/printf-frexp.m4, gl/m4/printf-frexpl.m4, + gl/m4/putenv.m4, gl/m4/rawmemchr.m4, gl/m4/readdir.m4, + gl/m4/scandir.m4, gl/m4/setenv.m4, gl/m4/signbit.m4, + gl/m4/sleep.m4, gl/m4/stdarg.m4, gl/m4/strchrnul.m4, + gl/m4/sysexits.m4, gl/m4/version-etc.m4, gl/m4/vfprintf-posix.m4, + gl/m4/vprintf-posix.m4, gl/malloc.c, gl/math.c, gl/math.in.h, + gl/memchr.c, gl/memmem.c, gl/mempcpy.c, gl/minmax.h, + gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c, + gl/msvc-nothrow.h, gl/netdb.in.h, gl/netinet_in.in.h, gl/opendir.c, + gl/printf-args.c, gl/printf-args.h, gl/printf-frexp.c, + gl/printf-frexp.h, gl/printf-frexpl.c, gl/printf-frexpl.h, + gl/printf-parse.c, gl/printf-parse.h, gl/progname.c, gl/progname.h, + gl/rawmemchr.c, gl/rawmemchr.valgrind, gl/read-file.c, + gl/read-file.h, gl/readdir.c, gl/realloc.c, gl/recv.c, + gl/recvfrom.c, gl/scandir.c, gl/select.c, gl/send.c, gl/sendto.c, + gl/setsockopt.c, gl/shutdown.c, gl/signal.in.h, gl/signbitd.c, + gl/signbitf.c, gl/signbitl.c, gl/size_max.h, gl/sleep.c, + gl/snprintf.c, gl/socket.c, gl/sockets.c, gl/sockets.h, + gl/stdalign.in.h, gl/stdarg.in.h, gl/stdbool.in.h, gl/stddef.in.h, + gl/stdint.in.h, gl/stdio-impl.h, gl/stdio.in.h, gl/stdlib.in.h, + gl/str-two-way.h, gl/strcasecmp.c, gl/strchrnul.c, + gl/strchrnul.valgrind, gl/strdup.c, gl/strerror-override.c, + gl/strerror-override.h, gl/strerror.c, gl/string.in.h, + gl/strings.in.h, gl/stripslash.c, gl/strncasecmp.c, gl/strndup.c, + gl/strnlen.c, gl/strtok_r.c, gl/strverscmp.c, gl/sys_select.in.h, + gl/sys_socket.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, + gl/sys_types.in.h, gl/sys_uio.in.h, gl/sysexits.in.h, + gl/tests/Makefile.am, gl/tests/dosname.h, gl/tests/fpucw.h, + gl/tests/infinity.h, gl/tests/intprops.h, gl/tests/malloca.c, + gl/tests/malloca.h, gl/tests/malloca.valgrind, + gl/tests/minus-zero.h, gl/tests/nan.h, gl/tests/putenv.c, + gl/tests/randomd.c, gl/tests/randoml.c, gl/tests/setenv.c, + gl/tests/strerror-override.c, gl/tests/strerror-override.h, + gl/tests/strerror.c, gl/tests/test-argp-2.sh, gl/tests/test-argp.c, + gl/tests/test-dirent.c, gl/tests/test-environ.c, + gl/tests/test-fprintf-posix.h, gl/tests/test-frexp.c, + gl/tests/test-frexp.h, gl/tests/test-frexpl.c, + gl/tests/test-fseterr.c, gl/tests/test-getopt.c, + gl/tests/test-getopt.h, gl/tests/test-getopt_long.h, + gl/tests/test-isnand-nolibm.c, gl/tests/test-isnand.h, + gl/tests/test-isnanf-nolibm.c, gl/tests/test-isnanf.h, + gl/tests/test-isnanl-nolibm.c, gl/tests/test-isnanl.h, + gl/tests/test-malloc-gnu.c, gl/tests/test-malloca.c, + gl/tests/test-math.c, gl/tests/test-printf-frexp.c, + gl/tests/test-printf-frexpl.c, gl/tests/test-printf-posix.h, + gl/tests/test-printf-posix.output, gl/tests/test-rawmemchr.c, + gl/tests/test-setenv.c, gl/tests/test-signbit.c, + gl/tests/test-sleep.c, gl/tests/test-strchrnul.c, + gl/tests/test-sysexits.c, gl/tests/test-unsetenv.c, + gl/tests/test-version-etc.c, gl/tests/test-version-etc.sh, + gl/tests/test-vfprintf-posix.c, gl/tests/test-vfprintf-posix.sh, + gl/tests/test-vprintf-posix.c, gl/tests/test-vprintf-posix.sh, + gl/tests/unsetenv.c, gl/time.in.h, gl/time_r.c, gl/u64.h, + gl/unistd.in.h, gl/vasnprintf.c, gl/vasnprintf.h, gl/vasprintf.c, + gl/verify.h, gl/version-etc-fsf.c, gl/version-etc.c, + gl/version-etc.h, gl/vfprintf.c, gl/vprintf.c, gl/vsnprintf.c, + gl/w32sock.h, gl/wchar.in.h, gl/xsize.h, src/certtool.c, + src/cli-debug.c, src/cli.c, src/danetool.c, src/ocsptool-common.c, + src/ocsptool.c, src/p11tool.c, src/psk.c, src/serv.c, + src/srptool.c, src/tpmtool.c: gnulib only contains lgplv2 modules -2011-06-28 Nikos Mavrogiannopoulos +2013-08-05 Nikos Mavrogiannopoulos - * lib/gnutls_alert.c, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map: Added gnutls_alert_get_strname(). + * po/de.po.in, po/vi.po.in: Sync with TP. -2011-06-27 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * lib/algorithms/cert_types.c, lib/algorithms/ciphers.c, - lib/algorithms/ecc.c, lib/algorithms/kx.c, lib/algorithms/mac.c, - lib/algorithms/protocols.c, lib/algorithms/publickey.c, - lib/algorithms/secparams.c, lib/algorithms/sign.c, lib/auth/cert.c, - lib/auth/psk.c, lib/auth/rsa_export.c, lib/crypto-api.c, - lib/crypto-backend.c, lib/ext/max_record.c, - lib/ext/safe_renegotiation.c, lib/ext/server_name.c, - lib/ext/session_ticket.c, lib/gcrypt/mpi.c, lib/gnutls_alert.c, - lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cert.c, lib/gnutls_dh_primes.c, lib/gnutls_dtls.c, - lib/gnutls_errors.c, lib/gnutls_global.c, lib/gnutls_handshake.c, - lib/gnutls_mpi.c, lib/gnutls_pcert.c, lib/gnutls_priority.c, - lib/gnutls_privkey.c, lib/gnutls_psk.c, lib/gnutls_pubkey.c, - lib/gnutls_record.c, lib/gnutls_sig.c, lib/gnutls_state.c, - lib/gnutls_str.c, lib/gnutls_ui.c, lib/gnutls_x509.c, - lib/minitasn1/decoding.c, lib/minitasn1/errors.c, - lib/nettle/ecc_verify_hash.c, lib/opencdk/kbnode.c, - lib/opencdk/sig-check.c, lib/openpgp/extras.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/output.c, - lib/openpgp/pgp.c, lib/openpgp/privkey.c, lib/pkcs11.c, - lib/pkcs11_privkey.c, lib/pkcs11_secret.c, lib/pkcs11_write.c, - lib/random.c, lib/x509/common.c, lib/x509/crl.c, - lib/x509/crl_write.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/extensions.c, lib/x509/output.c, lib/x509/pkcs12.c, - lib/x509/pkcs12_bag.c, lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, - lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, - lib/x509/rfc2818_hostname.c, lib/x509/sign.c, - lib/x509/verify-high.c, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_write.c: documentation fixes + * src/pkcs11.c: removed unused code -2011-06-23 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * NEWS, lib/COPYING, lib/accelerated/accelerated.c, - lib/accelerated/cryptodev.c, lib/auth/anon.c, lib/auth/anon_ecdh.c, - lib/auth/cert.c, lib/auth/dh_common.c, lib/auth/dhe.c, - lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, lib/auth/psk.c, - lib/auth/psk_passwd.c, lib/auth/rsa.c, lib/auth/rsa_export.c, - lib/auth/srp.c, lib/auth/srp_passwd.c, lib/auth/srp_rsa.c, - lib/auth/srp_sb64.c, lib/crypto-api.c, lib/crypto-backend.c, - lib/debug.c, lib/ext/cert_type.c, lib/ext/ecc.c, - lib/ext/max_record.c, lib/ext/safe_renegotiation.c, - lib/ext/server_name.c, lib/ext/session_ticket.c, - lib/ext/signature.c, lib/ext/srp.c, lib/gnutls_alert.c, - lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_buffers.c, - lib/gnutls_cert.c, lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, - lib/gnutls_compress.c, lib/gnutls_constate.c, lib/gnutls_datum.c, - lib/gnutls_db.c, lib/gnutls_dh.c, lib/gnutls_dh_primes.c, - lib/gnutls_dtls.c, lib/gnutls_ecc.c, lib/gnutls_errors.c, - lib/gnutls_extensions.c, lib/gnutls_global.c, - lib/gnutls_handshake.c, lib/gnutls_hash_int.c, lib/gnutls_helper.c, - lib/gnutls_kx.c, lib/gnutls_mbuffers.c, lib/gnutls_mem.c, - lib/gnutls_mpi.c, lib/gnutls_num.c, lib/gnutls_pcert.c, - lib/gnutls_pk.c, lib/gnutls_priority.c, lib/gnutls_privkey.c, - lib/gnutls_psk.c, lib/gnutls_pubkey.c, lib/gnutls_record.c, - lib/gnutls_rsa_export.c, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_sig.c, lib/gnutls_srp.c, - lib/gnutls_state.c, lib/gnutls_str.c, lib/gnutls_supplemental.c, - lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_x509.c, - lib/hash.c, lib/locks.c, lib/nettle/cipher.c, - lib/nettle/ecc_free.c, lib/nettle/ecc_make_key.c, - lib/nettle/ecc_map.c, lib/nettle/ecc_mulmod.c, - lib/nettle/ecc_points.c, lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_verify_hash.c, lib/nettle/egd.c, lib/nettle/init.c, - lib/nettle/mac.c, lib/nettle/mpi.c, lib/nettle/pk.c, - lib/nettle/rnd.c, lib/opencdk/armor.c, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/literal.c, - lib/opencdk/main.c, lib/opencdk/misc.c, lib/opencdk/new-packet.c, - lib/opencdk/pubkey.c, lib/opencdk/read-packet.c, - lib/opencdk/seskey.c, lib/opencdk/sig-check.c, - lib/opencdk/stream.c, lib/opencdk/write-packet.c, - lib/openpgp/compat.c, lib/openpgp/extras.c, - lib/openpgp/gnutls_openpgp.c, lib/openpgp/output.c, - lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, lib/openpgp/privkey.c, - lib/pkcs11.c, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c, lib/random.c, lib/system.c, - lib/system_override.c, lib/x509/common.c, lib/x509/crl.c, - lib/x509/crl_write.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/extensions.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/pbkdf2-sha1.c, lib/x509/pkcs12.c, lib/x509/pkcs12_bag.c, - lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/rfc2818_hostname.c, - lib/x509/sign.c, lib/x509/verify-high.c, lib/x509/verify.c, - lib/x509/x509.c, lib/x509/x509_write.c, lib/x509_b64.c: Upgraded to - LGPLv3. + * src/pkcs11.c: Do not try to parse arbitrary objects as + certificates. -2011-06-23 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * doc/latex/cover.tex.in: updated cover. + * lib/gnutls_handshake.c: don't ignore errors when copying + resumption values -2011-06-21 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * doc/latex/fdl.tex: improvements on fdl. + * doc/cha-gtls-app.texi: mention that new padding is currently a + gnutls extension -2011-06-21 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * AUTHORS: Added LRN. + * configure.ac, src/libopts/makeshell.c: do not require localtime -2011-06-21 Nikos Mavrogiannopoulos +2013-08-03 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/cha-programs.texi, doc/scripts/mytexi2latex: documentation - updates. + * cross.mk: added mkdir -2011-06-21 Nikos Mavrogiannopoulos +2013-08-02 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_srp.c, lib/gnutls_srp.h: gnutls_srp_verifier() - returns data allocated with gnutls_malloc() for consistency. + * lib/gnutls_constate.c: inverse check for cipher ok and priority. -2011-06-21 Nikos Mavrogiannopoulos +2013-08-01 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c: reduced error message. + * lib/gnutls_record.c: documented parameters -2011-06-20 Nikos Mavrogiannopoulos +2013-07-31 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: simplified text. + * lib/gnutls_priority.c: no need to keep separate priority lists for + export ciphersuites (they are no longer available). -2011-06-20 Nikos Mavrogiannopoulos +2013-07-31 Nikos Mavrogiannopoulos - * doc/latex/fdl.tex, doc/latex/gnutls.tex: FDL is now included using - a tiny font. + * NEWS, doc/cha-gtls-app.texi, lib/gnutls_priority.c: Added the PFS + priority string option. -2011-06-20 Nikos Mavrogiannopoulos +2013-07-30 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, doc/cha-intro-tls.texi, - doc/examples/ex-client1.c, doc/scripts/mytexi2latex: Tables were - also made floating + * NEWS: released 3.2.3 -2011-06-20 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/cha-internals.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/scripts/mytexi2latex: figures were made floating. + * NEWS: doc update -2011-06-20 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * doc/latex/cover.tex.in, doc/scripts/mytexi2latex: Added - high-quality pdf images. + * lib/gnutls_record.c: allow empty fragments with padding. -2011-06-19 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * .gitignore, doc/latex/.gitignore: more files to ignore + * tests/record-sizes-range.c: corrected test -2011-06-19 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * configure.ac, doc/Makefile.am, doc/cha-auth.texi, - doc/cha-bib.texi, doc/cha-cert-auth.texi, - doc/cha-ciphersuites.texi, doc/cha-errors.texi, - doc/cha-functions.texi, doc/cha-gtls-app.texi, - doc/cha-internals.texi, doc/cha-intro-tls.texi, - doc/cha-library.texi, doc/cha-preface.texi, doc/cha-programs.texi, - doc/cha-support.texi, doc/cha-tls-app.texi, doc/errcodes.c, - doc/examples/ex-client1.c, doc/examples/ex-pkcs11-list.c, - doc/examples/ex-serv-anon.c, doc/gnutls.texi, - doc/latex/Makefile.am, doc/latex/cover.tex.in, doc/latex/fdl.tex, - doc/latex/gnutls.bib, doc/latex/gnutls.tex, doc/latex/macros.tex, - doc/printlist.c, doc/scripts/mytexi2latex, doc/scripts/sort1.pl, - doc/signatures.texi: updated documentation to allow latex output. + * tests/Makefile.am, tests/record-sizes-range.c: Added test for the + range functionality. -2011-06-19 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * lib/gnutls_record.c, lib/x509/crq.c, lib/x509/x509.c, - lib/x509/x509_write.c: corrected typos + * lib/gnutls_dtls.c, tests/mini-overhead.c: corrected overhead + calculation in AEAD ciphers. -2011-06-19 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi, doc/examples/Makefile.am, - doc/examples/ex-cert-select.c, doc/examples/ex-client-udp.c, - doc/examples/ex-crq.c, doc/examples/ex-pkcs11-list.c, - doc/examples/ex-session-info.c, doc/examples/ex-verify.c: indented - code. Corrected PKCS #11 example. + * configure.ac: Correctly report unicode status in win32 API -2011-06-18 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * doc/Makefile.am: added missing file. + * lib/Makefile.am: correctly link with librt when needed. -2011-06-18 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * AUTHORS, NEWS, lib/includes/gnutls/gnutls.h.in, m4/hooks.m4: - bumped version. + * configure.ac, lib/Makefile.am, lib/system.c: link with libiconv + when needed. -2011-06-18 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_errors.c, lib/includes/gnutls/pkcs11.h, - lib/pkcs11.c, lib/pkcs11_write.c, src/p11tool-gaa.c, - src/p11tool-gaa.h, src/p11tool.c, src/p11tool.gaa, src/p11tool.h, - src/pkcs11.c: Added new PKCS #11 flags to force an object being - private or not. Those are GNUTLS_PKCS11_OBJ_FLAG_MARK_PRIVATE and - GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_PRIVATE. p11tool supports now the - --no-private and --private options. + * NEWS: doc update -2011-06-17 Nikos Mavrogiannopoulos +2013-07-29 Nikos Mavrogiannopoulos + + * build-aux/snippet/unused-parameter.h, configure.ac, + gl/Makefile.am, gl/c-strcase.h, gl/c-strcasecmp.c, + gl/c-strncasecmp.c, gl/iconv.c, gl/iconv.in.h, gl/iconv_close.c, + gl/iconv_open-aix.gperf, gl/iconv_open-hpux.gperf, + gl/iconv_open-irix.gperf, gl/iconv_open-osf.gperf, + gl/iconv_open-solaris.gperf, gl/iconv_open.c, + gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/iconv_h.m4, + gl/m4/iconv_open-utf.m4, gl/m4/iconv_open.m4, gl/m4/inline.m4, + gl/m4/intl.m4, gl/m4/libunistring-base.m4, gl/m4/locale-fr.m4, + gl/m4/locale-ja.m4, gl/m4/locale-tr.m4, gl/m4/locale-zh.m4, + gl/m4/locale_h.m4, gl/m4/localename.m4, gl/m4/po.m4, + gl/m4/setlocale.m4, gl/tests/Makefile.am, gl/tests/locale.in.h, + gl/tests/localename.c, gl/tests/localename.h, gl/tests/setlocale.c, + gl/tests/test-c-strcase.sh, gl/tests/test-c-strcasecmp.c, + gl/tests/test-c-strncasecmp.c, gl/tests/test-iconv-h.c, + gl/tests/test-iconv-utf.c, gl/tests/test-locale.c, + gl/tests/test-localename.c, gl/tests/test-setlocale1.c, + gl/tests/test-setlocale1.sh, gl/tests/test-setlocale2.c, + gl/tests/test-setlocale2.sh, gl/tests/unistr/test-u8-mbtoucr.c, + gl/tests/unistr/test-u8-uctomb.c, gl/unistr.in.h, + gl/unistr/u8-mbtoucr.c, gl/unistr/u8-uctomb-aux.c, + gl/unistr/u8-uctomb.c, gl/unitypes.in.h: Removed LGPLv3 gnulib + components. This removes the gnulib iconv, and uses libc or libiconv if needed. + +2013-07-28 Nikos Mavrogiannopoulos + + * NEWS: released 3.2.3pre0 + +2013-07-28 Nikos Mavrogiannopoulos + + * doc/Makefile.am, doc/manpages/Makefile.am: Added new functions + +2013-07-28 Nikos Mavrogiannopoulos - * src/p11common.c: Limit the number of attempts with the same PIN, - to avoid attempting again and again with a wrong PIN. + * NEWS, configure.ac, m4/hooks.m4: bumped version -2011-06-17 Nikos Mavrogiannopoulos +2013-07-28 Nikos Mavrogiannopoulos - * lib/pkcs11_write.c: When writing an object with CKA_TRUSTED set - CKA_PRIVATE explicitly to FALSE, to allow the SO to write it. - Reported by Rickard Bellgrim. + * lib/gnutls_int.h, lib/gnutls_record.h: use common macros to + calculate the overhead. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-28 Nikos Mavrogiannopoulos - * THANKS: updated + * lib/ext/new_record_padding.c, lib/gnutls_cipher.c, + lib/gnutls_constate.c, lib/gnutls_constate.h, + lib/gnutls_extensions.c, lib/gnutls_extensions.h, + lib/gnutls_handshake.c, lib/gnutls_int.h: The after handshake + function is now called before epoch change. This allows enabling certain features, such as the new record + padding, prior to exchanging finished messages. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-28 Nikos Mavrogiannopoulos - * src/pkcs11.c: removed unneeded test. + * tests/record-sizes.c: test sending and receiving the maximum + allowed TLS buffer size. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-28 Nikos Mavrogiannopoulos - * lib/pkcs11.c: Enforce the GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO even if - GNUTLS_PKCS11_OBJ_FLAG_LOGIN is specified. + * configure.ac: corrected guile-site-dir option. Patch by Steve + Erhart. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-27 Nikos Mavrogiannopoulos - * src/Makefile.am, src/p11common.c, src/pkcs11.c: Use common code - for PKCS #11 callbacks across clients. Require SO login to write a - trusted object. + * lib/gnutls_record.h: Do not count pad and MAC as received data. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-26 Nikos Mavrogiannopoulos - * lib/algorithms/ciphersuites.c, lib/ext/safe_renegotiation.h: bit - fields changed to unsigned. + * lib/gnutls_record.c: simplified decrypted data allocation. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-26 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c, lib/x509/privkey.c: Moved null check before - initialization. + * NEWS: doc update -2011-06-16 Nikos Mavrogiannopoulos +2013-07-26 Nikos Mavrogiannopoulos - * lib/opencdk/keydb.c: removed unreachable code warning + * lib/gnutls_buffers.c, lib/gnutls_record.c, lib/gnutls_record.h: + small optimizations. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-26 Nikos Mavrogiannopoulos - * lib/opencdk/hash.c, lib/opencdk/main.h, lib/opencdk/stream.c, - lib/opencdk/write-packet.c: eliminated wipemem(). + * lib/gnutls_cipher.c, lib/gnutls_record.c: When in compatibility + mode allow for larger record sizes than the maximum. -2011-06-16 Nikos Mavrogiannopoulos +2013-07-26 Nikos Mavrogiannopoulos - * lib/gnutls_pk.c: corrected uninitialized variable warning. + * tests/Makefile.am, tests/mini.c, tests/record-sizes.c: Updated + mini test. -2011-06-16 Rickard Bellgrim +2013-07-25 Nikos Mavrogiannopoulos - * lib/pkcs11_write.c: The CKA_SUBJECT must be specified for a - certificate. Signed-off-by: Nikos Mavrogiannopoulos + * src/libopts/ag-char-map.h: Applied Bruce Korb's fix on + unacceptable chars. -2011-06-15 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, src/pkcs11.c: When - setting the TRUSTED flag login as security officer. + * src/libopts/ag-char-map.h: Revert "Ignore non-ascii characters in + configuration file." This reverts commit b973840f5dff9924108af9574bdee1064e06fb88. -2011-06-15 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * lib/pkcs11_write.c: write label in PKCS #11 privkey. + * tests/priorities.c: test also the number of ciphers. -2011-06-15 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/pkcs11.c, - lib/pkcs11_int.h, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c: define ck_bool_t to be compatible with PKCS #11 - bool type. + * NEWS, lib/gnutls_priority.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added helper functions to export the available + ciphers in a priority structure -2011-06-15 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * configure.ac: ignore more warnings. + * NEWS: doc update -2011-06-09 Stef Walter +2013-07-25 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/pkcs11_int.h, lib/pkcs11_spec.h: Use pkcs11.h - specification file from p11-kit. * Remove one included briefly in gnutls. Signed-off-by: Nikos Mavrogiannopoulos + * tests/Makefile.am, tests/priorities.c: Added a test that checks + whether the priorities behave as expected (depends on the supported + ciphersuite numbers) -2011-06-09 Stef Walter +2013-07-25 Nikos Mavrogiannopoulos - * lib/pkcs11.c, src/cli.c, src/p11common.c, src/pkcs11.c, - tests/suite/mini-eagain2.c: Fix up compiler warnings. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: When adding a bulk of priorities make sure + they don't replace the whole list. Reported by Stefan Buehler. -2011-06-09 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * lib/pkcs11_spec.h: Added missing file + * doc/cha-gtls-app.texi: doc update -2011-06-07 Nikos Mavrogiannopoulos +2013-07-25 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: document new config file format and path. + * doc/cha-gtls-app.texi: updated doc -2011-06-07 Stef Walter +2013-07-24 Nikos Mavrogiannopoulos - * configure.ac, doc/examples/Makefile.am, lib/Makefile.am, - lib/auth/cert.c, lib/gnutls_global.c, lib/gnutls_privkey.c, - lib/gnutls_pubkey.c, lib/gnutls_x509.c, lib/pakchois/README, - lib/pakchois/dlopen.c, lib/pakchois/dlopen.h, - lib/pakchois/errors.c, lib/pakchois/pakchois.c, - lib/pakchois/pakchois.h, lib/pakchois/pakchois11.h, lib/pkcs11.c, - lib/pkcs11_int.h, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c, src/Makefile.am, src/certtool-common.c, - src/certtool.c, src/cli.c, src/p11tool.c, src/serv.c: The attached - patch ports gnutls to p11-kit. p11-kit is added as a dependency. - p11-kit itself has no dependencies outside of basic libc stuff. The - source code for p11-kit is available both in git and tarball form. - [3] If the gnutls dependency on p11-kit is disabled (via a configure - option) then the PKCS#11 support is disabled. This is useful in bare - bones embedded systems or places where very minimal dependencies are - limited. + * src/libopts/ag-char-map.h: Ignore non-ascii characters in + configuration file. This is a quick fix for -2011-06-07 Nikos Mavrogiannopoulos + http://lists.infradead.org/pipermail/openconnect-devel/2013-July/001126.html - * doc/manpages/Makefile.am: updated +2013-07-23 Nikos Mavrogiannopoulos -2011-06-07 Nikos Mavrogiannopoulos + * Makefile.am: make sure that the .info files are as new as the pdfs + and html. - * lib/pkcs11.c, lib/pkcs11_privkey.c: Return error code when an - object is not found. Only request for token insertion if the - expected data is not found. Based on patch by Stef Walter. +2013-07-19 Nikos Mavrogiannopoulos -2011-06-07 Nikos Mavrogiannopoulos + * doc/examples/Makefile.am, doc/examples/ex-serv-x509.c: X.509 + server example updated to include OCSP stapling - * configure.ac: Depend on automake 1.11. +2013-07-16 Matt Whitlock -2011-06-06 Stef Walter + * lib/gnutls_buffers.c: avoid leaking a buffer element when + _gnutls_stream_read returns 0 - * tests/suite/Makefile.am: tests: Build eagain-cli with correct - libraries * Add -ldl -lpthread to linker flags Signed-off-by: Nikos Mavrogiannopoulos +2013-07-19 Nikos Mavrogiannopoulos -2011-05-30 Stef Walter + * lib/gnutls_x509.c: doc update - * src/cli.c: gnutls-cli: Fix uninitialized variable when PKCS#11 - uris in use. * When PKCS#11 URIs are in use previously tried to free - uninitialized memory. Initialize to zero. Signed-off-by: Nikos Mavrogiannopoulos +2013-07-17 Stefan Bühler -2011-05-30 Stef Walter + * lib/gnutls_priority.c: gnutls priority string parsing bug fix Fix priority string parsing (example: "NONE:+MAC-ALL:-SHA1:+SHA1" + misses SHA1 and has MD5 twice) prio_remove doesn't zero the removed element, prio_add (and perhaps + other functions) assumes the list to be zero terminated. Make prio_remove zero the element at the end, and use the actual + length of the list in prio_add. Relying on the trailing zero will fail if the list is full, and + might lead to invalid memory accesses as the loop won't stop until + it finds either the algorithm identifier or 0. - * lib/pkcs11.c: pkcs11: Accept CKR_USER_ALREADY_LOGGED_IN as - successful result for PAP Login * When doing CKF_PROTECTED_AUTHENTICATION_PATH login, accept CKR_USER_ALREADY_LOGGED_IN as a successful result. * Another code path, or another consumer of the same PKCS#11 module may have already logged in. * This is what the non PAP code path already does. Signed-off-by: Nikos Mavrogiannopoulos +2013-07-17 Adam Sampson -2011-06-06 Stef Walter + * tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, + tests/pskself.c, tests/resume-dtls.c, tests/resume.c, + tests/x509dn.c, tests/x509self.c: Disable tests that use socketpair + on _WIN32. socketpair isn't provided on Windows, so these tests should just + exit 77. Note that resume-dtls.c already had a guard like this -- I've + rewritten it to match the others, but socketpair (presumably!) isn't + the only reason that test is disabled on Win32. Signed-off-by: Adam Sampson - * lib/auth/srp.c, lib/auth/srp_rsa.c, lib/ext/session_ticket.c, - lib/gnutls_compress.c, lib/hash.c, lib/nettle/ecc_mulmod.c, - lib/x509/common.c: Remove unused variables * GCC 4.6.0 prints a warning, and build failes with -Wunused Signed-off-by: Nikos Mavrogiannopoulos +2013-07-16 Adam Sampson -2011-06-06 Nikos Mavrogiannopoulos + * tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, + tests/pskself.c, tests/resume-dtls.c, tests/resume.c, + tests/x509dn.c, tests/x509self.c: Use socketpair() rather than TCP + connections. Besides simplifying the code, this also makes it possible to run + "make check" in parallel -- previously this didn't work because + several tests were trying to bind the same port. Signed-off-by: Adam Sampson - * lib/nettle/rnd.c: use gnutls_assert_val() in EGD errors. +2013-07-16 Adam Sampson -2011-06-05 Nikos Mavrogiannopoulos + * tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, + tests/pskself.c, tests/resume-dtls.c, tests/resume.c, + tests/x509dn.c, tests/x509self.c: Detect socket() error responses + correctly. The code was testing the wrong variable... Signed-off-by: Adam Sampson - * tests/dsa/testdsa, tests/openpgp-certs/testcerts, - tests/scripts/common.sh, tests/suite/testcompat-main, - tests/suite/testsrn: Corrected fail() shell function. Reported by - Andreas Metzler. +2013-07-16 Adam Sampson -2011-06-05 Nikos Mavrogiannopoulos + * doc/scripts/gdoc: Avoid depending on hash order in gdoc. Previously, gdoc had a hash of regexp replacements for each output + format, and applied the replacements in the order that "keys" + returned for the hash. However, not all orders are safe -- and now + that Perl 5.18 randomises hash order per-process, it only worked + sometimes! For example, this order is OK: 'is a #gnutls_session_t structure.' '\@([A-Za-z0-9_]+)\s*' -> 'is a + #gnutls_session_t structure.' '\%([A-Za-z0-9_]+)' -> 'is a + #gnutls_session_t structure.' '\#([A-Za-z0-9_]+)' -> 'is a + @code{gnutls_session_t} structure.' '([A-Za-z0-9_]+\(\))' -> 'is a + @code{gnutls_session_t} structure.' This one, however, winds up producing invalid texinfo: 'is a #gnutls_session_t structure.' '\%([A-Za-z0-9_]+)' -> 'is a + #gnutls_session_t structure.' '([A-Za-z0-9_]+\(\))' -> 'is a + #gnutls_session_t structure.' '\#([A-Za-z0-9_]+)' -> 'is a + @code{gnutls_session_t} structure.' '\@([A-Za-z0-9_]+)\s*' -> 'is a + @code{code} {gnutls_session_t} structure.' This patch turns the hash into a list, so the replacements will + always be done in the intended order. Signed-off-by: Adam Sampson - * tests/dsa/testdsa: Corrected typo. Reported by Andreas Metzler. +2013-07-15 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * tests/dtls/dtls-stress.c, tests/mini-dtls-heartbeat.c, + tests/mini-dtls-large.c, tests/mini-dtls-rehandshake.c, + tests/mini-dtls-srtp.c, tests/mini-loss-time.c: Run DTLS tests under + reliable transports to avoid unexpected packet loss. - * doc/manpages/Makefile.am: regenerated makefile. +2013-07-15 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/Makefile.am: Link with librt when needed. Reported by Joern + Clausen. - * lib/x509/common.c: documentation fix. +2013-07-15 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/gnutls_constate.c, lib/gnutls_handshake.c, lib/gnutls_int.h, + lib/gnutls_range.c, lib/gnutls_session_pack.c: eliminated the need + for the additional version variable. - * lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-x86.c, - lib/accelerated/intel/asm/appro-aes-gcm-x86.s: pclmul is not used on - intel 32-bit systems. +2013-07-14 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * cross.mk: updated w32 makefile - * lib/accelerated/intel/aes-x86.c, lib/gnutls_global.h, - lib/gnutls_priority.c: When AES and GCM acceleration is available - increase the priority of AES-GCM ciphersuites in performance and - normal cases. +2013-07-14 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * build-aux/config.rpath, gl/Makefile.am, gl/argp-help.c, + gl/c-ctype.h, gl/fseeko.c, gl/m4/extensions.m4, + gl/m4/extern-inline.m4, gl/m4/fseeko.m4, gl/m4/gnulib-comp.m4, + gl/m4/lock.m4, gl/m4/manywarnings.m4, gl/m4/stdalign.m4, + gl/m4/warnings.m4, gl/msvc-inval.c, gl/stdalign.in.h, + gl/stdio.in.h, gl/tests/Makefile.am, gl/tests/getcwd-lgpl.c, + gl/tests/ignore-value.h, gl/tests/malloca.c, + gl/tests/test-getaddrinfo.c, gl/tests/test-snprintf.c, + gl/tests/test-sys_socket.c, gl/tests/test-vasnprintf.c, + gl/tests/test-vsnprintf.c, gl/vasnprintf.c, gl/verify.h, maint.mk: + updated gnulib - * lib/gcrypt/cipher.c, lib/gcrypt/pk.c: prevent compilation of - gcrypt support since it is incomplete. +2013-07-14 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * NEWS: released 3.2.2 - * lib/Makefile.am, lib/algorithms/ciphers.c, - lib/algorithms/ciphersuites.c, lib/gcrypt/cipher.c, - lib/nettle/cipher.c, m4/hooks.m4: do not use NETTLE_LIBS to include - hogweed and gmp. removed ENABLE_CAMELLIA and NETTLE_GCM. +2013-07-13 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/gnutls_global.c: doc update - * src/benchmark-tls.c: improved benchmark. +2013-07-13 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/includes/gnutls/gnutls.h.in: typo fix - * doc/Makefile.am, doc/cha-cert-auth.texi, doc/cha-internals.texi, - doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/cha-programs.texi, doc/examples/ex-session-info.c, - doc/gnutls-certificate-user-use-case.pdf, - doc/gnutls-client-server-use-case.pdf, - doc/gnutls-extensions_st.pdf, doc/gnutls-handshake-sequence.pdf, - doc/gnutls-handshake-state.pdf, doc/gnutls-internals.pdf, - doc/gnutls-layers.pdf, doc/gnutls-logo.pdf, - doc/gnutls-mod_auth_st.pdf, doc/gnutls-objects.pdf, - doc/gnutls-pgp.pdf, doc/gnutls-x509.pdf, doc/gnutls.texi: Updated - documentation. Removed all .pdf files. They were not needed. +2013-07-13 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * src/common.c: gnutls-cli -l prints the supported digest algorithms + as well. - * lib/algorithms.h, lib/algorithms/ciphersuites.c, - lib/gnutls_handshake.c: Avoid memory allocations when requesting the - supported ciphersuites. +2013-07-13 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: corrected return value. - * lib/accelerated/intel/aes-x86.c: more verbose if the PCLMUL - instruction is detected. +2013-07-13 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * configure.ac: Check for nanosleep in librt, when not in libc. + Reported by Joern Clausen. - * tests/cipher-test.c: Added debugging ability to cipher-test. +2013-07-12 Nikos Mavrogiannopoulos -2011-06-05 Nikos Mavrogiannopoulos + * lib/gnutls_int.h: corrected typo - * doc/TODO: more cleanup. +2013-07-12 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * README-alpha: updated - * doc/TODO: Added new TODO items. +2013-07-11 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * lib/gnutls_int.h: try to reduce memory in internal structure - * doc/TODO: removed completed items from todo list +2013-07-11 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_handshake.c, lib/gnutls_int.h, + lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, + tests/mini-x509-callbacks.c: Allow hooks to be called before or + after generation/receiving. - * lib/gnutls_priority.c: reinstated MAC-ALL semantics. +2013-07-11 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in: Revert "simplified hook function, + to apply only to post-processing or generation of messages." This reverts commit 7b14a8217b78aaf3367d13181237bf937292f5ba. - * .gitignore: more files to ignore. +2013-07-11 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * NEWS: doc update - * lib/gnutls_session_pack.c: store the ECC curve in the session - resumption parameters. +2013-07-10 Gustavo Zacarias -2011-06-04 Nikos Mavrogiannopoulos + * lib/accelerated/cryptodev.c: Eliminate reset from cryptodev hashes + and mac It wasn't done in 73ec74c2 and 6f0ecbf4 for cryptodev causing build + failures. Signed-off-by: Gustavo Zacarias - * NEWS, doc/cha-cert-auth.texi, doc/examples/ex-verify.c, - lib/gnutls_cert.c, lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/x509/verify-high.c, tests/Makefile.am, tests/x509cert-tl.c: - Added gnutls_x509_trust_list_add_named_crt() and - gnutls_x509_trust_list_verify_named_crt() that allow having a list - of certificates in the trusted list that will be associated with a - name (e.g. server name) and will not be used as CAs. +2013-07-10 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * lib/algorithms/mac.c: doc update - * NEWS, doc/cha-intro-tls.texi, - lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c, lib/algorithms/ciphersuites.c, - lib/gnutls_priority.c, lib/includes/gnutls/gnutls.h.in, - lib/nettle/cipher.c: Added SuiteB ciphersuites. Added SUITEB128 and - SUITEB192 priority strings. SECURE256 was renamed to SECURE192 - (because TLS ciphersuite's security level was not enough to justify - 256-bits). +2013-07-10 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * NEWS: doc update - * NEWS, lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: - gnutls_ecc_curve_get() was added. +2013-07-10 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * NEWS: doc update - * lib/gnutls_state.c: The PRF is now read from the ciphersuite - table. +2013-07-10 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: make sure that the hook function is always + called. - * src/common.c: Print information on elliptic curve sessions. +2013-07-10 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * doc/Makefile.am, doc/manpages/Makefile.am: New functions added - * lib/abstract_int.h, lib/gnutls_pubkey.c, lib/gnutls_sig.c, - lib/gnutls_sig.h, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/compat.h, lib/libgnutls.map, lib/x509/common.c, - lib/x509/common.h, lib/x509/crq.c, lib/x509/privkey.c, - lib/x509/verify.c, lib/x509/x509.c, lib/x509/x509_int.h: Split - pubkey_verify_sig() to pubkey_verify_hashed_data() and - pubkey_verify_data(). Added gnutls_pubkey_verify_data2() to allow - verification of a signature when the signature algorithm cannot be - determined by the signature and the public key only. +2013-07-09 Nikos Mavrogiannopoulos -2011-06-04 Nikos Mavrogiannopoulos + * configure.ac, m4/hooks.m4: bumped version - * lib/gnutls_hash_int.h, lib/gnutls_sig.c: Allow all SHA algorithms - for DSA signatures. +2013-07-09 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: When resuming a session send only the + mandatory extensions. That will make server behavior to conform to TLS RFC. Reported by + Peter Dettman. - * lib/x509/verify.c: fixes for - http://tools.ietf.org/html/draft-mavrogiannopoulos-tls-dss-00 +2013-07-09 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * lib/ext/srtp.c: corrected typo - * lib/auth/cert.h, lib/gnutls_cert.c, lib/gnutls_handshake.c: - simplified _gnutls_selected_cert_supported_kx(). +2013-07-09 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * NEWS: doc update - * lib/gnutls_pubkey.c, lib/nettle/pk.c, lib/x509/verify.c: - Truncation of ECDSA and DSA signatures moved to - _wrap_nettle_pk_sign() and _wrap_nettle_pk_verify(). +2013-07-09 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * lib/ext/srtp.c: Include MKI size in size calculations for the + extension. This prevents a parsing error when MKI is being used. Reported by + Gábor Tatárka. - * lib/algorithms.h, lib/algorithms/ciphersuites.c, - lib/algorithms/sign.c, lib/ext/signature.c, lib/gnutls_buffers.c, - lib/gnutls_buffers.h, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_sig.c, lib/nettle/pk.c: Simplified the handling of - handshake messages to be hashed. Instead of doing a hash during the - handshake process we now keep the data until handshake is over and - hash them on demand. This uses more memory but eliminates issues - with TLS 1.2 and makes the handling simpler. +2013-07-09 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * src/benchmark.h: Fix for NetBSD systems that do not have + CLOCK_PROCESS_CPUTIME_ID. Patch by Thomas Klausner. - * lib/ext/signature.c, lib/gnutls_pubkey.c, lib/nettle/pk.c, - lib/x509/common.h, lib/x509/verify.c: Hash algorithms used for DSA - and ECDSA correspond to draft-mavrogiannopoulos-tls-dss-00.txt. +2013-07-06 Nikos Mavrogiannopoulos -2011-06-03 Nikos Mavrogiannopoulos + * src/certtool.c: make sure that a valid number of days is entered - * lib/ext/ecc.c: updated +2013-07-05 Nikos Mavrogiannopoulos -2011-06-02 Nikos Mavrogiannopoulos + * doc/DCO.txt: Added DCO - * doc/cha-internals.texi, doc/gnutls.texi: Added refint macro to - refer to internal -non exported- functions. Used it to reference to - the gnutls_*_register() functions. +2013-07-04 Nikos Mavrogiannopoulos -2011-06-02 Nikos Mavrogiannopoulos + * lib/libgnutls.map: added new functions - * NEWS, lib/Makefile.am, lib/auth/psk_passwd.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_passwd.c, lib/crypto-api.c, - lib/crypto-backend.c, lib/crypto-backend.h, lib/crypto.c, - lib/ext/session_ticket.c, lib/gnutls_cipher.c, - lib/gnutls_cipher_int.h, lib/gnutls_handshake.c, - lib/gnutls_hash_int.h, lib/gnutls_mpi.c, lib/gnutls_mpi.h, - lib/gnutls_pk.c, lib/includes/gnutls/crypto.h, lib/libgnutls.map, - lib/nettle/mpi.c, lib/nettle/pk.c, lib/opencdk/misc.c, - lib/pkcs11_secret.c, lib/random.h, lib/x509/pkcs12.c, - lib/x509/privkey_pkcs8.c, libextra/gnutls_openssl.c, src/psk.c, - src/srptool.c, tests/Makefile.am, tests/crypto_rng.c, - tests/rng-fork.c: gnutls/crypto.h no longer includes functions to - register ciphers. Thus the following functions - gnutls_crypto_bigint_register - gnutls_crypto_cipher_register - gnutls_crypto_digest_register - gnutls_crypto_mac_register - gnutls_crypto_pk_register - gnutls_crypto_rnd_register - gnutls_crypto_single_cipher_register - gnutls_crypto_single_digest_register - gnutls_crypto_single_mac_register are only available internally - via crypto-backend.h. +2013-07-04 Nikos Mavrogiannopoulos -2011-06-02 Nikos Mavrogiannopoulos + * tests/mini-dtls-hello-verify.c: simplified structure - * build-aux/config.rpath: updated +2013-07-04 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: corrected issue in client hello verify. - * lib/accelerated/intel/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/intel/asm/appro-aes-gcm-x86.s, - lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s: typos and date fix in - license. +2013-07-04 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * NEWS, lib/algorithms/mac.c, lib/gnutls_int.h, + lib/includes/gnutls/gnutls.h.in: Added helper functions for digests. - * src/benchmark-tls.c: Added benchmark on GCM ciphersuites and - arcfour for comparison. +2013-07-04 Stef Walter -2011-06-01 Nikos Mavrogiannopoulos + * lib/pkcs11.c: pkcs11: Use the correct attribute length for + CKA_TRUSTED CKA_TRUSTED is a CK_BBOOL value in PKCS#11. Since object searches + are done with the attribute byte values, we need to get the length + exactly right. Signed-off-by: Nikos Mavrogiannopoulos - * lib/gnutls_int.h: corrected typo. +2013-07-03 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * tests/mini-x509-callbacks.c: updated for new callback format - * lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c: indented code +2013-07-03 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: corrected typo - * src/benchmark.c: properly initialize benchmarks. +2013-07-03 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * .gitignore: more files to ignore - * configure.ac, m4/hooks.m4: bumped version. +2013-07-03 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * lib/gnutls_dtls.c: doc update - * lib/accelerated/intel/aes-gcm-x86.c: Corrections in encryption and - decryption of incomplete blocks. +2013-07-03 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: when removing a cipher priority, make sure + the order is kept - * lib/accelerated/intel/aes-gcm-x86.c, lib/gnutls_int.h, - lib/gnutls_state.c: Use nettle's memxor or gnulib's if it doesn't - exist. +2013-06-30 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_dtls.c, lib/includes/gnutls/gnutls.h.in: + gnutls_record_overhead_size2 -> gnutls_est_record_overhead_size - * NEWS, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-gcm-x86.c, - lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h, - lib/accelerated/intel/asm/appro-aes-gcm-x86-64.s, - lib/accelerated/intel/asm/appro-aes-gcm-x86.s, lib/gnutls_num.c, - lib/gnutls_num.h, tests/cipher-test.c: Added AES-GCM optimizations - using the PCLMULQDQ instruction. Uses Andy Polyakov's assembly code. +2013-07-01 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * lib/crypto-api.c: doc update - * lib/crypto-api.c: documented usage of gnutls_cipher_add_auth(). +2013-06-29 Nikos Mavrogiannopoulos -2011-06-01 Nikos Mavrogiannopoulos + * po/eo.po.in, po/fi.po.in: Sync with TP. - * doc/cha-intro-tls.texi: updates. +2013-06-28 Ludovic Courtès -2011-05-31 Roman Bogorodskiy + * guile/src/core.c: guile: Keep a weak reference on objects + aggregated by other objects. Before, in cases such as `set-anonymous-server-dh-parameters!' where + the C object beneath CRED keeps a pointer to the C object beneath + DH_PARAMS, DH_PARAMS could be garbage-collected before CRED, leading + to the destruction of the underlying C object. Reported by Nikos Mavrogiannopoulos . - * lib/Makefile.am: Prevent including installed gnutls' headers. +2013-06-28 Ludovic Courtès -2011-05-31 Roman Bogorodskiy + * guile/tests/anonymous-auth.scm, guile/tests/openpgp-auth.scm, + guile/tests/x509-auth.scm: guile: tests: Use `port->fdes' rather + than `fileno'. This has no practical impact, but it's a better way to express that + we don't want the file descriptors closed behind our back. - * src/udp-serv.c: Add missing to get sockaddr_in. +2013-06-26 Nikos Mavrogiannopoulos -2011-05-31 Nikos Mavrogiannopoulos + * doc/cha-cert-auth.texi: removed unsupported RSA-EXPORT - * doc/cha-intro-tls.texi: Compatibility text updated. +2013-06-26 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * doc/cha-bib.texi, doc/cha-intro-tls.texi, doc/latex/gnutls.bib: + documented private extensions - * lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s: Added new AES code by - Andy. +2013-06-26 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in: simplified hook function, to apply + only to post-processing or generation of messages. - * doc/credentials/x509/ca-key.pem: Added missing file. +2013-06-19 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: documented dtls behavior. - * .gitignore: more files to ignore +2013-06-19 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * lib/gnutls_dtls.c: enforce the maximum TLS size when setting MTU - * lib/nettle/Makefile.am, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_points.c, - lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_test.c, lib/nettle/ecc_verify_hash.c: Added FSF - copyright to public domain files. +2013-06-19 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * tests/mini-dtls-large.c: make sure that no DTLS MTU size can + exceed 2^14. - * configure.ac, lib/accelerated/x86.h: Use cpuid.h if it exists, to - use the x86 CPUID instruction. +2013-06-19 Nikos Mavrogiannopoulos -2011-05-29 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/nettle/Makefile.am: Revert "Add nettle + dependencies to libcrypto.la" This reverts commit f3ef68f4f79434fadc3f28c649744e57f3eef99b. - * THANKS: Added Dash. +2013-06-19 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * tests/Makefile.am, tests/mini-dtls-large.c: Added test to verify + whether DTLS layer will send GNUTLS_E_LARGE_PACKET on large packets - * lib/gnutls_compress.c, lib/gnutls_compress.h, - lib/gnutls_handshake.c: simplified - _gnutls_supported_compression_methods(). +2013-06-18 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * po/cs.po.in: Sync with TP. - * lib/gnutls_constate.c, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_session_pack.c, lib/gnutls_v2_compat.c: Correctly set - compression method when resuming sessions. Reported by Dash Shendy. +2013-06-15 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * lib/gnutls_dh_primes.c: check for zero values when import DH + parameters. - * lib/gnutls_hash_int.c: digest_length() uses int as input. +2013-06-15 Nikos Mavrogiannopoulos -2011-05-28 Stef Walter + * po/de.po.in, po/nl.po.in, po/pl.po.in, po/uk.po.in, po/vi.po.in: + Sync with TP. - * lib/nettle/cipher.c: Fix warnings with GCC 4.5.2 +2013-06-14 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * NEWS: doc update - * doc/credentials/Makefile.am, doc/credentials/x509/Makefile.am: - Corrected EXTRA_DIST +2013-06-14 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * NEWS, lib/debug.c, lib/debug.h, lib/gnutls_handshake.c, + lib/gnutls_int.h, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + tests/mini-x509-callbacks.c: Added + gnutls_handshake_set_hook_function() to allow hooks on arbitrary + handshake messages. - * tests/suite/testcompat-main: updated keys. +2013-06-13 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * doc/announce.txt: added BCC to avoid forgetting it in the future - * lib/auth/cert.c, lib/auth/cert.h, lib/gnutls_handshake.c, - lib/gnutls_handshake.h: Take into account each and every advertized - public key algorithm when selecting a certificate. Previously we - were assuming only RSA or DSA, or ANY. +2013-06-11 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * doc/invoke-tpmtool.texi, doc/manpages/tpmtool.1: doc update - * doc/credentials/gnutls-http-serv, src/serv-gaa.c, src/serv-gaa.h, - src/serv.c, src/serv.gaa: Added feature to specify ecc private keys - and certificates. +2013-06-11 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_dtls.c, lib/gnutls_state.c, + lib/includes/gnutls/dtls.h, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: avoid the introduction of a new function to + disable replay protection. - * lib/algorithms.h, lib/gnutls_handshake.c, lib/gnutls_state.c: - Corrected ECC ciphersuite detection. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * tests/suite/testcompat-main: changed port to avoid conflicts - * doc/credentials/x509-ca-key.pem, doc/credentials/x509-ca.pem, - doc/credentials/x509-client-key.pem, - doc/credentials/x509-client.pem, doc/credentials/x509-other-ca.pem, - doc/credentials/x509-proxy-key.pem, doc/credentials/x509-proxy.pem, - doc/credentials/x509-server-dsa.pem, - doc/credentials/x509-server-key-dsa.pem, - doc/credentials/x509-server-key.pem, - doc/credentials/x509-server.pem, doc/credentials/x509-trust.pem, - doc/credentials/x509/ca.pem, doc/credentials/x509/cert-dsa.pem, - doc/credentials/x509/cert-ecc.pem, - doc/credentials/x509/cert-rsa.pem, doc/credentials/x509/cert.pem, - doc/credentials/x509/clicert-dsa.pem, - doc/credentials/x509/clicert.pem, doc/credentials/x509/key-dsa.pem, - doc/credentials/x509/key-ecc.pem, doc/credentials/x509/key-rsa.pem, - doc/credentials/x509/key.pem, lib/nettle/pk.c, lib/x509/verify.c: - Laxed verification checks for DSA to allow SHA256 in place of - SHA224. Added new certificate sets in doc/credentials/x509/. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * tests/mini-overhead.c: small update - * lib/gnutls_priority.c: ECDHE and ECDSA were added to deafult - priorities. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * src/cli.c: removed unused var - * lib/auth/rsa.c, lib/x509/key_encode.c, lib/x509/privkey_pkcs8.c: - gnutls_secure_malloc() is no longer used. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * src/tpmtool-args.c, src/tpmtool-args.h: updated tpmtool + auto-gen'ed files - * lib/auth/dhe_psk.c, lib/auth/psk.c: deinitialize PSK key memory. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-28 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_dtls.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added gnutls_record_overhead_size() and Added + gnutls_record_overhead_size2(). - * lib/auth/psk.c: explicitly request for client key in server side. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * lib/gnutls_state.c: doc update - * NEWS, lib/algorithms/ciphersuites.c, lib/algorithms/kx.c, - lib/auth/anon.c, lib/auth/anon_ecdh.c, lib/auth/dh_common.c, - lib/auth/dh_common.h, lib/auth/dhe.c, lib/auth/dhe_psk.c, - lib/auth/ecdh_common.c, lib/auth/ecdh_common.h, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in: Added ECDHE-PSK ciphersuites for - TLS (RFC 5489). +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_dtls.c, lib/gnutls_int.h, lib/gnutls_record.c, + lib/includes/gnutls/dtls.h, lib/libgnutls.map: DTLS replay + protection can now be disabled. - * doc/gnutls-guile.texi: Corrections. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * lib/gnutls_state.c: doc update - * doc/.gitignore: ignore tex files. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * NEWS, lib/algorithms/ciphers.c, lib/includes/gnutls/crypto.h, + lib/libgnutls.map: Added gnutls_cipher_get_tag_size(). - * doc/cha-copying.texi: Do not list all licenses in the manual of - gnutls. Just the license of the manual is enough. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_x509.c, lib/includes/gnutls/x509.h, + lib/libgnutls.map: Added gnutls_certificate_set_trust_list(). - * doc/Makefile.am, doc/cha-ciphersuites.texi, - doc/cha-functions.texi, doc/cha-preface.texi, - doc/gnutls-guile.texi, doc/guile.texi, guile/src/core.c: guile - bindings added as a separate document. +2013-06-10 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * lib/auth/cert.c, lib/auth/srp_rsa.c, lib/ext/signature.c, + lib/gnutls_cipher.c, lib/gnutls_constate.c, lib/gnutls_handshake.c, + lib/gnutls_sig.c: explicit tests for non-null version - * doc/gnutls.texi: reorganization. Removed guile bindings. +2013-06-08 Nikos Mavrogiannopoulos -2011-05-27 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c, lib/gnutls_pubkey.c: fix typo - * doc/cha-auth.texi, doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/gnutls.texi: reorganization and added section on parameter - generation. +2013-06-08 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * .gitignore: more files to ignore - * lib/Makefile.am, lib/auth/Makefile.am, lib/ext/Makefile.am, - lib/nettle/Makefile.am: Added new headers. +2013-06-08 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * lib/ext/heartbeat.c, lib/gnutls_dtls.c: corrected heartbeat + timeout documentation; reported by Sebastien Decugis. - * NEWS: document elliptic curves addition. +2013-06-07 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * build-aux/ar-lib: updated file - * m4/hooks.m4: libgcrypt support was removed. +2013-06-07 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * tests/sha2/sha2, tests/sha2/sha2-dsa: avoid common files - * NEWS: listed newly added functions. +2013-06-07 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * build-aux/test-driver, configure.ac: require automake 1.12.2 for + guile. - * lib/nettle/Makefile.am, lib/nettle/ecc.h, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_shared_secret.c, - lib/nettle/ecc_sign_hash.c, lib/nettle/ecc_verify_hash.c, - lib/nettle/mp_unsigned_bin.c: Use nettle's functions for integer - import/export. +2013-06-07 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: SECURE -> SECURE128 - * lib/algorithms/publickey.c, lib/gnutls_sig.c: more updates for - ECDSA ciphersuites. +2013-06-06 Nikos Mavrogiannopoulos -2011-05-26 Nikos Mavrogiannopoulos + * guile/tests/priorities.scm: corrected priority strings - * lib/ext/ecc.c: reduced debugging. +2013-06-06 Martin Storsjo -2011-05-26 Nikos Mavrogiannopoulos + * extra/Makefile.am, lib/Makefile.am, lib/accelerated/Makefile.am, + lib/accelerated/x86/Makefile.am, lib/algorithms/Makefile.am, + lib/auth/Makefile.am, lib/ext/Makefile.am, lib/extras/Makefile.am, + lib/opencdk/Makefile.am, lib/openpgp/Makefile.am, + lib/x509/Makefile.am: Add NETTLE_CFLAGS in makefiles This is required for using nettle/memxor.h, which now is included + implicitly via gnutls_int.h, if the nettle include directories + aren't in one of the compiler standard paths. Signed-off-by: Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c, lib/gnutls_sig.c: Changes to allow ECDH-DSA - with client mode certificates. +2013-06-06 Martin Storsjo -2011-05-26 Nikos Mavrogiannopoulos + * src/crywrap/Makefile.am: crywrap: Use the libidn pkg-config + include and lib paths Signed-off-by: Nikos Mavrogiannopoulos - * tests/certs/ca-cert-ecc.pem, tests/certs/ca-ecc.pem, - tests/certs/cert-ecc.pem, tests/certs/ecc.pem, - tests/suite/testcompat-main: Added server and client mode tests for - ECDH-ECDSA. +2013-06-06 Ludovic Courtès -2011-05-26 Nikos Mavrogiannopoulos + * guile/tests/Makefile.am: guile: Use `LOG_COMPILER', as required by + Automake 1.12+. - * lib/ext/session_ticket.c, lib/gnutls_db.c, lib/gnutls_dtls.c, - lib/gnutls_global.c, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_session_pack.c, lib/gnutls_v2_compat.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, - lib/nettle/rnd.c, lib/opencdk/keydb.c, lib/opencdk/literal.c, - lib/opencdk/read-packet.c, lib/opencdk/sig-check.c, - lib/openpgp/gnutls_openpgp.c, lib/system.c, lib/system.h, - lib/x509/common.c, lib/x509/verify.c, tests/chainverify.c: Added - gnutls_global_set_time_function() to allow overriding the default - system time() function. +2013-06-03 Nikos Mavrogiannopoulos -2011-05-25 Giuseppe Scrivano + * lib/Makefile.am, lib/nettle/Makefile.am: Add nettle dependencies + to libcrypto.la - * doc/cha-programs.texi: Fix example in the documentation. Signed-off-by: Nikos Mavrogiannopoulos +2013-06-03 Nikos Mavrogiannopoulos -2011-05-25 Nikos Mavrogiannopoulos + * lib/nettle/Makefile.am: correctly place cflags - * doc/cha-programs.texi: updated documentation on PSK. Signed-off-by: Nikos Mavrogiannopoulos +2013-06-03 Nikos Mavrogiannopoulos -2011-05-25 Nikos Mavrogiannopoulos + * doc/cha-shared-key.texi: discourage usage of anonymous + authentication - * lib/nettle/ecc_projective_add_point.c: If Q=-P return the point at - infinity. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-25 Nikos Mavrogiannopoulos + * doc/cha-gtls-app.texi, lib/gnutls_global.c: doc update - * tests/chainverify.c: Added elliptic curves chain certificate. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-25 Nikos Mavrogiannopoulos + * lib/Makefile.am, lib/gnutls.pc.in, lib/nettle/Makefile.am, + m4/hooks.m4: Directly link to gmp library. Based on original patch + by Alon Bar-Lev . - * lib/gnutls_buffers.c: do not try to write to a socket when no - data. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-24 Nikos Mavrogiannopoulos + * cross.mk: updated cross.mk - * tests/openpgpself.c: increased log level +2013-06-02 Nikos Mavrogiannopoulos -2011-05-24 Nikos Mavrogiannopoulos + * tests/cert-tests/Makefile.am, tests/cert-tests/pem-decoding, + tests/dsa/Makefile.am, tests/openpgp-certs/Makefile.am: several + updates for tests to run under win32 - * lib/gnutls_buffers.h, lib/gnutls_handshake.c: - _gnutls_handshake_hash_buffer_clear was replaced by - _gnutls_buffer_clear(); +2013-06-02 Nikos Mavrogiannopoulos -2011-05-23 Nikos Mavrogiannopoulos + * lib/system.c: null terminate strings in windows - * lib/nettle/pk.c: Only warn on invalid security level hashes. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-23 Nikos Mavrogiannopoulos + * cross.mk: updated makefile - * src/certtool.c: SHA256 is the default hash algorithm in certtool. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-23 Nikos Mavrogiannopoulos + * tests/pkcs12-decode/pkcs12: fix windows extension - * lib/gnutls_pk.c, lib/gnutls_pk.h, lib/gnutls_privkey.c, - lib/gnutls_sig.c, lib/x509/verify.c: Several updates to allow - generation and signing of an ECC certificate. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-23 Nikos Mavrogiannopoulos + * tests/pkcs1-padding/Makefile.am: avoid running tests which require + datefudge in windows - * doc/manpages/certtool.1: updated certtool info. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-23 Nikos Mavrogiannopoulos + * src/cli.c: avoid struct sigaction in win32 - * lib/algorithms/ciphersuites.c: corrected bug in ciphersuite name - searching. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/cert-tests/pem-decoding: Avoid comparing the expiration date + to prevent false positive error in 32-bit systems. - * doc/cha-auth.texi: Discussed the newly added ciphersuites. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/cert-tests/pathlen: Revert "Avoid comparing the expiration + date to prevent false positive error in 32-bit systems." This reverts commit 64f9b5787c9b404763f59b3252fe4ef1b862aa00. - * doc/Makefile.am: Added algorithms/ to function index. +2013-06-02 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/cert-tests/pathlen: Avoid comparing the expiration date to + prevent false positive error in 32-bit systems. - * lib/algorithms/ciphersuites.c: Added ECC ciphersuites from - rfc5289. +2013-06-01 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * NEWS: updated - * src/certtool.c: Print the private key after generation. Print ECC - keys. +2013-06-01 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * doc/cha-internals.texi, doc/cha-upgrade.texi: doc updates - * lib/algorithms/ecc.c, lib/gnutls_ecc.c, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/x509/privkey.c: Added - gnutls_x509_privkey_import_ecc_raw() and - gnutls_x509_privkey_export_ecc_raw(). +2013-06-01 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * NEWS: updated from 3.2.1 - * lib/x509/privkey.c: Decode PEM ECC private keys. +2013-06-01 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * configure.ac: check for suse's CA bundle file - * lib/algorithms.h, lib/algorithms/ecc.c, lib/x509/key_encode.c, - lib/x509/privkey.c, src/certtool-gaa.c, src/certtool-gaa.h, - src/certtool.c, src/certtool.gaa: updates to allow the generation of - an ECC private key. +2013-05-31 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/openpgp/privkey.c: call cleanup and deinit on the correct + number of parameters - * lib/x509_b64.c: do not crash on null message. +2013-05-31 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/gnutls_pk.c: avoid calling clear on null values - * .gitignore: updated +2013-05-30 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * configure.ac, lib/Makefile.am, lib/gnutls.pc.in, m4/hooks.m4: use + pkg-config to detect nettle - * lib/algorithms/ciphersuites.c, lib/algorithms/kx.c, - lib/auth/cert.c, lib/auth/dhe.c, lib/gnutls_pk.c, lib/gnutls_pk.h, - lib/gnutls_pubkey.c, lib/gnutls_sig.c, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/nettle/ecc_sign_hash.c, - lib/nettle/pk.c, lib/nettle/rnd.c, lib/nettle/rnd.h, - lib/x509/common.h, lib/x509/verify.c: Added support for verifying - server certificates with ECDSA. +2013-05-30 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/mini-xssl.c: ignore sigpipe - * lib/ext/ecc.c: Only reply with ECC Packet format extension if we - have negotiated ECC. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/algorithms/ciphersuites.c: allow ciphersuites with elliptic + curves even when using SSL 3.0. This works around a bug on openssl + in certain Debian systems. - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem, tests/pkcs12_s2k_pem.c: leak fix - and updates for new formats. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * po/LINGUAS, po/eo.po.in: Sync with TP. - * tests/suite/testcompat-main: Added ECDHE-RSA tests. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * .gitignore: more files to ignore - * lib/algorithms/secparams.c, lib/gnutls_pubkey.c: always put - leading zero to output keys +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/mini-xssl.c: updated xssl. - * lib/x509/output.c: print the bits together with the security - level. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/gnutls_dtls.c: doc update - * lib/x509/privkey.c, lib/x509/privkey_pkcs8.c: leaks fixes. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/mini-overhead.c: document sizes - * lib/pkcs11.c: corrected file descriptor leak. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/gnutls_dtls.c: more precise calculation of overhead - * libextra/gnutls_extra.c: gnutls_algorithms.h -> algorithms.h +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * tests/Makefile.am, tests/mini-overhead.c: Check overhead in DTLS. - * lib/x509/key_decode.c, lib/x509/key_encode.c: corrected ECC public - key encoding/decoding. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/gnutls_dtls.c: doc update - * src/certtool-common.c, src/certtool.c: Corrected bug in public key - import. print information on ECC public keys. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * NEWS: doc update - * lib/includes/gnutls/crypto.h, lib/nettle/pk.c, - lib/x509/key_encode.c, lib/x509/x509_int.h: No need to keep Z in - parameters since the pubkey can always be converted to an affine - point. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * configure.ac, m4/hooks.m4: bumped version - * lib/algorithms/secparams.c, lib/gnutls_pubkey.c, - lib/includes/gnutls/abstract.h, lib/libgnutls.map, - lib/x509/common.c, lib/x509/key_decode.c, lib/x509/mpi.c, - lib/x509/output.c: print information on ECC certificates. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-22 Nikos Mavrogiannopoulos + * lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in: + revert prototype move - * lib/abstract_int.h, lib/algorithms.h, lib/algorithms/ecc.c, - lib/auth/anon.h, lib/auth/ecdh_common.c, lib/auth/ecdh_common.h, - lib/auth/rsa.c, lib/auth/rsa_export.c, lib/ext/ecc.c, - lib/gnutls.asn, lib/gnutls_asn1_tab.c, lib/gnutls_ecc.c, - lib/gnutls_ecc.h, lib/gnutls_errors.c, lib/gnutls_int.h, - lib/gnutls_pk.c, lib/gnutls_pk.h, lib/gnutls_privkey.c, - lib/gnutls_pubkey.c, lib/gnutls_rsa_export.c, - lib/gnutls_rsa_export.h, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/gnutls_state.c, lib/gnutls_state.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map, lib/nettle/ecc_test.c, lib/nettle/pk.c, - lib/openpgp/openpgp_int.h, lib/openpgp/pgp.c, - lib/openpgp/privkey.c, lib/x509/Makefile.am, lib/x509/common.c, - lib/x509/common.h, lib/x509/crq.c, lib/x509/key_decode.c, - lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/privkey.c, - lib/x509/privkey_pkcs8.c, lib/x509/verify.c, lib/x509/x509.c, - lib/x509/x509_int.h, lib/x509/x509_write.c: gnutls_pk_params_st is - used internally to transfer public key parameters. This replaces the - raw bigint_t arrays. +2013-05-29 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * doc/Makefile.am, doc/cha-support.texi, doc/manpages/Makefile.am: + doc update - * lib/algorithms.h, lib/algorithms/ciphersuites.c, - lib/algorithms/ecc.c, lib/auth/ecdh_common.c, lib/ext/ecc.c, - lib/ext/ecc.h: Curve TLS ID is being stored in algorithms/ecc.c. +2013-05-28 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_cipher.c, lib/gnutls_cipher_int.c: Eliminated memory + copy on decryption. - * configure.ac, lib/Makefile.am, lib/algorithms.h, - lib/algorithms/Makefile.am, lib/algorithms/cert_types.c, - lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, - lib/algorithms/ecc.c, lib/algorithms/kx.c, lib/algorithms/mac.c, - lib/algorithms/protocols.c, lib/algorithms/publickey.c, - lib/algorithms/secparams.c, lib/algorithms/sign.c, lib/auth/cert.c, - lib/auth/dh_common.c, lib/auth/dhe.c, lib/auth/ecdh_common.c, - lib/auth/rsa.c, lib/auth/rsa_export.c, lib/ext/session_ticket.c, - lib/ext/signature.c, lib/ext/srp.c, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_auth.c, lib/gnutls_cert.c, - lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, - lib/gnutls_compress.c, lib/gnutls_constate.c, lib/gnutls_ecc.c, - lib/gnutls_handshake.c, lib/gnutls_kx.c, lib/gnutls_priority.c, - lib/gnutls_record.c, lib/gnutls_sig.c, lib/gnutls_state.c, - lib/gnutls_v2_compat.c, lib/gnutls_x509.c, lib/nettle/ecc_test.c, - lib/nettle/mpi.c, lib/opencdk/read-packet.c, lib/x509/common.h, - lib/x509/privkey_pkcs8.c: gnutls_algorithms.c was split into - manageable files in algorithms/. +2013-05-28 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_cipher_int.h: corrected likely() - * lib/gnutls_handshake.c: use the _gnutls_session_is_ecc() to check - for ECDH. +2013-05-27 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * tests/mini-deflate.c, tests/mini-x509-2.c, tests/mini-x509.c: use + various ciphers in tests. - * lib/auth/ecdh_common.c, lib/gnutls_algorithms.c, - lib/includes/gnutls/gnutls.h.in, lib/nettle/pk.c, lib/x509/x509.c: - Added OIDs and definitions for ECDSA signature algorithm. +2013-05-27 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: doc update - * src/benchmark-tls.c: Print purpose of testing. +2013-05-26 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * tests/mini-dtls-record.c: avoid delays by using a reliable + transport layer. - * src/benchmark-tls.c: compare ECDH and DH on the same security - level. +2013-05-26 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * .gitignore: removed test file from repository - * doc/cha-intro-tls.texi, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_priority.c: Added ability to - specify curves as priority strings. +2013-05-26 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * tests/mini-record.c: avoid delays by using a reliable transport + layer. - * lib/nettle/ecc.h: removed ecc_is_valid_idx() prototype +2013-05-26 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/algorithms/ciphers.c, lib/gnutls_cipher.c, + lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h: Eliminated memory + copy at encryption. - * lib/nettle/ecc.h, lib/nettle/ecc_make_key.c, - lib/nettle/ecc_map.c, lib/nettle/ecc_mulmod.c, - lib/nettle/ecc_points.c, lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_test.c, - lib/nettle/ecc_verify_hash.c, lib/nettle/pk.c: Dropped ltc_ from - function and type names. +2013-05-26 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/nettle/pk.c: eliminated unused variable - * tests/x509cert.c: corrected memory leak. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: revive gnutls_handshake_get_last_in(). + Report by Mann Ern Kang. - * lib/nettle/cipher.c: use new nettle's name for gcm_aes_auth(). +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Simon Josefsson + * lib/gnutls_cipher.c, lib/gnutls_cipher.h, lib/gnutls_record.c: + simplified code by passing an mbuffer. - * gl/hmac-md5.c, gl/m4/valgrind-tests.m4, gl/memxor.c, gl/memxor.h, - gl/override/lib/hmac-md5.c.diff, gl/override/lib/memxor.c.diff, - gl/override/lib/memxor.h.diff, - gl/override/m4/valgrind-tests.m4.diff: Override gnulib code with fix - for memxor and valgrind. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_int.h, lib/gnutls_mbuffers.h: better name - * lib/auth/anon_ecdh.c, lib/auth/dh_common.c, lib/auth/dhe.c, - lib/auth/ecdh_common.c, lib/gnutls_algorithms.c, - lib/gnutls_global.c, lib/gnutls_handshake.c, lib/gnutls_state.c, - lib/gnutls_state.h, lib/includes/gnutls/gnutls.h.in: Added support - for ECDHE-RSA ciphersuites. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/gnutls_pubkey.c: always set hash length - * tests/eagain-common.h: inlined function to avoid gcc warnings +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/abstract_int.h, lib/gnutls_pubkey.c, lib/nettle/pk.c: + corrected bug with _gnutls_dsa_q_to_hash() usage introduced + previously - * lib/nettle/Makefile.am, lib/nettle/ecc.h, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, - lib/nettle/ecc_mulmod.c, lib/nettle/ecc_points.c, - lib/nettle/ecc_projective_add_point.c, - lib/nettle/ecc_projective_dbl_point.c, - lib/nettle/ecc_projective_dbl_point_3.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_test.c, lib/nettle/ecc_verify_hash.c, - lib/nettle/ltc_ecc_map.c, lib/nettle/ltc_ecc_mulmod.c, - lib/nettle/ltc_ecc_points.c, - lib/nettle/ltc_ecc_projective_add_point.c, - lib/nettle/ltc_ecc_projective_dbl_point.c: Added previous code that - was fixed for y^2 = x^3 - 3x + b, because all secg curves have a - fixed to -3. Simplified file naming scheme. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/abstract_int.h, lib/algorithms.h, + lib/algorithms/ciphersuites.c, lib/algorithms/protocols.c, + lib/auth/cert.c, lib/auth/rsa.c, lib/auth/srp_rsa.c, + lib/ext/signature.c, lib/gnutls_cipher.c, lib/gnutls_constate.c, + lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_kx.c, + lib/gnutls_pubkey.c, lib/gnutls_record.c, lib/gnutls_sig.c, + lib/gnutls_state.c, lib/gnutls_ui.c: optimized access to TLS + protocol version properties. - * lib/gnutls_algorithms.c, lib/gnutls_int.h: Added SECP224R1. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-21 Nikos Mavrogiannopoulos + * lib/abstract_int.h, lib/accelerated/x86/hmac-padlock.c, + lib/algorithms.h, lib/algorithms/ciphers.c, + lib/algorithms/ciphersuites.c, lib/algorithms/mac.c, + lib/algorithms/protocols.c, lib/algorithms/sign.c, + lib/crypto-api.c, lib/ext/session_ticket.c, lib/gnutls_cipher.c, + lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, + lib/gnutls_constate.c, lib/gnutls_dtls.c, lib/gnutls_handshake.c, + lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_int.h, + lib/gnutls_pk.c, lib/gnutls_pk.h, lib/gnutls_privkey.c, + lib/gnutls_pubkey.c, lib/gnutls_range.c, lib/gnutls_sig.c, + lib/gnutls_sig.h, lib/gnutls_srp.c, lib/gnutls_state.c, + lib/gnutls_ui.c, lib/nettle/pk.c, lib/opencdk/Makefile.am, + lib/opencdk/hash.c, lib/opencdk/pubkey.c, lib/opencdk/seskey.c, + lib/opencdk/sig-check.c, lib/opencdk/stream.c, lib/verify-tofu.c, + lib/x509/crq.c, lib/x509/ocsp.c, lib/x509/ocsp_output.c, + lib/x509/pkcs12.c, lib/x509/pkcs12_encr.c, lib/x509/privkey.c, + lib/x509/privkey_pkcs8.c, lib/x509/verify.c, lib/x509/x509.c, + lib/x509/x509_int.h: simplified access to cipher and mac properties + to reduce wasted cycles. - * src/Makefile.am, src/benchmark-cipher.c, src/benchmark-tls.c, - src/benchmark.c, src/benchmark.h: updates to benchmarks. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * extra/gnutls_openssl.c: modified openssl compat API to use the + exported API - * lib/gnutls_algorithms.c, lib/gnutls_int.h, lib/gnutls_priority.c, - lib/nettle/ecc_test.c: Added curve SECP512R1. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * lib/libgnutls.map: no longer export internal hash functions - * src/benchmark-cipher.c, src/benchmark-common.c, src/benchmark.c: - benchmark ECDH and DH. +2013-05-25 Nikos Mavrogiannopoulos -2011-05-20 Simon Josefsson + * tests/mini-dtls-hello-verify.c: removed memory leak - * build-aux/config.rpath, gl/Makefile.am, gl/alignof.h, - gl/glthread/lock.c, gl/glthread/lock.h, gl/glthread/threadlib.c, - gl/hmac-md5.c, gl/intprops.h, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4, gl/m4/strerror.m4, gl/m4/strerror_r.m4, - gl/m4/thread.m4, gl/m4/valgrind-tests.m4, gl/m4/yield.m4, - gl/memxor.c, gl/memxor.h, gl/stdint.in.h, gl/strerror-impl.h, - gl/strerror.c, gl/strerror_r.c, gl/tests/Makefile.am, - gl/tests/dummy.c, gl/tests/glthread/thread.c, - gl/tests/glthread/thread.h, gl/tests/glthread/yield.h, - gl/tests/test-intprops.c, gl/tests/test-lock.c, - gl/tests/test-strerror.c, gl/tests/test-strerror_r.c: Update gnulib - files. +2013-05-24 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * lib/gnutls_num.c, lib/gnutls_num.h: inlined simple functions - * lib/auth/ecdh_common.c, lib/gnutls_handshake.c, src/common.c: - client side ECC fixes. +2013-05-24 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * lib/gnutls_mbuffers.c: avoid calloc - * src/cli.c: corrected debugging. +2013-05-21 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: fixes in record version checking - * lib/auth/ecdh_common.c, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_global.c, - lib/includes/gnutls/crypto.h, lib/nettle/ecc.h, - lib/nettle/ecc_free.c, lib/nettle/ecc_make_key.c, - lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, - lib/nettle/ecc_test.c, lib/nettle/ecc_verify_hash.c, - lib/nettle/ltc_ecc_map.c, lib/nettle/ltc_ecc_mulmod.c, - lib/nettle/ltc_ecc_points.c, - lib/nettle/ltc_ecc_projective_add_point.c, - lib/nettle/ltc_ecc_projective_dbl_point.c, lib/nettle/pk.c, - lib/x509/x509_int.h: Account 'A' in calculations for point doubling. - -2011-05-20 Nikos Mavrogiannopoulos - - * gl/Makefile.am, gl/alignof.h, gl/close-hook.c, gl/close-hook.h, - gl/error.c, gl/error.h, gl/fd-hook.c, gl/fd-hook.h, - gl/glthread/lock.c, gl/glthread/lock.h, gl/glthread/threadlib.c, - gl/intprops.h, gl/m4/error.m4, gl/m4/fcntl_h.m4, gl/m4/fseeko.m4, - gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/inttypes.m4, - gl/m4/manywarnings.m4, gl/m4/memchr.m4, gl/m4/netdb_h.m4, - gl/m4/stdint.m4, gl/m4/stdio_h.m4, gl/m4/strerror.m4, - gl/m4/strerror_r.m4, gl/m4/string_h.m4, gl/m4/sys_uio_h.m4, - gl/m4/thread.m4, gl/m4/unistd_h.m4, gl/m4/warnings.m4, - gl/m4/wchar_h.m4, gl/m4/yield.m4, gl/malloc.c, gl/netdb.in.h, - gl/realloc.c, gl/sockets.c, gl/stdint.in.h, gl/stdio.in.h, - gl/stdlib.in.h, gl/strerror-impl.h, gl/strerror.c, gl/strerror_r.c, - gl/string.in.h, gl/sys_socket.in.h, gl/sys_uio.in.h, - gl/tests/Makefile.am, gl/tests/dummy.c, gl/tests/fcntl.in.h, - gl/tests/glthread/thread.c, gl/tests/glthread/thread.h, - gl/tests/glthread/yield.h, gl/tests/intprops.h, - gl/tests/inttypes.in.h, gl/tests/test-fcntl-h.c, - gl/tests/test-intprops.c, gl/tests/test-inttypes.c, - gl/tests/test-lock.c, gl/tests/test-strerror.c, - gl/tests/test-strerror_r.c, gl/tests/test-sys_socket.c, - gl/tests/test-sys_uio.c, gl/unistd.in.h, gl/verify.h, gl/wchar.in.h: - Added new gnulib and error.h. +2013-05-21 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * src/cli.c: use sigaction instead of signal in gnutls-cli - * lib/gnutls_global.c: removed debugging. +2013-05-21 Nikos Mavrogiannopoulos -2011-05-20 Nikos Mavrogiannopoulos + * src/cli.c: Revert "break the loop when a SIGALRM has been + received" This reverts commit c3b3a0c6bd14a542e11873ebe0975a5ddd0ab46b. - * cfg.mk: added error.h +2013-05-21 Nikos Mavrogiannopoulos -2011-05-16 Nikos Mavrogiannopoulos + * src/libopts/m4/libopts.m4: relax check on requirement on headers + for libopts. Reported by Mark Brand. - * lib/Makefile.am, lib/auth/Makefile.am, lib/auth/anon.h, - lib/auth/anon_ecdh.c, lib/auth/ecdh_common.c, - lib/auth/ecdh_common.h, lib/ext/Makefile.am, lib/ext/ecc.c, - lib/ext/ecc.h, lib/gnutls_algorithms.c, lib/gnutls_algorithms.h, - lib/gnutls_dh.c, lib/gnutls_ecc.c, lib/gnutls_ecc.h, - lib/gnutls_errors.c, lib/gnutls_extensions.c, lib/gnutls_global.c, - lib/gnutls_int.h, lib/gnutls_pk.c, lib/gnutls_pk.h, - lib/gnutls_priority.c, lib/gnutls_state.c, lib/gnutls_state.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, - lib/nettle/Makefile.am, lib/nettle/ecc.h, lib/nettle/ecc_free.c, - lib/nettle/ecc_make_key.c, lib/nettle/ecc_shared_secret.c, - lib/nettle/ecc_sign_hash.c, lib/nettle/ecc_test.c, - lib/nettle/ecc_verify_hash.c, lib/nettle/gnettle.h, - lib/nettle/ltc_ecc_map.c, lib/nettle/ltc_ecc_mulmod.c, - lib/nettle/ltc_ecc_points.c, - lib/nettle/ltc_ecc_projective_add_point.c, - lib/nettle/ltc_ecc_projective_dbl_point.c, - lib/nettle/mp_unsigned_bin.c, lib/nettle/mpi.c, lib/nettle/multi.c, - lib/nettle/pk.c, lib/nettle/rnd.c, lib/nettle/rnd.h, - lib/x509/x509_int.h: Initial ecc support. Adds support for anonymous - ECDH ciphersuites. +2013-05-20 Nikos Mavrogiannopoulos -2011-05-17 Nikos Mavrogiannopoulos + * .gitignore: more files to ignore - * src/benchmark-common.c, src/benchmark.h: more win32 fixes. +2013-05-20 Nikos Mavrogiannopoulos -2011-05-17 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: Improved record version checks - * src/benchmark-common.c: corrections in win32 version. +2013-05-20 Nikos Mavrogiannopoulos -2011-05-17 Nikos Mavrogiannopoulos + * tests/Makefile.am, tests/mini-dtls-hello-verify.c: Added test for + hello verify message - * lib/ext/signature.c, lib/gnutls_extensions.c: Some debugging moved - to a higher level. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-17 Nikos Mavrogiannopoulos + * lib/nettle/mac.c: fail on wrong key sizes - * src/Makefile.am, src/benchmark-common.c, src/benchmark-tls.c, - src/benchmark.c, src/benchmark.h, tests/eagain-common.h: Added - benchmark utility that tests the encryption time in TLS packets. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-17 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_dtls.c: corrected record overhead calculations - * src/p11common.c: corrected message reporting. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-16 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: more detailed error - * src/p11common.c: Corrected PIN caching. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-16 Nikos Mavrogiannopoulos + * lib/gnutls_handshake.c: corrected resumption check - * lib/gnutls_record.c: assign value +2013-05-19 Nikos Mavrogiannopoulos -2011-05-16 Nikos Mavrogiannopoulos + * NEWS: updated doc - * lib/nettle/mpi.c: reduce the repetitions for rabin-miller to a - sensible value. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-14 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: Allow record layer packets with version less + than the negotiated. Allowing such records avoids issue in DTLS client hello request + verification. - * doc/cha-intro-tls.texi: discuss missing algorithms. +2013-05-19 Nikos Mavrogiannopoulos -2011-05-10 Nikos Mavrogiannopoulos + * lib/gnutls.pc.in: removed undefined variable - * NEWS: updated +2013-05-19 Nikos Mavrogiannopoulos -2011-05-10 Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_handshake.c, lib/gnutls_session.c, + lib/gnutls_ui.c, lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: + gnutls_session_set_id() was added - * lib/gnutls_str.c, lib/gnutls_str.h, lib/pkcs11.c: Correctly import - and export pkcs11-urls with ID field set. +2013-05-18 Nikos Mavrogiannopoulos -2011-05-10 Nikos Mavrogiannopoulos + * src/cli.c: break the loop when a SIGALRM has been received - * lib/nettle/egd.c, lib/opencdk/literal.c, lib/opencdk/misc.c, - lib/opencdk/read-packet.c, lib/pkcs11.c, lib/x509/common.c, - lib/x509_b64.c, lib/x509_b64.h: eliminated last instances of - strcpy() and strcat() to keep pendantics happy. +2013-05-18 Nikos Mavrogiannopoulos -2011-05-09 Nikos Mavrogiannopoulos + * src/libopts/m4/libopts.m4: configure proceeds if regex library + isn't found - * doc/cha-intro-tls.texi: update on compatibility issues text. +2013-05-17 Nikos Mavrogiannopoulos -2011-05-09 Nikos Mavrogiannopoulos + * lib/gnutls_str.c: documented function behavior - * lib/pkcs11.c: doc update in gnutls_pkcs11_init() +2013-05-16 Nikos Mavrogiannopoulos -2011-05-08 Nikos Mavrogiannopoulos + * lib/gnutls_str.c: corrected typo - * doc/cha-preface.texi: removed references that produced nothing in - pdf. +2013-05-16 Nikos Mavrogiannopoulos -2011-05-08 Nikos Mavrogiannopoulos + * lib/gnutls_str.c, lib/nettle/pk.c, lib/opencdk/keydb.c, + lib/opencdk/sig-check.c, lib/x509/common.c, + lib/x509/verify-high2.c, lib/x509/verify.c, lib/x509/x509.c, + lib/xssl.c, libdane/dane.c: several updates - * doc/cha-intro-tls.texi: Added missing nodes. +2013-05-11 Nikos Mavrogiannopoulos -2011-05-08 Nikos Mavrogiannopoulos + * src/danetool.c: print message on certificate verification - * doc/cha-intro-tls.texi: Added discussion on compatibility issues. +2013-05-11 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * NEWS: doc update - * libextra/gnutls_openssl.c: undef X509_NAME before including - openssl.h. +2013-05-11 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * tests/cert-tests/pem-decoding: more verbose messages - * NEWS, doc/cha-gtls-app.texi, lib/accelerated/intel/aes-x86.c, - lib/auth/rsa.c, lib/auth/rsa_export.c, lib/auth/srp.c, - lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_errors.c, - lib/gnutls_errors.h, lib/gnutls_global.c, lib/gnutls_global.h, - lib/gnutls_handshake.c, lib/gnutls_record.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/cli.c, - src/serv.c: Added gnutls_global_set_audit_log_function() that allows - associating TLS session with several important issues. +2013-05-10 Tim Kosse -2011-05-07 Nikos Mavrogiannopoulos + * tests/eagain-common.h: When retrying gnutls_record_send due to + GNUTLS_E_AGAIN, also try passing null data and length. Tests will + fail after this patch until next patch is applied that fixes a bug + in gnutls_record_send. Signed-off-by: Nikos Mavrogiannopoulos - * NEWS, lib/x509/crq.c: updates +2013-05-10 Tim Kosse -2011-05-07 Nikos Mavrogiannopoulos + * lib/gnutls_record.c: If gnutls_record_send fails with + GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED, the documentation allows + passing null for the data and size on retry. Commit 2ec84d6 broke this usage of gnutls_record_send. This patch + fixes the problem. Signed-off-by: Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/x509/crq.c, lib/x509/x509_write.c, tests/crq_key_id.c: Added - gnutls_x509_crq_verify(). +2013-05-10 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * doc/cha-internals.texi, lib/gnutls_ui.c: typo fixes by Andreas + Metzler - * doc/manpages/certtool.1, src/Makefile.am, src/certtool-common.c, - src/certtool-common.h, src/certtool.c, src/common.c, - src/p11common.c, src/p11common.h, src/pkcs11.c: certtool can now - load private keys and public keys from PKCS #11 tokens (via URLs). +2013-05-10 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * NEWS: released 3.2.0 - * lib/pkcs11_privkey.c: gnutls_pkcs11_privkey_import_url() will - correctly set algorithm of private key. +2013-05-10 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi, + doc/cha-gtls-examples.texi: simplified node referencing and add + NEW_PADDING in doc - * src/Makefile.am, src/certtool.c, src/p11tool.c: No libgnutls-extra - is required for certtool or p11tool. +2013-05-10 Nikos Mavrogiannopoulos -2011-05-07 Nikos Mavrogiannopoulos + * m4/hooks.m4: increased revision - * tests/rng-fork.c: Do not use /tmp for temporary file. Just use the - local (test) directory. +2013-05-10 Nikos Mavrogiannopoulos -2011-05-05 Nikos Mavrogiannopoulos + * doc/Makefile.am, doc/manpages/Makefile.am: doc update - * tests/hostname-check.c: Added a check to verify that we don't try - forever trying to verify too many wildcards. +2013-05-10 Nikos Mavrogiannopoulos -2011-05-05 Nikos Mavrogiannopoulos + * NEWS, lib/algorithms/ciphersuites.c: Added more options for + salsa20 ciphers - * THANKS, lib/gnutls_str.c, lib/gnutls_str.h, lib/openpgp/pgp.c, - lib/x509/rfc2818_hostname.c: _gnutls_hostname_compare() was - incredibly slow when over ten wildcards were present. Set a limit on - 6 wildcards to avoid any denial of service attack. Reported by Kalle - Olavi Niemitalo. +2013-05-10 Nikos Mavrogiannopoulos -2011-05-05 Nikos Mavrogiannopoulos + * src/libopts/m4/libopts.m4: applied libregex patch - * lib/gnutls_str.c, lib/opencdk/misc.c: Use c_toupper to avoid - converting characters non in the english ASCII set. Reported by - Kalle Olavi Niemitalo. +2013-05-08 Nikos Mavrogiannopoulos -2011-05-05 Nikos Mavrogiannopoulos + * cfg.mk, lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s, + lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s, + lib/accelerated/x86/macosx/appro-aes-x86-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86-macosx.s, + lib/accelerated/x86/macosx/padlock-x86-64-macosx.s, + lib/accelerated/x86/macosx/padlock-x86-macosx.s: use C's style + comments to compile in old MacOSX systems. Reported by Ryan Schmidt. - * lib/x509/verify-high.c: use > 0 instead of == 1. +2013-05-05 Nikos Mavrogiannopoulos -2011-05-03 Nikos Mavrogiannopoulos + * doc/cha-auth.texi: doc update - * .gitignore, NEWS, lib/gnutls_cert.c, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/x509/verify-high.c, tests/Makefile.am, - tests/x509cert.c: Added gnutls_certificate_get_issuer() to allow - getting the issuer a certificate from the certificate credentials - structure. +2013-05-05 Nikos Mavrogiannopoulos -2011-04-30 Andreas Metzler + * lib/ext/alpn.c: clarified doc - * doc/manpages/p11tool.1: escape dashes in manpage Signed-off-by: Nikos Mavrogiannopoulos +2013-05-05 Nikos Mavrogiannopoulos -2011-05-01 Nikos Mavrogiannopoulos + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi, + doc/manpages/tpmtool.1: updated for new autogen - * .gitignore, gl/m4/.gitignore, gl/m4/byteswap.m4, - gl/m4/codeset.m4, gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, - gl/m4/func.m4, gl/m4/gettext.m4, gl/m4/glibc2.m4, gl/m4/glibc21.m4, - gl/m4/hmac-md5.m4, gl/m4/iconv.m4, gl/m4/intdiv0.m4, gl/m4/intl.m4, - gl/m4/intldir.m4, gl/m4/intlmacosx.m4, gl/m4/intmax.m4, - gl/m4/inttypes-pri.m4, gl/m4/lcmessage.m4, gl/m4/ld-output-def.m4, - gl/m4/ld-version-script.m4, gl/m4/lock.m4, gl/m4/md5.m4, - gl/m4/memmem.m4, gl/m4/memxor.m4, gl/m4/nls.m4, gl/m4/po.m4, - gl/m4/printf-posix.m4, gl/m4/progtest.m4, gl/m4/strcase.m4, - gl/m4/strdup.m4, gl/m4/strings_h.m4, gl/m4/strverscmp.m4, - gl/m4/threadlib.m4, gl/m4/time_r.m4, gl/m4/uintmax_t.m4, - gl/m4/valgrind-tests.m4, gl/m4/vasprintf.m4, gl/m4/visibility.m4, - gl/m4/vsnprintf.m4, gl/tests/.gitignore, gl/tests/intprops.h, - gl/tests/test-byteswap.c, gl/tests/test-func.c, - gl/tests/test-hmac-md5.c, gl/tests/test-md5.c, - gl/tests/test-strings.c, gl/tests/test-strverscmp.c, - gl/tests/test-u64.c, gl/tests/test-vasprintf.c, - gl/tests/test-vsnprintf.c: Added missing m4 gl files. +2013-05-05 Nikos Mavrogiannopoulos -2011-05-01 Nikos Mavrogiannopoulos + * tests/mini-alpn.c: updated for new api - * NEWS: documented previous updates. +2013-05-05 Nikos Mavrogiannopoulos -2011-04-30 Nikos Mavrogiannopoulos + * tests/dtls/dtls-stress.c: updated path - * tests/suite/testcompat-main: Check for openssl 1.0.x to test DTLS. +2013-05-05 Nikos Mavrogiannopoulos -2011-04-28 Ludovic Courtès + * src/cli.c: corrected API usage. - * guile/modules/Makefile.am, guile/modules/gnutls/build/tests.scm, - guile/tests/anonymous-auth.scm, guile/tests/errors.scm, - guile/tests/openpgp-auth.scm, guile/tests/openpgp-keyring.scm, - guile/tests/openpgp-keys.scm, guile/tests/pkcs-import-export.scm, - guile/tests/session-record-port.scm, guile/tests/srp-base64.scm, - guile/tests/x509-auth.scm, guile/tests/x509-certificates.scm: guile: - Fix tests to match the `exit' behavior introduced in Guile 2.0.1. This fix makes tests behave correctly wrt. to the Guile bug fix at +2013-05-05 Nikos Mavrogiannopoulos - . + * lib/ext/alpn.c, lib/ext/alpn.h, lib/gnutls_alert.c, + lib/gnutls_errors.c, lib/includes/gnutls/gnutls.h.in: Added support + for the NO_APPLICATION_PROTOCOL alert for ALPN. -2011-04-23 Nikos Mavrogiannopoulos +2013-05-05 Nikos Mavrogiannopoulos - * lib/gnutls.pc.in: removed pakchois dependency + * src/cli-args.c, src/cli-args.def, src/cli-args.h, src/cli.c, + src/common.c: Improved ALPN support in gnutls-cli -2011-04-23 Nikos Mavrogiannopoulos +2013-05-05 Nikos Mavrogiannopoulos - * NEWS, configure.ac: updated for release + * src/certtool-args.c, src/certtool-args.h, src/cli-args.c, + src/cli-args.h, src/cli-debug-args.c, src/cli-debug-args.h, + src/danetool-args.c, src/danetool-args.h, src/ocsptool-args.c, + src/ocsptool-args.h, src/p11tool-args.c, src/p11tool-args.h, + src/psk-args.c, src/psk-args.h, src/serv-args.c, src/serv-args.h, + src/srptool-args.c, src/srptool-args.h: updated libopts generated + files. -2011-04-23 Nikos Mavrogiannopoulos +2013-05-05 Nikos Mavrogiannopoulos - * tests/x509dn.c: added missing header. + * src/libopts/COPYING.gplv3, src/libopts/COPYING.lgplv3, + src/libopts/Makefile.am, src/libopts/README, + src/libopts/ag-char-map.h, src/libopts/alias.c, + src/libopts/ao-strs.c, src/libopts/ao-strs.h, + src/libopts/autoopts.c, src/libopts/autoopts.h, + src/libopts/autoopts/options.h, src/libopts/autoopts/project.h, + src/libopts/autoopts/usage-txt.h, src/libopts/boolean.c, + src/libopts/check.c, src/libopts/compat/compat.h, + src/libopts/compat/pathfind.c, src/libopts/compat/snprintf.c, + src/libopts/compat/strchr.c, src/libopts/compat/strdup.c, + src/libopts/compat/windows-config.h, src/libopts/configfile.c, + src/libopts/cook.c, src/libopts/enum.c, src/libopts/env.c, + src/libopts/file.c, src/libopts/find.c, src/libopts/genshell.c, + src/libopts/genshell.h, src/libopts/gettext.h, src/libopts/init.c, + src/libopts/libopts.c, src/libopts/load.c, + src/libopts/m4/libopts.m4, src/libopts/m4/liboptschk.m4, + src/libopts/makeshell.c, src/libopts/nested.c, + src/libopts/numeric.c, src/libopts/option-value-type.c, + src/libopts/option-value-type.h, + src/libopts/option-xat-attribute.c, + src/libopts/option-xat-attribute.h, src/libopts/parse-duration.c, + src/libopts/parse-duration.h, src/libopts/pgusage.c, + src/libopts/proto.h, src/libopts/putshell.c, src/libopts/reset.c, + src/libopts/restore.c, src/libopts/save.c, src/libopts/sort.c, + src/libopts/stack.c, src/libopts/streqvcmp.c, + src/libopts/text_mmap.c, src/libopts/time.c, + src/libopts/tokenize.c, src/libopts/usage.c, src/libopts/version.c: + updated libopts to autogen 5.17.3 -2011-04-23 Nikos Mavrogiannopoulos +2013-05-05 Nikos Mavrogiannopoulos - * lib/accelerated/intel/Makefile.am: pass tag=CC to libtool. It - seems automake cannot really work with assembler sources. + * src/cli-args.def, src/cli.c: Added --alpn option to cli -2011-04-23 Nikos Mavrogiannopoulos +2013-05-03 Nikos Mavrogiannopoulos - * lib/gnutls_pcert.c, lib/openpgp/gnutls_openpgp.c: documentation - fixes. + * configure.ac, m4/hooks.m4: bumped version -2011-04-22 Nikos Mavrogiannopoulos +2013-05-03 Nikos Mavrogiannopoulos - * cfg.mk: start counting from 2009 for ChangeLog. + * NEWS, lib/algorithms/mac.c, lib/includes/gnutls/gnutls.h.in, + lib/nettle/mac.c: Added umac-128 -2011-04-22 Nikos Mavrogiannopoulos +2013-05-02 Nikos Mavrogiannopoulos - * tests/hostname-check.c: Removed incorrect test on IPAddresses (was - relying on IPaddresses encoded as text) + * src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c: set the + key purpose in certificate requests -2011-04-21 Nikos Mavrogiannopoulos +2013-05-02 Nikos Mavrogiannopoulos - * lib/x509/rfc2818_hostname.c: gnutls_x509_crt_check_hostname() will - never compare against IPaddress. (previous comparison was flawed) + * tests/utils.h: Do not call gnutls_pkcs11_init() when pkcs11 is + disabled. Reported by Linus Nordberg. -2011-04-21 Nikos Mavrogiannopoulos +2013-05-02 Nikos Mavrogiannopoulos - * doc/examples/ex-cert-select.c, lib/auth/cert.c, lib/auth/cert.h, - lib/gnutls_cert.c, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/certtool.c, - src/cli.c, tests/x509dn.c: Added - gnutls_certificate_set_retrieve_function2() to replace - gnutls_certificate_set_retrieve_function(). The new one is a - efficient for busy servers because it eliminates the need for the - server to encode the certificate to DER format. + * libdane/dane.c, libdane/includes/gnutls/dane.h: corrected typo. + reported by Etan Reisner. -2011-04-20 Nikos Mavrogiannopoulos +2013-05-01 Nikos Mavrogiannopoulos - * lib/gnutls_alert.c, lib/gnutls_errors.c, - lib/includes/gnutls/gnutls.h.in: Added GNUTLS_E_USER_ERROR + * tests/suite/mini-eagain2.c, tests/suite/mini-record-timing.c: + updated include files -2011-04-20 Nikos Mavrogiannopoulos +2013-05-01 Nikos Mavrogiannopoulos - * lib/auth/cert.c, lib/ext/signature.c, lib/ext/signature.h, - lib/gnutls_pcert.c, lib/includes/gnutls/abstract.h, - lib/libgnutls.map: Eliminated the need for sign_algo in - gnutls_pcert_st. This means that we don't follow RFC5246 by letter, - but there wasn't any other implementation using the sign_algorithm - part of the certificate selection, and this helps reduce complexity. + * lib/gnutls_handshake.c: simplified code -2011-04-20 Nikos Mavrogiannopoulos +2013-05-01 Nikos Mavrogiannopoulos - * src/cfg/Makefile.am, src/cfg/README: Added readme for libcfg. + * gl/Makefile.am, gl/m4/extern-inline.m4, gl/m4/getdtablesize.m4, + gl/m4/gnulib-comp.m4, gl/tests/Makefile.am, + gl/tests/getdtablesize.c, gl/tests/glthread/threadlib.c, + gl/tests/test-dup2.c, gl/tests/test-getdtablesize.c: updated gnulib -2011-04-20 Nikos Mavrogiannopoulos +2013-05-01 Nikos Mavrogiannopoulos - * configure.ac: No need to check for -maes and -mpclmul with the - current AES-NI code. + * tests/anonself.c, tests/certder.c, + tests/certificate_set_x509_crl.c, tests/certuniqueid.c, + tests/chainverify-unsorted.c, tests/chainverify.c, + tests/crq_apis.c, tests/crq_key_id.c, tests/cve-2008-4989.c, + tests/cve-2009-1415.c, tests/cve-2009-1416.c, tests/dhepskself.c, + tests/dn.c, tests/dn2.c, tests/dtls/dtls-stress.c, tests/gc.c, + tests/hostname-check.c, tests/infoaccess.c, tests/init_roundtrip.c, + tests/key-openssl.c, tests/mini-alpn.c, tests/mini-deflate.c, + tests/mini-dtls-heartbeat.c, tests/mini-dtls-record.c, + tests/mini-dtls-rehandshake.c, tests/mini-dtls-srtp.c, + tests/mini-eagain-dtls.c, tests/mini-eagain.c, + tests/mini-emsgsize-dtls.c, tests/mini-handshake-timeout.c, + tests/mini-loss-time.c, tests/mini-record-range.c, + tests/mini-record.c, tests/mini-rehandshake.c, tests/mini-tdb.c, + tests/mini-termination.c, tests/mini-x509-2.c, + tests/mini-x509-callbacks.c, tests/mini-x509-cas.c, + tests/mini-x509.c, tests/mini-xssl.c, tests/mini.c, tests/moredn.c, + tests/mpi.c, tests/nul-in-x509-names.c, tests/ocsp.c, + tests/openpgp-auth.c, tests/openpgp-auth2.c, + tests/openpgp-keyring.c, tests/openpgpself.c, tests/openssl.c, + tests/parse_ca.c, tests/pgps2kgnu.c, tests/pkcs12_encode.c, + tests/pkcs12_s2k.c, tests/pkcs12_s2k_pem.c, tests/pkcs12_simple.c, + tests/pskself.c, tests/resume-dtls.c, tests/resume.c, + tests/rng-fork.c, tests/rsa-encrypt-decrypt.c, + tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, + tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, + tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c, + tests/set_pkcs12_cred.c, tests/setcredcrash.c, + tests/slow/cipher-test.c, tests/slow/gendh.c, tests/slow/keygen.c, + tests/srp/mini-srp.c, tests/suite/mini-eagain2.c, + tests/suite/mini-record-timing.c, tests/utils.h, + tests/x509_altname.c, tests/x509cert-tl.c, tests/x509cert.c, + tests/x509dn.c, tests/x509self.c, tests/x509sign-verify.c: When + running tests disable PKCS #11 support to avoid detecting memory + leaks from PKCS #11 libraries. -2011-04-17 Nikos Mavrogiannopoulos +2013-05-01 Nikos Mavrogiannopoulos - * .gitignore: updated + * lib/gnutls_dtls.c: doc update -2011-04-17 Nikos Mavrogiannopoulos +2013-04-28 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/abstract_int.h, lib/auth/cert.c, - lib/auth/cert.h, lib/auth/dhe.c, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp_rsa.c, lib/ext/signature.c, - lib/ext/signature.h, lib/gnutls_algorithms.c, lib/gnutls_cert.c, - lib/gnutls_cert.h, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_mpi.c, lib/gnutls_pcert.c, lib/gnutls_privkey.c, - lib/gnutls_pubkey.c, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/gnutls_state.c, lib/gnutls_ui.c, lib/gnutls_x509.c, - lib/gnutls_x509.h, lib/includes/gnutls/abstract.h, - lib/opencdk/pubkey.c, lib/openpgp/gnutls_openpgp.c, - lib/openpgp/gnutls_openpgp.h, lib/openpgp/openpgp_int.h, - lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, lib/openpgp/privkey.c, - lib/pkcs11_int.h, lib/x509/common.h, lib/x509/pkcs12_encr.c, - lib/x509/sign.c, lib/x509/verify-high.c, lib/x509/verify.c, - lib/x509/x509.c, lib/x509/x509_int.h: Combined external abstract API - with internal usage of gnutls_cert. This results to a - gnutls_pcert_st struct exported in abstract.h. This change will allow a certificate retrieval callback that does - not require gnutls to decode or encode the provided certificate. + * tests/dtls/Makefile.am: link explicitly to librt -2011-04-16 Nikos Mavrogiannopoulos +2013-04-28 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_priority.c: Restored HMAC-MD5 for compatibility. - Although considered weak, several sites require it for connection. - It is enabled for "NORMAL" and "PERFORMANCE" priority strings. + * NEWS: updated -2011-04-16 Nikos Mavrogiannopoulos +2013-04-28 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.c: Try to detect AES-NI on Intel and - AMD machines only. + * NEWS: doc update -2011-04-16 Nikos Mavrogiannopoulos +2013-04-28 Nikos Mavrogiannopoulos - * NEWS, configure.ac, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/README, lib/accelerated/intel/aes-x86.c, - lib/accelerated/intel/asm/appro-aes-x86-64.s, - lib/accelerated/intel/asm/appro-aes-x86.s, - lib/accelerated/intel/asm/x64_iaesx64.s, - lib/accelerated/intel/asm/x86_iaesx86.s, - lib/accelerated/intel/iaes_asm_interface.h, - lib/accelerated/intel/iaesni.h, lib/accelerated/intel/license.txt: - Added Andy Polyakov's version of AES-NI optimizations. + * .gitignore, build-aux/config.rpath, build-aux/gendocs.sh, + configure.ac, gl/Makefile.am, gl/gettime.c, + gl/glthread/threadlib.c, gl/intprops.h, gl/m4/clock_time.m4, + gl/m4/frexp.m4, gl/m4/gettime.m4, gl/m4/gnulib-cache.m4, + gl/m4/gnulib-comp.m4, gl/m4/intl.m4, gl/m4/po.m4, gl/m4/putenv.m4, + gl/m4/stdalign.m4, gl/m4/sys_types_h.m4, gl/m4/timer_time.m4, + gl/m4/timespec.m4, gl/sys_select.in.h, gl/sys_time.in.h, + gl/tests/Makefile.am, gl/tests/malloca.h, gl/tests/putenv.c, + gl/timespec.c, gl/timespec.h, gl/unistd.in.h, lib/gnutls_dtls.c, + lib/gnutls_dtls.h, lib/gnutls_state.c, lib/nettle/rnd.c, + lib/system.h, src/benchmark-cipher.c, src/benchmark.c, + src/benchmark.h, tests/suite/Makefile.am, + tests/suite/mini-record-timing.c: Avoid linking the library on + librt. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Stef Walter - * .gitignore: more files to ignore + * tests/suite/mini-record-timing.c: test suite: Add missing header Signed-off-by: Nikos Mavrogiannopoulos -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * src/tests.c: COMP-ZLIB -> COMP-DEFLATE + * tests/cert-tests/Makefile.am, tests/cert-tests/complex-cert.pem, + tests/cert-tests/pem-decoding: Added test for escaping rules. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Stef Walter - * lib/Makefile.am, m4/hooks.m4: Link with pthreads. + * lib/x509/common.c: Add the standard description OID to those + recognized for DNs Signed-off-by: Nikos Mavrogiannopoulos -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * doc/Makefile.am: read API from new directories as well. + * lib/x509/common.c, lib/x509/dn.c: Always escape printable strings + the LDAP way, and avoid escaping hex encoded values. Report and + initial patch from Stef Walter. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/accelerated/Makefile.am: corrected filename + * lib/x509/common.c, lib/x509/common.h: Do not include null + terminator in DN string. When printing an unknown DN string as hex do not include the null + terminator. Reported by Stef Walter. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/ext/session_ticket.c: removed conditional compilation + * configure.ac: Link against pthread only when pthread_mutex_lock + isn't in libc -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/ext/session_ticket.h: removed conditional compilation. + * lib/accelerated/x86/sha-padlock.c: initialize the digest after + output on padlock. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/accelerated/cryptodev.c: use correct header. + * src/certtool-cfg.c, src/certtool-cfg.h, src/certtool.c, + src/pkcs11.c: read_yesno() accepts a default value. By default + certificates are marked as ok for signing and encryption. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/README: documented directories. + * lib/ext/heartbeat.c, lib/ext/heartbeat.h: updated license -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/accelerated/Makefile.am, - lib/accelerated/cryptodev.c, lib/accelerated/cryptodev.h, - lib/cryptodev.c, lib/gnutls_cryptodev.h, lib/gnutls_global.c: Moved - cryptodev to accelerated/ + * lib/accelerated/x86/sha-padlock.c, lib/crypto-backend.h, + lib/gnutls_cipher_int.c, lib/gnutls_hash_int.c, + lib/gnutls_hash_int.h, lib/nettle/mac.c: eliminate the reset ability + from hashes -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * lib/gnutls_extensions.c, lib/gnutls_handshake.c: Session tickets - are included unconditionally. + * lib/accelerated/x86/hmac-padlock.c, lib/crypto-backend.h, + lib/gnutls_cipher_int.c, lib/gnutls_hash_int.c, + lib/gnutls_hash_int.h, lib/nettle/mac.c: Do not handle MAC reset + separately. It is implied by nettle's output function. -2011-04-16 Nikos Mavrogiannopoulos +2013-04-27 Nikos Mavrogiannopoulos - * configure.ac, lib/Makefile.am, lib/auth/Makefile.am, - lib/auth/anon.c, lib/auth/anon.h, lib/auth/cert.c, lib/auth/cert.h, - lib/auth/dh_common.c, lib/auth/dh_common.h, lib/auth/dhe.c, - lib/auth/dhe_psk.c, lib/auth/psk.c, lib/auth/psk.h, - lib/auth/psk_passwd.c, lib/auth/psk_passwd.h, lib/auth/rsa.c, - lib/auth/rsa_export.c, lib/auth/srp.c, lib/auth/srp.h, - lib/auth/srp_passwd.c, lib/auth/srp_passwd.h, lib/auth/srp_rsa.c, - lib/auth/srp_sb64.c, lib/auth_anon.c, lib/auth_anon.h, - lib/auth_cert.c, lib/auth_cert.h, lib/auth_dh_common.c, - lib/auth_dh_common.h, lib/auth_dhe.c, lib/auth_dhe_psk.c, - lib/auth_psk.c, lib/auth_psk.h, lib/auth_psk_passwd.c, - lib/auth_psk_passwd.h, lib/auth_rsa.c, lib/auth_rsa_export.c, - lib/auth_srp.c, lib/auth_srp.h, lib/auth_srp_passwd.c, - lib/auth_srp_passwd.h, lib/auth_srp_rsa.c, lib/auth_srp_sb64.c, - lib/ext/Makefile.am, lib/ext/cert_type.c, lib/ext/cert_type.h, - lib/ext/max_record.c, lib/ext/max_record.h, - lib/ext/safe_renegotiation.c, lib/ext/safe_renegotiation.h, - lib/ext/server_name.c, lib/ext/server_name.h, - lib/ext/session_ticket.c, lib/ext/session_ticket.h, - lib/ext/signature.c, lib/ext/signature.h, lib/ext/srp.c, - lib/ext/srp.h, lib/ext_cert_type.c, lib/ext_cert_type.h, - lib/ext_max_record.c, lib/ext_max_record.h, - lib/ext_safe_renegotiation.c, lib/ext_safe_renegotiation.h, - lib/ext_server_name.c, lib/ext_server_name.h, - lib/ext_session_ticket.c, lib/ext_session_ticket.h, - lib/ext_signature.c, lib/ext_signature.h, lib/ext_srp.c, - lib/ext_srp.h, lib/gnutls_anon_cred.c, lib/gnutls_auth.c, - lib/gnutls_cert.c, lib/gnutls_extensions.c, lib/gnutls_handshake.c, - lib/gnutls_psk.c, lib/gnutls_record.c, lib/gnutls_session_pack.c, - lib/gnutls_sig.c, lib/gnutls_srp.c, lib/gnutls_state.c, - lib/gnutls_ui.c, lib/gnutls_x509.c, lib/openpgp/gnutls_openpgp.h, - m4/hooks.m4: The auth_ and ext_ files were moved to respective - directories. + * lib/crypto-api.c: updated documentation -2011-04-15 Nikos Mavrogiannopoulos +2013-04-24 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: Reorganized sections in documentation. + * src/benchmark-cipher.c, src/benchmark-tls.c, src/benchmark.c, + src/benchmark.h: updated benchmark output -2011-04-15 Nikos Mavrogiannopoulos +2013-04-23 Nikos Mavrogiannopoulos - * doc/examples/ex-cxx.cpp: removed unneeded comment. + * doc/TODO: updated TODO list -2011-04-15 Nikos Mavrogiannopoulos +2013-04-17 Nikos Mavrogiannopoulos - * tests/cve-2009-1416.c, tests/pkcs12_s2k_pem.c: Added missing - headers. + * lib/auth/cert.h, lib/gnutls_cert.c, lib/gnutls_x509.c: use the + pass argument on PKCS #11 keys. -2011-04-15 Nikos Mavrogiannopoulos +2013-04-16 Nikos Mavrogiannopoulos - * tests/suite/Makefile.am, tests/suite/chain, tests/suite/testbig, - tests/suite/testbig-main, tests/suite/testcompat, - tests/suite/testcompat-main, tests/suite/x509paths/.gitignore, - tests/suite/x509paths/README, tests/x509paths/README, - tests/x509paths/chain: x509paths tests moved to suite/. + * lib/accelerated/x86/hmac-padlock.c, + lib/accelerated/x86/sha-padlock.c: corrected memory leak in + padlock_hash_fast() -2011-04-15 Nikos Mavrogiannopoulos +2013-04-14 Nikos Mavrogiannopoulos - * tests/certs/cert-rsa-2432.pem, tests/certs/rsa-2432.pem, - tests/scripts/common.sh, tests/suite/Makefile.am, - tests/suite/testbig, tests/suite/testbig-main: Added - interoperability tests with openssl. + * doc/cha-intro-tls.texi: mention about experimental protocols -2011-04-15 Nikos Mavrogiannopoulos +2013-04-14 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: Corrected SSLv2 header parsing. + * src/benchmark-tls.c: nettle 2.7 is required -2011-04-15 Nikos Mavrogiannopoulos +2013-04-13 Nikos Mavrogiannopoulos - * doc/credentials/x509-server-dsa.pem, - doc/credentials/x509-server-key-dsa.pem: corrected illegal DSA key. + * doc/cha-crypto.texi: doc update -2011-04-14 Nikos Mavrogiannopoulos +2013-04-13 Nikos Mavrogiannopoulos - * tests/suite/Makefile.am, tests/suite/testsrn: Enabled the extra - safe renegotiation tests. + * doc/cha-crypto.texi: Added documentation on public key API. -2011-04-14 Nikos Mavrogiannopoulos +2013-04-13 Nikos Mavrogiannopoulos - * m4/hooks.m4: removed opaque PRF from m4. + * doc/cha-gtls-app.texi, lib/gnutls_priority.c: Added priority + string VERS-DTLS-ALL -2011-04-14 Nikos Mavrogiannopoulos +2013-04-13 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: removed text about select(). + * lib/algorithms/mac.c, lib/nettle/cipher.c, lib/nettle/mac.c, + m4/hooks.m4: nettle 2.7 is required -2011-04-13 Nikos Mavrogiannopoulos +2013-04-13 Nikos Mavrogiannopoulos - * configure.ac, lib/Makefile.am: check for libdl that pakchois - needs. + * NEWS: corrected doc -2011-04-13 Nikos Mavrogiannopoulos +2013-04-12 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/pakchois/README: Added readme about pakchois - and removed checks for pakchois in Makefile.am. + * lib/algorithms/mac.c, lib/nettle/cipher.c, lib/nettle/mac.c, + m4/hooks.m4, src/benchmark-tls.c: renamed HAVE_UMAC -> HAVE_NETTLE27 -2011-04-13 Nikos Mavrogiannopoulos +2013-04-12 Nikos Mavrogiannopoulos - * configure.ac, m4/hooks.m4: Reorganization in configure file. - Pakchois is not longer checked for being present. The included - version is always used. + * lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/includes/gnutls/gnutls.h.in, lib/nettle/cipher.c, + src/benchmark-tls.c: Added ESTREAM salsa20 cipher. -2011-04-13 Nikos Mavrogiannopoulos +2013-04-11 Nikos Mavrogiannopoulos - * gl/.gitignore, gl/asprintf.c, gl/byteswap.in.h, gl/hmac-md5.c, - gl/hmac.h, gl/md5.c, gl/md5.h, gl/memmem.c, gl/memxor.c, - gl/memxor.h, gl/str-two-way.h, gl/strcasecmp.c, gl/strdup.c, - gl/strings.in.h, gl/strncasecmp.c, gl/strverscmp.c, gl/time_r.c, - gl/u64.h, gl/unistd.h, gl/vasprintf.c, gl/vsnprintf.c, - gl/warn-on-use.h, gl/wchar.h: Added missing gnulib files + * lib/nettle/mac.c: better naming of functions -2011-04-13 Nikos Mavrogiannopoulos +2013-04-11 Nikos Mavrogiannopoulos - * lib/crypto-api.c: Added missing const. + * lib/algorithms/mac.c, lib/includes/gnutls/gnutls.h.in, + lib/nettle/mac.c, m4/hooks.m4: Updated UMAC code to use nettle's new + implementation -2011-04-12 Ludovic Courtès +2013-04-10 Nikos Mavrogiannopoulos - * NEWS, src/certtool-common.c, src/certtool.c, src/p11tool.c, - tests/crq_key_id.c, tests/cve-2009-1416.c, tests/pkcs12_s2k_pem.c: - Don't include when it's not needed. + * README: added note about LGPLv3 -2011-04-13 Nikos Mavrogiannopoulos +2013-04-10 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: fixed and updates in documentation + * lib/system_override.c: doc update -2011-04-13 Nikos Mavrogiannopoulos +2013-04-10 Nikos Mavrogiannopoulos - * doc/gnutls-crypto-layers.eps: Updated crypto layers documentation. + * lib/gnutls_buffers.c: use unlikely -2011-04-12 Nikos Mavrogiannopoulos +2013-04-10 Nikos Mavrogiannopoulos - * NEWS, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-x86.c, - lib/accelerated/intel/asm/x64_do_rdtsc.s, - lib/accelerated/intel/asm/x86_do_rdtsc.s, tests/cipher-test.c: - Updates in the AES-NI accelerator. + * NEWS: documented update -2011-04-12 Nikos Mavrogiannopoulos +2013-04-10 Nikos Mavrogiannopoulos - * lib/crypto-api.c, lib/includes/gnutls/crypto.h, lib/libgnutls.map: - Added gnutls_cipher_set_iv(). + * configure.ac, doc/cha-intro-tls.texi, lib/ext/Makefile.am, + lib/ext/alpn.c, lib/ext/alpn.h, lib/gnutls_extensions.c, + lib/gnutls_int.h, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, m4/hooks.m4, tests/Makefile.am, + tests/mini-alpn.c: Added support for the ALPN extension. -2011-04-12 Nikos Mavrogiannopoulos +2013-04-10 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/cipher-test.c: Added test vectors for - AES,SHAxxx and MD5. + * lib/gnutls_constate.c: removed unused variables -2011-04-12 Nikos Mavrogiannopoulos +2013-04-09 Nikos Mavrogiannopoulos - * lib/accelerated/intel/aes-x86.c, lib/crypto.c, - lib/includes/gnutls/crypto.h: Increased priority of CPU assisted - ciphers. + * src/cli-debug.c, src/tests.c, src/tests.h: removed the RSA-EXPORT + checks -2011-04-12 Nikos Mavrogiannopoulos +2013-04-08 Nikos Mavrogiannopoulos - * src/cli.c: Do not rely on lowat being set. + * README: updated -2011-04-11 Nikos Mavrogiannopoulos +2013-04-08 Nikos Mavrogiannopoulos - * lib/accelerated/Makefile.am, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/README: Added README explaining the usage of - Intel AES library. + * doc/cha-cert-auth2.texi, doc/cha-gtls-app.texi, + doc/cha-tokens.texi, lib/gnutls_x509.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added + gnutls_certificate_set_x509_key_mem2() and + gnutls_certificate_set_x509_key_file2() -2011-04-11 Nikos Mavrogiannopoulos +2013-04-08 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: Corrected parsing error in TLS, when many - handshake messages were packed in a single record message. + * doc/cha-cert-auth2.texi, doc/cha-gtls-examples.texi, + lib/gnutls_privkey.c, lib/x509/pkcs12.c, lib/x509/privkey.c: doc + updates -2011-04-11 Nikos Mavrogiannopoulos +2013-04-07 Nikos Mavrogiannopoulos - * .gitignore, configure.ac, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/aes-x86.c, - lib/accelerated/aes-x86.h, lib/accelerated/intel/Makefile.am, - lib/accelerated/intel/aes-x86.c, lib/accelerated/intel/aes-x86.h, - lib/accelerated/intel/asm/x64_do_rdtsc.s, - lib/accelerated/intel/asm/x64_iaesx64.s, - lib/accelerated/intel/asm/x86_do_rdtsc.s, - lib/accelerated/intel/asm/x86_iaesx86.s, - lib/accelerated/intel/iaes_asm_interface.h, - lib/accelerated/intel/iaesni.h, lib/accelerated/intel/license.txt, - m4/gcc.m4: fixes in acceleration detection. Added Intel's library - code for AES-NI acceleration. + * lib/algorithms.h, lib/algorithms/ciphers.c, + lib/gnutls_constate.c, lib/gnutls_state.c, lib/gnutls_state.h: + removed TLS export key generation -2011-04-11 Nikos Mavrogiannopoulos +2013-04-07 Nikos Mavrogiannopoulos - * guile/modules/gnutls/build/enums.scm, lib/libgnutls.map, - libextra/Makefile.am: Purged all references of LZO. + * NEWS, configure.ac, doc/cha-gtls-app.texi, lib/Makefile.am, + lib/algorithms.h, lib/algorithms/ciphersuites.c, + lib/algorithms/kx.c, lib/algorithms/publickey.c, + lib/auth/Makefile.am, lib/auth/cert.h, lib/auth/rsa.c, + lib/auth/rsa_export.c, lib/gnutls_auth.c, lib/gnutls_cert.c, + lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_kx.c, + lib/gnutls_priority.c, lib/gnutls_rsa_export.c, + lib/gnutls_rsa_export.h, lib/gnutls_session_pack.c, + lib/gnutls_state.c, lib/gnutls_state.h, lib/gnutls_ui.c, + lib/includes/gnutls/gnutls.h.in, lib/x509/privkey.c, + lib/x509/privkey_openssl.c, lib/x509/privkey_pkcs8.c: Removed the + RSA-EXPORT ciphersuites. -2011-04-11 Nikos Mavrogiannopoulos +2013-04-07 Nikos Mavrogiannopoulos - * configure.ac: removed duplicate test + * NEWS, doc/cha-library.texi, lib/algorithms/ciphersuites.c, + lib/algorithms/protocols.c, lib/gnutls_priority.c, + lib/includes/gnutls/gnutls.h.in, tests/mini-emsgsize-dtls.c: Added + support for DTLS 1.2 -2011-04-11 Nikos Mavrogiannopoulos +2013-04-07 Nikos Mavrogiannopoulos - * doc/examples/ex-cxx.cpp, gl/time.in.h: No need to under restrict - for C++. Only use config.h. + * lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, + lib/includes/gnutls/gnutls.h.in: deprecated + gnutls_privkey_sign_raw_data() -2011-04-11 Nikos Mavrogiannopoulos +2013-04-07 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/gnutls.h.in, lib/system_override.c: - gnutls_transport_set_global_errno() is no more. + * doc/TODO: updated -2011-04-11 Nikos Mavrogiannopoulos +2013-04-06 Nikos Mavrogiannopoulos - * tests/eagain-common.h, tests/safe-renegotiation/Makefile.am, - tests/safe-renegotiation/srn0.c, tests/safe-renegotiation/srn1.c, - tests/safe-renegotiation/srn2.c, tests/safe-renegotiation/srn3.c, - tests/safe-renegotiation/srn4.c, tests/safe-renegotiation/srn5.c: - Combined the safe renegotiation tests with the again-common lib. + * lib/gnutls_range.c: updates in range handling code. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-06 Nikos Mavrogiannopoulos - * NEWS, configure.ac, doc/cha-intro-tls.texi, doc/cha-preface.texi, - doc/cha-programs.texi, lib/gnutls_compress.c, lib/gnutls_errors.c, - lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map, libextra/gnutls_extra.c, m4/hooks.m4: Support for - liblzo was dropped. + * tests/Makefile.am, tests/mini-record-range.c: Added test for + record ranges. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-06 Nikos Mavrogiannopoulos - * NEWS, configure.ac: bumped version + * lib/auth/ecdhe.c: Set the curve priority to calling derive. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-05 Nikos Mavrogiannopoulos - * .gitignore, gl/time.h, gl/time.in.h: updated time.h.in + * lib/nettle/pk.c: reduce the number of temp variables in ECDH -2011-04-10 Nikos Mavrogiannopoulos +2013-04-04 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/gnutls_dtls.c, lib/gnutls_mem.c, - lib/gnutls_psk.c, lib/gnutls_record.c, - lib/includes/gnutls/gnutls.h.in, lib/pkcs11.c, - lib/pkcs11_privkey.c, lib/x509/verify-high.c, lib/x509/verify.c: - Corrected documentation of several API functions. + * src/common.c: print the signatures used. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-04 Nikos Mavrogiannopoulos - * doc/cha-gtls-app.texi, doc/cha-library.texi: documentation - updates. + * lib/ext/signature.c, lib/ext/signature.h, lib/gnutls_int.h, + lib/gnutls_session_pack.c, lib/gnutls_sig.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added + gnutls_sign_algorithm_get_client() -2011-04-10 Nikos Mavrogiannopoulos +2013-04-03 Nikos Mavrogiannopoulos - * doc/scripts/gdoc, doc/scripts/sort2.pl: remove perl warnings from - scripts. + * lib/ext/heartbeat.c, m4/hooks.m4: Changed license of heartbeat + implementation to match the rest of the library -2011-04-10 Nikos Mavrogiannopoulos +2013-04-03 Nikos Mavrogiannopoulos - * configure.ac, lib/Makefile.am, lib/accelerated/Makefile.am, - lib/accelerated/accelerated.c, lib/accelerated/accelerated.h, - lib/accelerated/aes-x86.c, lib/accelerated/aes-x86.h, - lib/accelerated/x86.h, lib/gnutls_global.c, m4/gcc.m4: Added support - for x86 intel AES instruction acceleration if detected. + * doc/cha-internals.texi: updated text -2011-04-10 Nikos Mavrogiannopoulos +2013-04-03 Nikos Mavrogiannopoulos - * gl/time.h, gl/unistd.h, gl/warn-on-use.h, gl/wchar.h: Added gl/ - files. + * lib/ext/heartbeat.c: gnutls_pong() returns zero on success. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * cfg.mk: corrected po directory and build-aux paths. + * lib/ext/heartbeat.h: removed function that didn't exist -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * doc/examples/Makefile.am: include gnulib files. + * lib/ext/heartbeat.c, lib/ext/heartbeat.h: updated heartbeat -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * doc/TODO: updated TODO + * tests/mini-dtls-heartbeat.c: Check all error conditions. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * tests/openpgp-certs/testselfsigs: Use --infile in certtool to - avoid issues with streams in windows. Patch by LRN. + * lib/ext/heartbeat.c: Corrected bug in heartbeat send (reported by + Joke de Buhr). -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * lib/opencdk/armor.c: Changes armor.c to be able to handle both LF - and CRLF inputs (output is still either LF-only or CRLF-only - depending on the platform). Patch by LRN. Optimizations in the usage of strlen(). + * NEWS, lib/algorithms.h, lib/algorithms/ecc.c, lib/auth/ecdhe.c, + lib/crypto-backend.h, lib/gnutls_ecc.c, lib/gnutls_ecc.h, + lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/nettle/Makefile.am, + lib/nettle/ecc.h, lib/nettle/ecc_free.c, lib/nettle/ecc_make_key.c, + lib/nettle/ecc_map.c, lib/nettle/ecc_mulmod.c, + lib/nettle/ecc_mulmod_cached.c, lib/nettle/ecc_points.c, + lib/nettle/ecc_projective_add_point_ng.c, + lib/nettle/ecc_projective_check_point.c, + lib/nettle/ecc_projective_dbl_point_3.c, + lib/nettle/ecc_projective_isneutral.c, + lib/nettle/ecc_projective_negate_point.c, + lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, + lib/nettle/ecc_verify_hash.c, lib/nettle/init.c, + lib/nettle/multi.c, lib/nettle/pk.c, lib/nettle/wmnaf.c, + lib/x509/key_decode.c, lib/x509/privkey.c: Removed elliptic curve + code from gnutls. Use nettle's implementation. -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * src/cli.c, src/psk.c, src/serv.c, src/srptool.c, src/tests.c: - Define variables within the intended scope (not windows). Based on - patch by LRN. + * src/serv.c: corrected issue in ecccertfile option -2011-04-10 Nikos Mavrogiannopoulos +2013-04-02 Nikos Mavrogiannopoulos - * doc/examples/ex-cert-select-pkcs11.c, src/common.c, src/pkcs11.c: - Use getpass.h (from gnulib). Patch by LRN. + * lib/gnutls_handshake.c: make a short list of the available PK + algorithms -2011-04-10 Nikos Mavrogiannopoulos +2013-03-28 Nikos Mavrogiannopoulos - * lib/pakchois/dlopen.c: Return correct value for dlclose() in - windows. Patch by LRN. + * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, + lib/includes/gnutls/abstract.h, tests/x509sign-verify.c: Added sign + and verification flags to operate in RSA raw mode (as used in TLS). -2011-04-10 Nikos Mavrogiannopoulos +2013-03-27 Nikos Mavrogiannopoulos - * tests/openpgp-auth.c: Disable openpgp-auth run in windows due to - lack of socketpair(). Patch by LRN. + * lib/auth/rsa.c, lib/gnutls_int.h: When in compatibility mode allow + for a wrong version in the RSA PMS. -2011-04-09 Nikos Mavrogiannopoulos +2013-03-27 Nikos Mavrogiannopoulos - * Makefile.am: gl before lib or libextra + * lib/algorithms.h, lib/algorithms/protocols.c, lib/auth/rsa.c, + lib/gnutls_cipher.c, lib/gnutls_handshake.c, lib/gnutls_record.c: + convert gnutls versions to TLS major-minor in a single function. -2011-04-09 Nikos Mavrogiannopoulos +2013-03-24 Nikos Mavrogiannopoulos - * ChangeLog: generated + * devel/perlasm/license-gnutls.txt, + lib/accelerated/x86/coff/cpuid-x86-64-coff.s, + lib/accelerated/x86/coff/cpuid-x86-coff.s, + lib/accelerated/x86/elf/cpuid-x86-64.s, + lib/accelerated/x86/elf/cpuid-x86.s, + lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s, + lib/accelerated/x86/macosx/cpuid-x86-macosx.s, + lib/ext/status_request.h, lib/gnutlsxx.cpp, + lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/ocsp.h, + lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/verify-high.h: changed license headers to 2.1. Reported by + Andreas Metzler. -2011-04-09 Nikos Mavrogiannopoulos +2013-03-24 Nikos Mavrogiannopoulos * NEWS: updated -2011-04-09 Nikos Mavrogiannopoulos +2013-03-23 Nikos Mavrogiannopoulos - * .gitignore, doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, - doc/examples/Makefile.am, doc/examples/ex-client-udp.c, - doc/examples/udp.c, lib/gnutls_state.c: Added documentation for - Datagram TLS. + * doc/manpages/Makefile.am: updated copyright -2011-04-09 Nikos Mavrogiannopoulos +2013-03-23 Nikos Mavrogiannopoulos - * cfg.mk: updated + * NEWS, lib/algorithms/ciphers.c, lib/algorithms/mac.c, + lib/crypto-api.c, lib/includes/gnutls/crypto.h, + lib/includes/gnutls/gnutls.h.in: Added gnutls_mac_get_nonce_size() -2011-04-08 Nikos Mavrogiannopoulos +2013-03-22 Nikos Mavrogiannopoulos - * tests/chainverify.c: disable test in windows. + * NEWS: updated -2011-04-08 Nikos Mavrogiannopoulos +2013-03-22 Nikos Mavrogiannopoulos - * tests/mini-x509-rehandshake.c, tests/openpgp-auth.c, - tests/openpgp-auth2.c: corrected leaks in tests. + * lib/gnutls_privkey.c: doc update -2011-04-08 Nikos Mavrogiannopoulos +2013-03-22 Nikos Mavrogiannopoulos - * lib/auth_cert.c, lib/gnutls_pk.c: corrected memory leak on RSA - signatures. + * doc/cha-internals.texi: corrected file location -2011-04-08 Nikos Mavrogiannopoulos +2013-03-21 Nikos Mavrogiannopoulos - * lib/x509/common.c: more leaks fixed in common.c + * tests/openpgp-auth.c: use return instead of exit -2011-04-08 Nikos Mavrogiannopoulos +2013-03-21 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: Corrected leaks in gnutls_pubkey_t - deinitialization. + * lib/auth/cert.c: use the proper defines -2011-04-08 Nikos Mavrogiannopoulos +2013-03-21 Nikos Mavrogiannopoulos - * lib/x509/verify-high.c: fix in trusted_list certificate - deinitialization. + * NEWS, lib/abstract_int.h, lib/auth/cert.c, lib/gnutls_pubkey.c, + lib/includes/gnutls/abstract.h, lib/includes/gnutls/openpgp.h, + lib/openpgp/gnutls_openpgp.c: Fixes in openpgp handshake with + fingerprints. Reported by Joke de Buhr. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-21 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: correction in deinitialization of privkey. + * tests/openpgp-auth.c: openpgp-auth tests + gnutls_openpgp_set_recv_key_function() as well. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-21 Nikos Mavrogiannopoulos - * tests/mini-x509-rehandshake.c, tests/mini-x509.c: combined more - tests with eagain-common.h. + * NEWS, lib/gnutls_sig.c: correct issue with the (deprecated) + external key signing and TLS 1.2 -2011-04-08 Nikos Mavrogiannopoulos +2013-03-19 Nikos Mavrogiannopoulos - * lib/auth_dh_common.c, lib/gnutls_privkey.c, lib/gnutls_x509.c, - lib/nettle/pk.c, lib/pakchois/pakchois.c, lib/pakchois/pakchois.h, - lib/pkcs11.c, lib/x509/verify-high.c, tests/mini-x509.c: Corrected - memory leaks. + * src/benchmark.c: use clock_gettime when we can -2011-04-08 Nikos Mavrogiannopoulos +2013-03-19 Nikos Mavrogiannopoulos - * build-aux/arg-nonnull.h, build-aux/c++defs.h, - build-aux/config.rpath, build-aux/warn-on-use.h, cfg.mk, - gl/Makefile.am, gl/m4/.gitignore, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-comp.m4: added valgrind from gnulib. + * src/benchmark-cipher.c: removed R20 -2011-04-08 Nikos Mavrogiannopoulos +2013-03-19 Nikos Mavrogiannopoulos - * tests/dsa/testdsa, tests/openpgp-certs/testcerts: Do not run the - test scripts in win32 environment. + * NEWS, lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/includes/gnutls/gnutls.h.in, lib/nettle/cipher.c, + src/benchmark-tls.c: Salsa20R20 -> Salsa20 -2011-04-08 Nikos Mavrogiannopoulos +2013-03-19 Nikos Mavrogiannopoulos - * cfg.mk: use the system wide gnulib-tool. + * lib/libgnutls.map, tests/gc.c: use the exported variant of + _gnutls_hmac_fast(). -2011-04-08 Nikos Mavrogiannopoulos +2013-03-19 Nikos Mavrogiannopoulos - * .gitignore: updated + * NEWS, lib/accelerated/cryptodev.c, + lib/accelerated/x86/hmac-padlock.c, lib/algorithms/ciphers.c, + lib/algorithms/ciphersuites.c, lib/algorithms/mac.c, + lib/crypto-api.c, lib/crypto-backend.h, lib/ext/session_ticket.c, + lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, + lib/gnutls_cipher_int.h, lib/gnutls_constate.c, lib/gnutls_dtls.c, + lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_state.c, + lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, lib/nettle/cipher.c, lib/nettle/mac.c, + lib/x509/pbkdf2-sha1.c, lib/x509/pkcs12.c, m4/hooks.m4, + src/benchmark-cipher.c, src/benchmark-tls.c: The HMAC subsystem can + now be used for other MAC algorithms, like UMAC. UMAC-96 and + UMAC-128 were conditionally added. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-17 Nikos Mavrogiannopoulos - * NEWS: updated + * src/benchmark-tls.c: use RSA ciphersuite to compare ciphers. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-17 Nikos Mavrogiannopoulos - * tests/suite/ecore/src/lib/ecore_exe.c: include priority headers - unconditionally. + * lib/gnutls_cipher.c: corrected bug in stream ciphers and added new + cipher to the new padding format. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-17 Nikos Mavrogiannopoulos - * configure.ac, tests/Makefile.am, tests/suite/Makefile.am, - tests/suite/Makefile.in: Better way of not including the tests/suite - directory. Based on discussion with LRN and Vincent Torri. + * NEWS, lib/algorithms.h, lib/algorithms/ciphers.c, + lib/algorithms/ciphersuites.c, lib/gnutls_cipher.c, + lib/gnutls_constate.c, lib/gnutls_dtls.c, + lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, lib/nettle/cipher.c, lib/x509/privkey_openssl.c, + lib/x509/privkey_pkcs8.c, src/benchmark-cipher.c, + src/benchmark-tls.c: Added salsa20 cipher, and ciphersuites. -2011-04-08 Nikos Mavrogiannopoulos +2013-03-17 Nikos Mavrogiannopoulos - * .gitignore, Makefile.am, cfg.mk, configure.ac, - doc/examples/Makefile.am, doc/gendocs_template, gl/.gitignore, - gl/Makefile.am, gl/accept.c, gl/alignof.h, gl/alloca.c, - gl/alloca.in.h, gl/arpa_inet.in.h, gl/asnprintf.c, gl/bind.c, - gl/c-ctype.c, gl/c-ctype.h, gl/close-hook.c, gl/close-hook.h, - gl/close.c, gl/connect.c, gl/errno.in.h, gl/error.c, gl/error.h, - gl/fclose.c, gl/float+.h, gl/float.in.h, gl/fseeko.c, gl/ftello.c, - gl/gai_strerror.c, gl/getaddrinfo.c, gl/getdelim.c, gl/getline.c, - gl/getpass.c, gl/getpass.h, gl/gettext.h, gl/gettime.c, - gl/gettimeofday.c, gl/inet_ntop.c, gl/inet_pton.c, gl/intprops.h, - gl/listen.c, gl/lseek.c, gl/m4/.gitignore, gl/m4/00gnulib.m4, - gl/m4/alloca.m4, gl/m4/arpa_inet_h.m4, gl/m4/asm-underscore.m4, - gl/m4/autobuild.m4, gl/m4/clock_time.m4, gl/m4/close.m4, - gl/m4/errno_h.m4, gl/m4/error.m4, gl/m4/extensions.m4, - gl/m4/fclose.m4, gl/m4/float_h.m4, gl/m4/fseeko.m4, - gl/m4/ftello.m4, gl/m4/getaddrinfo.m4, gl/m4/getdelim.m4, - gl/m4/getline.m4, gl/m4/getpagesize.m4, gl/m4/getpass.m4, - gl/m4/gettime.m4, gl/m4/gettimeofday.m4, gl/m4/gnulib-cache.m4, - gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, - gl/m4/hostent.m4, gl/m4/include_next.m4, gl/m4/inet_ntop.m4, - gl/m4/inet_pton.m4, gl/m4/intmax_t.m4, gl/m4/inttypes_h.m4, - gl/m4/ioctl.m4, gl/m4/lib-ld.m4, gl/m4/lib-link.m4, - gl/m4/lib-prefix.m4, gl/m4/longlong.m4, gl/m4/lseek.m4, - gl/m4/malloc.m4, gl/m4/manywarnings.m4, gl/m4/memchr.m4, - gl/m4/minmax.m4, gl/m4/mmap-anon.m4, gl/m4/multiarch.m4, - gl/m4/netdb_h.m4, gl/m4/netinet_in_h.m4, gl/m4/perror.m4, - gl/m4/printf.m4, gl/m4/read-file.m4, gl/m4/readline.m4, - gl/m4/realloc.m4, gl/m4/select.m4, gl/m4/servent.m4, - gl/m4/size_max.m4, gl/m4/snprintf.m4, gl/m4/socketlib.m4, - gl/m4/sockets.m4, gl/m4/socklen.m4, gl/m4/sockpfaf.m4, - gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4, - gl/m4/stdint.m4, gl/m4/stdint_h.m4, gl/m4/stdio_h.m4, - gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4, - gl/m4/sys_ioctl_h.m4, gl/m4/sys_select_h.m4, gl/m4/sys_socket_h.m4, - gl/m4/sys_stat_h.m4, gl/m4/sys_time_h.m4, gl/m4/time_h.m4, - gl/m4/timespec.m4, gl/m4/ungetc.m4, gl/m4/unistd_h.m4, - gl/m4/valgrind-tests.m4, gl/m4/vasnprintf.m4, gl/m4/version-etc.m4, - gl/m4/warn-on-use.m4, gl/m4/warnings.m4, gl/m4/wchar_h.m4, - gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/malloc.c, - gl/memchr.c, gl/minmax.h, gl/netdb.in.h, gl/netinet_in.in.h, - gl/perror.c, gl/printf-args.c, gl/printf-args.h, gl/printf-parse.c, - gl/printf-parse.h, gl/progname.c, gl/progname.h, gl/read-file.c, - gl/read-file.h, gl/readline.c, gl/readline.h, gl/realloc.c, - gl/recv.c, gl/select.c, gl/send.c, gl/setsockopt.c, gl/shutdown.c, - gl/size_max.h, gl/snprintf.c, gl/socket.c, gl/sockets.c, - gl/sockets.h, gl/stdarg.in.h, gl/stdbool.in.h, gl/stddef.in.h, - gl/stdint.in.h, gl/stdio-impl.h, gl/stdio-write.c, gl/stdio.in.h, - gl/stdlib.in.h, gl/strerror.c, gl/string.in.h, gl/sys_select.in.h, - gl/sys_socket.in.h, gl/sys_stat.in.h, gl/sys_time.in.h, - gl/tests/.gitignore, gl/tests/Makefile.am, gl/tests/binary-io.h, - gl/tests/dummy.c, gl/tests/fcntl.in.h, gl/tests/getpagesize.c, - gl/tests/init.sh, gl/tests/ioctl.c, gl/tests/macros.h, - gl/tests/signature.h, gl/tests/sys_ioctl.in.h, - gl/tests/test-alignof.c, gl/tests/test-alloca-opt.c, - gl/tests/test-arpa_inet.c, gl/tests/test-binary-io.c, - gl/tests/test-c-ctype.c, gl/tests/test-errno.c, - gl/tests/test-fcntl-h.c, gl/tests/test-fseeko.c, - gl/tests/test-ftello.c, gl/tests/test-ftello3.c, - gl/tests/test-getaddrinfo.c, gl/tests/test-getdelim.c, - gl/tests/test-getline.c, gl/tests/test-gettimeofday.c, - gl/tests/test-inet_ntop.c, gl/tests/test-inet_pton.c, - gl/tests/test-lseek.c, gl/tests/test-lseek.sh, - gl/tests/test-memchr.c, gl/tests/test-netdb.c, - gl/tests/test-netinet_in.c, gl/tests/test-perror.c, - gl/tests/test-perror.sh, gl/tests/test-read-file.c, - gl/tests/test-select-fd.c, gl/tests/test-select-in.sh, - gl/tests/test-select-out.sh, gl/tests/test-select-stdin.c, - gl/tests/test-select.c, gl/tests/test-snprintf.c, - gl/tests/test-sockets.c, gl/tests/test-stdbool.c, - gl/tests/test-stddef.c, gl/tests/test-stdint.c, - gl/tests/test-stdio.c, gl/tests/test-stdlib.c, - gl/tests/test-strerror.c, gl/tests/test-string.c, - gl/tests/test-sys_ioctl.c, gl/tests/test-sys_select.c, - gl/tests/test-sys_socket.c, gl/tests/test-sys_stat.c, - gl/tests/test-sys_time.c, gl/tests/test-sys_wait.h, - gl/tests/test-time.c, gl/tests/test-unistd.c, - gl/tests/test-update-copyright.sh, gl/tests/test-vasnprintf.c, - gl/tests/test-vc-list-files-cvs.sh, - gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, - gl/tests/test-version-etc.c, gl/tests/test-version-etc.sh, - gl/tests/test-wchar.c, gl/tests/w32sock.h, gl/tests/zerosize-ptr.h, - gl/time.in.h, gl/timespec.h, gl/unistd.in.h, gl/vasnprintf.c, - gl/vasnprintf.h, gl/verify.h, gl/version-etc-fsf.c, - gl/version-etc.c, gl/version-etc.h, gl/w32sock.h, gl/wchar.in.h, - gl/xsize.h, guile/src/Makefile.am, lib/Makefile.am, - lib/configure.ac, lib/gcrypt/Makefile.am, lib/gl/Makefile.am, - lib/gl/alignof.h, lib/gl/alloca.in.h, lib/gl/asnprintf.c, - lib/gl/asprintf.c, lib/gl/byteswap.in.h, lib/gl/c-ctype.c, - lib/gl/c-ctype.h, lib/gl/close-hook.c, lib/gl/close-hook.h, - lib/gl/errno.in.h, lib/gl/float+.h, lib/gl/float.in.h, - lib/gl/fseeko.c, lib/gl/ftello.c, lib/gl/gettext.h, lib/gl/lseek.c, - lib/gl/m4/00gnulib.m4, lib/gl/m4/alloca.m4, - lib/gl/m4/asm-underscore.m4, lib/gl/m4/byteswap.m4, - lib/gl/m4/codeset.m4, lib/gl/m4/errno_h.m4, - lib/gl/m4/extensions.m4, lib/gl/m4/fcntl-o.m4, - lib/gl/m4/float_h.m4, lib/gl/m4/fseeko.m4, lib/gl/m4/ftello.m4, - lib/gl/m4/func.m4, lib/gl/m4/getpagesize.m4, lib/gl/m4/gettext.m4, - lib/gl/m4/glibc2.m4, lib/gl/m4/glibc21.m4, - lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4, - lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4, - lib/gl/m4/iconv.m4, lib/gl/m4/include_next.m4, - lib/gl/m4/intdiv0.m4, lib/gl/m4/intl.m4, lib/gl/m4/intldir.m4, - lib/gl/m4/intlmacosx.m4, lib/gl/m4/intmax.m4, - lib/gl/m4/intmax_t.m4, lib/gl/m4/inttypes-pri.m4, - lib/gl/m4/inttypes_h.m4, lib/gl/m4/lcmessage.m4, - lib/gl/m4/ld-output-def.m4, lib/gl/m4/ld-version-script.m4, - lib/gl/m4/lib-ld.m4, lib/gl/m4/lib-link.m4, - lib/gl/m4/lib-prefix.m4, lib/gl/m4/lock.m4, lib/gl/m4/longlong.m4, - lib/gl/m4/lseek.m4, lib/gl/m4/malloc.m4, lib/gl/m4/memchr.m4, - lib/gl/m4/memmem.m4, lib/gl/m4/minmax.m4, lib/gl/m4/mmap-anon.m4, - lib/gl/m4/multiarch.m4, lib/gl/m4/netdb_h.m4, lib/gl/m4/nls.m4, - lib/gl/m4/po.m4, lib/gl/m4/printf-posix.m4, lib/gl/m4/printf.m4, - lib/gl/m4/progtest.m4, lib/gl/m4/read-file.m4, - lib/gl/m4/realloc.m4, lib/gl/m4/size_max.m4, lib/gl/m4/snprintf.m4, - lib/gl/m4/socketlib.m4, lib/gl/m4/sockets.m4, lib/gl/m4/socklen.m4, - lib/gl/m4/sockpfaf.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4, - lib/gl/m4/stdint.m4, lib/gl/m4/stdint_h.m4, lib/gl/m4/stdio_h.m4, - lib/gl/m4/stdlib_h.m4, lib/gl/m4/strcase.m4, lib/gl/m4/string_h.m4, - lib/gl/m4/strings_h.m4, lib/gl/m4/strverscmp.m4, - lib/gl/m4/sys_socket_h.m4, lib/gl/m4/sys_stat_h.m4, - lib/gl/m4/threadlib.m4, lib/gl/m4/time_h.m4, lib/gl/m4/time_r.m4, - lib/gl/m4/uintmax_t.m4, lib/gl/m4/ungetc.m4, lib/gl/m4/unistd_h.m4, - lib/gl/m4/vasnprintf.m4, lib/gl/m4/vasprintf.m4, - lib/gl/m4/visibility.m4, lib/gl/m4/vsnprintf.m4, - lib/gl/m4/warn-on-use.m4, lib/gl/m4/wchar_h.m4, - lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4, lib/gl/m4/xsize.m4, - lib/gl/malloc.c, lib/gl/memchr.c, lib/gl/memchr.valgrind, - lib/gl/memmem.c, lib/gl/minmax.h, lib/gl/netdb.in.h, - lib/gl/override/lib/gc-libgcrypt.c.diff, - lib/gl/override/lib/gettext.h.diff, lib/gl/printf-args.c, - lib/gl/printf-args.h, lib/gl/printf-parse.c, lib/gl/printf-parse.h, - lib/gl/read-file.c, lib/gl/read-file.h, lib/gl/realloc.c, - lib/gl/size_max.h, lib/gl/snprintf.c, lib/gl/sockets.c, - lib/gl/sockets.h, lib/gl/stdbool.in.h, lib/gl/stddef.in.h, - lib/gl/stdint.in.h, lib/gl/stdio-impl.h, lib/gl/stdio-write.c, - lib/gl/stdio.in.h, lib/gl/stdlib.in.h, lib/gl/str-two-way.h, - lib/gl/strcasecmp.c, lib/gl/string.in.h, lib/gl/strings.in.h, - lib/gl/strncasecmp.c, lib/gl/strverscmp.c, lib/gl/sys_socket.in.h, - lib/gl/sys_stat.in.h, lib/gl/tests/Makefile.am, - lib/gl/tests/binary-io.h, lib/gl/tests/dummy.c, - lib/gl/tests/getpagesize.c, lib/gl/tests/init.sh, - lib/gl/tests/intprops.h, lib/gl/tests/macros.h, - lib/gl/tests/signature.h, lib/gl/tests/test-alloca-opt.c, - lib/gl/tests/test-binary-io.c, lib/gl/tests/test-binary-io.sh, - lib/gl/tests/test-byteswap.c, lib/gl/tests/test-c-ctype.c, - lib/gl/tests/test-errno.c, lib/gl/tests/test-fseeko.c, - lib/gl/tests/test-fseeko.sh, lib/gl/tests/test-fseeko2.sh, - lib/gl/tests/test-ftello.c, lib/gl/tests/test-ftello.sh, - lib/gl/tests/test-ftello2.sh, lib/gl/tests/test-ftello3.c, - lib/gl/tests/test-func.c, lib/gl/tests/test-memchr.c, - lib/gl/tests/test-netdb.c, lib/gl/tests/test-read-file.c, - lib/gl/tests/test-snprintf.c, lib/gl/tests/test-sockets.c, - lib/gl/tests/test-stdbool.c, lib/gl/tests/test-stddef.c, - lib/gl/tests/test-stdint.c, lib/gl/tests/test-stdio.c, - lib/gl/tests/test-stdlib.c, lib/gl/tests/test-string.c, - lib/gl/tests/test-strings.c, lib/gl/tests/test-strverscmp.c, - lib/gl/tests/test-sys_socket.c, lib/gl/tests/test-sys_stat.c, - lib/gl/tests/test-sys_wait.h, lib/gl/tests/test-time.c, - lib/gl/tests/test-unistd.c, lib/gl/tests/test-vasnprintf.c, - lib/gl/tests/test-vasprintf.c, lib/gl/tests/test-verify.c, - lib/gl/tests/test-verify.sh, lib/gl/tests/test-vsnprintf.c, - lib/gl/tests/test-wchar.c, lib/gl/tests/zerosize-ptr.h, - lib/gl/time.in.h, lib/gl/time_r.c, lib/gl/unistd.in.h, - lib/gl/vasnprintf.c, lib/gl/vasnprintf.h, lib/gl/vasprintf.c, - lib/gl/verify.h, lib/gl/vsnprintf.c, lib/gl/w32sock.h, - lib/gl/wchar.in.h, lib/gl/xsize.h, lib/gnutls_int.h, - lib/m4/hooks.m4, lib/minitasn1/Makefile.am, lib/nettle/Makefile.am, - lib/opencdk/Makefile.am, lib/openpgp/Makefile.am, lib/po/LINGUAS, - lib/po/Makevars, lib/po/POTFILES.in, lib/po/cs.po.in, - lib/po/de.po.in, lib/po/fr.po.in, lib/po/it.po.in, lib/po/ms.po.in, - lib/po/nl.po.in, lib/po/pl.po.in, lib/po/sv.po.in, lib/po/vi.po.in, - lib/po/zh_CN.po.in, lib/x509/Makefile.am, libextra/Makefile.am, - libextra/configure.ac, libextra/gl/Makefile.am, - libextra/gl/gnulib.mk, libextra/gl/hmac-md5.c, libextra/gl/hmac.h, - libextra/gl/m4/00gnulib.m4, libextra/gl/m4/extensions.m4, - libextra/gl/m4/gnulib-cache.m4, libextra/gl/m4/gnulib-common.m4, - libextra/gl/m4/gnulib-comp.m4, libextra/gl/m4/gnulib-tool.m4, - libextra/gl/m4/hmac-md5.m4, libextra/gl/m4/ld-output-def.m4, - libextra/gl/m4/ld-version-script.m4, libextra/gl/m4/lib-ld.m4, - libextra/gl/m4/lib-link.m4, libextra/gl/m4/lib-prefix.m4, - libextra/gl/m4/md5.m4, libextra/gl/m4/memxor.m4, libextra/gl/md5.c, - libextra/gl/md5.h, libextra/gl/memxor.c, libextra/gl/memxor.h, - libextra/gl/override/lib/md5.c.diff, libextra/m4/hooks.m4, - m4/hooks.m4, po/LINGUAS, po/Makevars, po/POTFILES.in, po/cs.po.in, - po/de.po.in, po/fr.po.in, po/it.po.in, po/ms.po.in, po/nl.po.in, - po/pl.po.in, po/sv.po.in, po/vi.po.in, po/zh_CN.po.in, - src/Makefile.am, tests/suite/Makefile.in: Use a single configure.ac. - This speed ups compilation and reduces duplication of code (multiple - gl/ libraries etc.). This saves about 2mb in distributed size - (compressed). - -2011-04-08 Nikos Mavrogiannopoulos - - * src/certtool-cfg.c: Avoid using readline. - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/gnutls_buffers.c: initialized ret in _gnutls_writev_emu(). - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/includes/gnutls/x509.h: doc fix - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/system.c: removed unneeded variable. - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/auth_cert.c: Corrected check for an unknown sign algorithm. - Patch by LRN. - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/openpgp/output.c: Do not use %e in strftime. Use %d instead - which is identically available in windows as well. Based on patch - by LRN. - -2011-04-08 Nikos Mavrogiannopoulos - - * lib/x509/output.c, tests/certuniqueid.c: Fixed mismatch in size_t - size. Patch by LRN. - -2011-04-07 Nikos Mavrogiannopoulos - - * lib/system.c, lib/system_override.c: Correctly set errno in win32 - using gnutls_transport_set_global_errno(). Based on patch by LRN. - -2011-04-07 Nikos Mavrogiannopoulos - - * tests/eagain-common.h, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/mini.c: Avoid using - gnutls_transport_set_global_errno() and use - gnutls_transport_set_errno() instead. - -2011-04-07 Nikos Mavrogiannopoulos - - * lib/system_override.c: win32 fixes for set_global_errno(). - Suggested by LRN. - -2011-04-07 Nikos Mavrogiannopoulos - - * src/benchmark.c: Win32 changes for benchmark. Patch by LRN. - -2011-04-07 Nikos Mavrogiannopoulos + * lib/pkcs11.c: search only for slots with tokens and avoid caching + to prevent issues with multiple threads. - * tests/anonself.c, tests/dhepskself.c, tests/openpgpself.c, - tests/pskself.c, tests/resume.c, tests/rng-fork.c, tests/x509dn.c, - tests/x509self.c: win32 fixes. Patch by LRN. +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * NEWS: updated - * lib/gnutls_buffers.c: minor modification in write_emu(). +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * doc/cha-tokens.texi, lib/gnutls_privkey.c, + lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added + gnutls_privkey_status() - * lib/opencdk/literal.c, lib/opencdk/main.h, lib/opencdk/misc.c: - simplified cdk_trim_string() to make it safer to use. +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * lib/pkcs11.c: avoid internal error - * lib/x509/privkey_pkcs8.c: correctly reset params. +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * lib/pkcs11.c: use correct type for rv - * lib/x509/crl.c, lib/x509/x509.c: use correct pointer size. +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * NEWS: updated - * lib/gnutls_algorithms.c: correctly compare sign algorithm_st. +2013-03-16 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * lib/pkcs11.c: scan slots on PKCS #11 providers only when needed, + not on initialization. - * lib/opencdk/Makefile.am, lib/opencdk/context.h, - lib/opencdk/main.c, lib/opencdk/main.h, lib/opencdk/opencdk.h, - lib/opencdk/verify.c: removed unused code +2013-03-15 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * lib/gnutls_privkey.c: doc update - * lib/opencdk/armor.c: null terminate the armored string +2013-03-15 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * doc/cha-library.texi: documented the new configure options - * src/cli.c: properly null terminate string. +2013-03-15 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * NEWS, lib/crypto-backend.h, lib/gnutls_mpi.h, lib/gnutls_pk.c, + lib/nettle/mpi.c, lib/openpgp/privkey.c, lib/x509/privkey.c: Private + key parameters are overwritten with zeros on deinitialization. - * src/common.c, src/pkcs11.c: check PIN size. +2013-03-15 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * doc/cha-library.texi, doc/latex/cover.tex, doc/latex/gnutls.bib: + doc updates - * src/srptool.c: check salt size. +2013-03-15 Nikos Mavrogiannopoulos -2011-04-07 Nikos Mavrogiannopoulos + * doc/cha-tokens.texi: simplified text - * lib/opencdk/read-packet.c: more clear bounds checking +2013-03-15 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * configure.ac, m4/hooks.m4: bumped version - * lib/x509/privkey.c: initialize e and d. +2013-03-14 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * NEWS, doc/invoke-certtool.texi, doc/invoke-danetool.texi, + lib/gnutls_privkey.c, lib/gnutls_sig.c, lib/gnutls_sig.h, + lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added + gnutls_privkey_sign_raw_data() - * lib/pkcs11_write.c: deinitialize pks variable only when needed. +2013-03-14 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * lib/gnutls_pcert.c: simplified code - * lib/openpgp/pgpverify.c: Initialize verify. +2013-03-14 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * src/serv.c: gnutls-serv may run without certificate, but will + issue a warning - * src/cli.c: initialize session_id_size. +2013-03-14 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * src/serv.c: gnutls-serv issues an error if no certificate and key + pair was set. - * lib/opencdk/misc.c, lib/opencdk/opencdk.h: removed unneeded - function. +2013-03-14 Nikos Mavrogiannopoulos -2011-04-06 Nikos Mavrogiannopoulos + * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1 - * lib/pakchois/pakchois.c: correctly traverse slots +2013-03-13 Nikos Mavrogiannopoulos -2011-04-05 Nikos Mavrogiannopoulos + * lib/algorithms/kx.c, lib/auth/anon.c, lib/auth/anon_ecdh.c, + lib/gnutlsxx.cpp, src/cli-debug.c, src/serv.c, src/tests.c: Added + several ifdefs to avoid using disabled code. - * guile/src/core.c: avoid using a freed pointer. +2013-03-12 Daniel Kahn Gillmor -2011-04-05 Nikos Mavrogiannopoulos + * doc/cha-bib.texi, doc/cha-tokens.texi: Document mechanism used for + *_key_id() creation. For the rationale behind this, see the gnutls-devl thread 'X.509 + "Key Identifiers" in GnuTLS' found either at - * lib/pkcs11.c: Initialize tinfo using the initially available - information. + http://lists.gnutls.org/pipermail/gnutls-devel/2013-March/006182.htmland + http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/6674 -2011-04-05 Nikos Mavrogiannopoulos +2013-03-12 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: corrected debugging info. + * NEWS, doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-anon.c, + doc/examples/ex-client-dtls.c, doc/examples/ex-client-psk.c, + doc/examples/ex-client-srp.c, doc/examples/ex-client-x509.c, + lib/gnutls_int.h, lib/gnutls_ui.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, src/common.c: Added gnutls_session_get_desc() -2011-04-04 Nikos Mavrogiannopoulos +2013-03-11 Nikos Mavrogiannopoulos - * tests/eagain-common.h, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/mini.c: The mini-* programs were - combined. + * configure.ac, lib/algorithms/ciphersuites.c, lib/algorithms/kx.c, + lib/auth/Makefile.am, lib/auth/anon_ecdh.c, lib/auth/cert.c, + lib/auth/cert.h, lib/auth/dh_common.c, lib/auth/dhe.c, + lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, lib/auth/ecdh_common.h, + lib/auth/ecdhe.c, lib/auth/ecdhe.h, lib/auth/rsa_export.c, + lib/gnutls_handshake.c, lib/gnutls_kx.c, lib/gnutls_priority.c, + lib/gnutls_rsa_export.c, lib/gnutls_state.c, lib/gnutls_ui.c, + m4/hooks.m4: Added options to disable more key exchange mechanisms. In that DHE was separated from ECDHE. -2011-04-04 Nikos Mavrogiannopoulos +2013-03-11 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Do not cleanup bufel after it has been - inserted into buffer. + * src/serv.c: removed unneeded code -2011-04-04 Nikos Mavrogiannopoulos +2013-03-10 Nikos Mavrogiannopoulos - * lib/gnutls_mbuffers.c: Combined dequeue with remove_front() and - pop_first(). + * src/cli.c: When requesting DANE data resolve a service name into a + port number. Reported by James Cloos. -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * doc/examples/Makefile.am: Compile ex-cert-select-pkcs11 as a - separate program. + * NEWS: removed -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * .gitignore, lib/gnutls_buffers.c, lib/gnutls_dtls.c, - lib/gnutls_int.h, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/system.h, tests/Makefile.am, - tests/eagain-common.h, tests/mini-eagain-dtls.c, - tests/mini-eagain.c, tests/utils.c: Added support for non-blocking - DTLS. Added mini-eagain-dtls to test its operation. Improved - mini-eagain. + * doc/cha-cert-auth.texi, doc/cha-cert-auth2.texi: doc update -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * lib/nettle/init.c: gcrypt.h is not really needed. Reported by - David Reiser. + * lib/x509/dn.c: avoid duplicate memory allocation in + _gnutls_x509_get_dn() -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * src/srptool.c: corrected header inclusion. + * tests/cert-tests/dane-test.rr: The default dane output is type 03 + now. -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * src/Makefile.am, src/crypt-gaa.c, src/crypt-gaa.h, src/crypt.c, - src/crypt.gaa, src/srptool-gaa.c, src/srptool-gaa.h, src/srptool.c, - src/srptool.gaa: crypt.* renamed to srptool.*. + * lib/gnutls_x509.c: simplified -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * lib/gnutls_srp.c: Corrected bug in gnutls_srp_verifier() that - prevented the allocation of a verifier. Reported by Andrew Wiseman. + * lib/gnutls_ui.c, lib/gnutls_x509.c, lib/gnutls_x509.h: Return + proper also when loading a private key. -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * src/crypt-gaa.c, src/crypt-gaa.h, src/crypt.c, src/crypt.gaa: - Added debug option to srptool. + * lib/includes/gnutls/tpm.h, lib/tpm.c: GNUTLS_TPMKEY_FMT_DER -> + GNUTLS_TPMKEY_FMT_RAW -2011-04-03 Nikos Mavrogiannopoulos +2013-03-08 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: Documented p11-kit. + * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/gnutls_x509.c: + return unimplemented feature on encounter of a known but unsupported + url -2011-04-02 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * doc/cha-library.texi: corrected typo + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + src/danetool-args.c, src/danetool-args.def, src/danetool-args.h, + src/danetool.c: updates in danetool -2011-03-30 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * tests/scripts/common.sh: Added copyright. + * Makefile.am, configure.ac: Added configure option to disable the + build of tests. -2011-03-30 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * configure.ac, tests/Makefile.am, tests/dsa/testdsa, - tests/openpgp-certs/testcerts, tests/scripts/Makefile.am, - tests/scripts/common.sh: Reorganized scripts that use test servers, - based on patch by Cedric Arbogast. + * doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h: updated example + template. -2011-03-30 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * src/certtool-gaa.c, src/certtool.gaa: Create certificate request - with stricter permissions. Reported by Luca Capello. + * tests/suite/ecore/src/lib/Ecore.h: updated -2011-03-28 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * tests/openpgp-certs/Makefile.am: enabled testcerts. + * lib/x509_b64.c: corrected allocation size -2011-03-28 Nikos Mavrogiannopoulos +2013-03-07 Nikos Mavrogiannopoulos - * tests/openpgp-certs/testcerts: made more silent. + * lib/gnutls_ui.c: simplified text -2011-03-28 Nikos Mavrogiannopoulos +2013-03-06 Nikos Mavrogiannopoulos - * tests/dsa/testdsa, tests/openpgp-certs/testcerts: Made scripts - bourne shell compliant and not bash. + * configure.ac: Fixes in cpu and cross-compilation detection -2011-03-26 Nikos Mavrogiannopoulos +2013-03-06 Nikos Mavrogiannopoulos - * THANKS: e-mail addresses are not directly recognizable. + * lib/x509/dn.c, lib/x509/verify.c, lib/x509/x509.c, + lib/x509/x509_int.h: Placed back _gnutls_x509_compare_raw_dn(). -2011-03-26 Nikos Mavrogiannopoulos +2013-03-06 Nikos Mavrogiannopoulos - * lib/opencdk/stream.c: Corrected access to freed memory location. - Reported by Vitaly Kruglikov. + * lib/system.c: check revocation prior to reading local certs. -2011-03-26 Nikos Mavrogiannopoulos +2013-03-06 Nikos Mavrogiannopoulos - * THANKS: added Mark and Vitaly to THANKS. + * lib/x509/verify-high.c: deinitialize the certificate -2011-03-26 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/system.c: Corrected windows system_errno() function. Reported - and patch by Mark Brand. + * NEWS: updated -2011-03-26 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: C++ compatibility fix for compat.h. - Suggested by Mark Brand. + * configure.ac: When cross compiling do not check for ca + certificates. -2011-03-25 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/opencdk/verify.c: Corrected uninitialized var deinitiation. - Reported by Vitaly Kruglikov. + * configure.ac: auto-detect CA certificates only if + with-default-trust-store-file is not provided. -2011-03-25 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: eliminate compiler warning. Reported by Andreas - Metzler. + * lib/system.c: corrected parameters. -2011-03-25 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/includes/gnutls/openpgp.h, lib/openpgp/gnutls_openpgp.c, - lib/openpgp/pgp.c, lib/openpgp/privkey.c: Fix size of - gnutls_openpgp_keyid_t by using the GNUTLS_OPENPGP_KEYID_SIZE - definition. Reported by Andreas Metzler. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/system.c, lib/x509/verify-high.c, lib/x509/verify-high2.c, + tests/x509cert-tl.c: Added functions that remove certificates from a + trust list. -2011-03-24 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * NEWS: included news of 2.12.0 + * libdane/includes/gnutls/dane.h: updated doc -2011-03-24 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * guile/tests/Makefile.am: added missing files. + * lib/system.c: Check for revoked certs in android and do not add. + Suggested by David Woodhouse. -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/includes/gnutls/abstract.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/pkcs11.h, lib/includes/gnutls/x509.h, - lib/pkcs11.c, lib/x509/crl.c: documentation fixes. + * lib/system.c: corrected add_system_trust() in the unsupported + system case. -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * tests/dsa/testdsa: Added DSA tests for client certificates as - well. + * lib/x509/common.c, lib/x509/common.h, lib/x509/crl.c, + lib/x509/dn.c, lib/x509/ocsp.c, lib/x509/verify-high.c, + lib/x509/verify.c, lib/x509/x509.c, lib/x509/x509_int.h: Several + optimizations on certificate comparisons including DN. This speeds + up CA certificate loading, and certificate verification. -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/ext_signature.c, lib/ext_signature.h, lib/gnutls_handshake.c, - lib/gnutls_sig.c, lib/includes/gnutls/abstract.h, lib/x509/verify.c: - Simplified signature algorithm selection. + * lib/x509/verify-high.c: Revert "When making the hash list of the + CAs avoid calling get_raw_*_dn() which is very costly." This reverts commit 1b7d66354e9b4d174b58233f4dd8ab46a1d45f14. -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * src/cli.c: The processed messages go to stdout. + * NEWS: updated -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: updated documentation + * lib/x509/verify-high.c: When making the hash list of the CAs avoid + calling get_raw_*_dn() which is very costly. -2011-03-23 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/gnutls_int.h, - lib/includes/gnutls/gnutls.h.in: Increased GNUTLS_MAX_ALGORITHM_NUM - to 32. The gnutls_*_list() functions generate the list of algorithm - on the spot and no longer require a static duplicate list of - algorithms. This comes at a cost of not being thread safe (which is - not significant since those functions are only used for special - purposes). + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/crl.c, lib/x509/crq.c, lib/x509/dn.c, lib/x509/x509.c, + lib/x509/x509_int.h: Added new functions to get the LDAP DN in an + allocated buffer. -2011-03-21 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: corrected parameter. + * src/cli.c: Removed unused code. -2011-03-21 Nikos Mavrogiannopoulos +2013-03-05 Daniel Kahn Gillmor - * lib/gnutls_pubkey.c, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, - lib/pkcs11_privkey.c, lib/pkcs11_secret.c, lib/x509/privkey.c: - Documentation fixes and cleanups. + * lib/x509/x509_write.c: fix description of id_size parameter -2011-03-20 Nikos Mavrogiannopoulos +2013-03-05 Nikos Mavrogiannopoulos - * src/cli.c: define variable locally + * lib/system.c: handle the interesting variance between directories -2011-03-20 Nikos Mavrogiannopoulos +2013-03-04 Nikos Mavrogiannopoulos - * src/cli.c, src/serv.c: use IP_DONTFRAG if it is defined. + * lib/system.c: test for ANDROID or __ANDROID__ -2011-03-20 Nikos Mavrogiannopoulos +2013-03-04 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_dtls.h, lib/gnutls_handshake.c, lib/gnutls_handshake.h, - lib/gnutls_int.h, lib/gnutls_record.c, - lib/includes/gnutls/gnutls.h.in, lib/system.c, lib/system.h, - src/cli.c, src/common.h, src/serv.c, src/udp-serv.c: Avoided waiting - for peer's retransmission to ensure receipt of finished messages, - and used a 'timer'-like to retransmit packets. + * build-aux/ar-lib: updated -2011-03-20 Nikos Mavrogiannopoulos +2013-03-04 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/includes/gnutls/dtls.h, lib/libgnutls.map: - added gnutls_dtls_get_data_mtu(). + * configure.ac: call gl_EARLY earlier, and add AM_PROG_AR. -2011-03-19 Nikos Mavrogiannopoulos +2013-03-04 Nikos Mavrogiannopoulos - * tests/dsa/testdsa: make gnutls-cli more quiet. + * lib/gnutls.pc.in: corrected link -2011-03-19 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * configure.ac, tests/Makefile.am, tests/dsa/Makefile.am, - tests/dsa/cert.dsa.1024.pem, tests/dsa/cert.dsa.2048.pem, - tests/dsa/cert.dsa.3072.pem, tests/dsa/dsa.1024.pem, - tests/dsa/dsa.2048.pem, tests/dsa/dsa.3072.pem, tests/dsa/testdsa, - tests/suite/Makefile.in: Added test to verify connections with DSA - keys of various sizes. + * configure.ac: removed Werror from automake rules -2011-03-19 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * src/certtool.c: warn on generation of DSA keys of over 1024 bits. + * doc/Makefile.am: Added flag -2011-03-19 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * lib/gnutls_alert.c, lib/gnutls_errors.c, lib/gnutls_sig.c, - lib/includes/gnutls/gnutls.h.in: Return a special error code if DSA - keys with over 1024 are being used with TLS 1.x, x<2. + * .gitignore, ChangeLog: removed -2011-03-19 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * lib/nettle/pk.c: truncate hash size when asking to sign or verify - DSA with a longer hash. + * lib/gnutls_x509.c, src/Makefile.am: changes to avoid compilation + of programs that cannot be. -2011-03-18 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/system.c: Check for rejected connections - in system_recv_timeout(). + * lib/system.c: more simplifications to + gnutls_x509_trust_list_add_system_trust() -2011-03-18 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * lib/system_override.c: quickly discuss callback format. + * NEWS: updated -2011-03-16 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c: When sending multiple cookies due to - verification errors do not increase the handshake sequence number - only the record sequence. + * lib/system.c: corrected reading from directory. -2011-03-16 Nikos Mavrogiannopoulos +2013-03-03 Nikos Mavrogiannopoulos - * AUTHORS: updated Jonathan + * lib/system.c: gnutls_x509_trust_list_add_system_trust() was made + to work in android 4.x. -2011-03-16 Nikos Mavrogiannopoulos +2013-03-02 Nikos Mavrogiannopoulos - * tests/openpgp-auth.c: Added check for RSA ciphersuite in openpgp - keys. + * NEWS: updated -2011-03-16 Nikos Mavrogiannopoulos +2013-03-02 Nikos Mavrogiannopoulos - * lib/openpgp/privkey.c: read correct algorithm when decrypting data - and use correct number of private parameters. + * lib/system.c: More cleanups in + gnutls_x509_trust_list_add_system_trust() -2011-03-16 Nikos Mavrogiannopoulos +2013-03-02 Nikos Mavrogiannopoulos - * libextra/gnutls_extra.c: added missing ret. + * configure.ac: Select CPU optimizations based on target cpu rather + than the host. -2011-03-16 Nikos Mavrogiannopoulos +2013-03-02 Nikos Mavrogiannopoulos - * lib/auth_cert.c: Set type when sending empty openpgp key. + * lib/Makefile.am, lib/system.c: some simplifications in + gnutls_x509_trust_list_add_system_trust() -2011-03-16 Nikos Mavrogiannopoulos +2013-03-01 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c, tests/Makefile.am, tests/rng-fork.c: Corrected - nettle's RNG behavior on fork and added a test case. + * NEWS, src/certtool.c: Use ARCFOUR cipher by default to be + compatible with devices like android that don't support AES -2011-03-16 Nikos Mavrogiannopoulos +2013-03-01 Nikos Mavrogiannopoulos - * guile/tests/openpgp-auth.scm: enabled RSA and removed debugging. + * NEWS, doc/invoke-danetool.texi, libdane/dane.c, + libdane/includes/gnutls/dane.h, src/danetool-args.c, + src/danetool-args.def, src/danetool-args.h, src/danetool.c, + tests/suite/Makefile.am, tests/suite/testdane: Added verify flags + for DANE to enforce verification and restrict it to a field. -2011-03-16 Nikos Mavrogiannopoulos +2013-03-01 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, - lib/includes/gnutls/abstract.h, lib/openpgp/gnutls_openpgp.c, - tests/openpgp-auth.c, tests/openpgp-auth2.c: gnutls_pubkey_t and - gnutls_privkey_t can import either an openpgp subkey or a master - key. + * .gitignore, ChangeLog: added empty ChangeLog -2011-03-16 Nikos Mavrogiannopoulos +2013-03-01 Nikos Mavrogiannopoulos - * guile/tests/openpgp-auth.scm, guile/tests/openpgp-elg-pub.asc, - guile/tests/openpgp-elg-sec.asc, guile/tests/openpgp-keys.scm, - guile/tests/openpgp-pub.asc, guile/tests/openpgp-sec.asc: split the - pgp keys to elgamal and dsa. + * GNUmakefile, build-aux/config.rpath, build-aux/gendocs.sh, + build-aux/pmccabe2html, build-aux/snippet/arg-nonnull.h, + build-aux/snippet/c++defs.h, build-aux/snippet/unused-parameter.h, + build-aux/snippet/warn-on-use.h, build-aux/useless-if-before-free, + build-aux/vc-list-files, doc/gendocs_template, gl/Makefile.am, + gl/accept.c, gl/alloca.in.h, gl/alphasort.c, gl/argp-ba.c, + gl/argp-eexst.c, gl/argp-fmtstream.c, gl/argp-fmtstream.h, + gl/argp-fs-xinl.c, gl/argp-help.c, gl/argp-namefrob.h, + gl/argp-parse.c, gl/argp-pin.c, gl/argp-pv.c, gl/argp-pvh.c, + gl/argp-xinl.c, gl/argp.h, gl/arpa_inet.in.h, gl/asnprintf.c, + gl/asprintf.c, gl/base64.c, gl/base64.h, gl/basename-lgpl.c, + gl/bind.c, gl/byteswap.in.h, gl/c-ctype.c, gl/c-ctype.h, + gl/c-strcase.h, gl/c-strcasecmp.c, gl/c-strncasecmp.c, gl/close.c, + gl/closedir.c, gl/connect.c, gl/dirent-private.h, gl/dirent.in.h, + gl/dirname-lgpl.c, gl/dirname.h, gl/dosname.h, gl/dup2.c, + gl/errno.in.h, gl/error.c, gl/error.h, gl/fd-hook.c, gl/fd-hook.h, + gl/filename.h, gl/float+.h, gl/float.c, gl/float.in.h, gl/fpucw.h, + gl/frexp.c, gl/frexpl.c, gl/fseek.c, gl/fseeko.c, gl/fseterr.c, + gl/fseterr.h, gl/fstat.c, gl/ftell.c, gl/ftello.c, + gl/gai_strerror.c, gl/getaddrinfo.c, gl/getdelim.c, gl/getline.c, + gl/getopt.c, gl/getopt.in.h, gl/getopt1.c, gl/getopt_int.h, + gl/getpass.c, gl/getpass.h, gl/getpeername.c, gl/getsubopt.c, + gl/gettext.h, gl/gettime.c, gl/gettimeofday.c, + gl/glthread/threadlib.c, gl/hash-pjw-bare.c, gl/hash-pjw-bare.h, + gl/iconv.c, gl/iconv.in.h, gl/iconv_close.c, gl/iconv_open.c, + gl/inet_ntop.c, gl/inet_pton.c, gl/intprops.h, gl/isnan.c, + gl/isnand-nolibm.h, gl/isnand.c, gl/isnanf-nolibm.h, gl/isnanf.c, + gl/isnanl-nolibm.h, gl/isnanl.c, gl/itold.c, gl/listen.c, + gl/lseek.c, gl/m4/00gnulib.m4, gl/m4/alloca.m4, gl/m4/alphasort.m4, + gl/m4/argp.m4, gl/m4/arpa_inet_h.m4, gl/m4/base64.m4, + gl/m4/byteswap.m4, gl/m4/clock_time.m4, gl/m4/close.m4, + gl/m4/closedir.m4, gl/m4/codeset.m4, gl/m4/dirent_h.m4, + gl/m4/dirname.m4, gl/m4/double-slash-root.m4, gl/m4/dup2.m4, + gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/errno_h.m4, + gl/m4/error.m4, gl/m4/exponentd.m4, gl/m4/exponentf.m4, + gl/m4/exponentl.m4, gl/m4/extensions.m4, gl/m4/extern-inline.m4, + gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, + gl/m4/float_h.m4, gl/m4/fpieee.m4, gl/m4/frexp.m4, gl/m4/frexpl.m4, + gl/m4/fseek.m4, gl/m4/fseeko.m4, gl/m4/fseterr.m4, gl/m4/fstat.m4, + gl/m4/ftell.m4, gl/m4/ftello.m4, gl/m4/ftruncate.m4, gl/m4/func.m4, + gl/m4/getaddrinfo.m4, gl/m4/getcwd.m4, gl/m4/getdelim.m4, + gl/m4/getline.m4, gl/m4/getopt.m4, gl/m4/getpagesize.m4, + gl/m4/getpass.m4, gl/m4/getsubopt.m4, gl/m4/gettext.m4, + gl/m4/gettime.m4, gl/m4/gettimeofday.m4, gl/m4/glibc2.m4, + gl/m4/glibc21.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, + gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/hostent.m4, + gl/m4/iconv.m4, gl/m4/iconv_h.m4, gl/m4/iconv_open-utf.m4, + gl/m4/iconv_open.m4, gl/m4/include_next.m4, gl/m4/inet_ntop.m4, + gl/m4/inet_pton.m4, gl/m4/inline.m4, gl/m4/intdiv0.m4, + gl/m4/intl.m4, gl/m4/intldir.m4, gl/m4/intlmacosx.m4, + gl/m4/intmax.m4, gl/m4/intmax_t.m4, gl/m4/inttypes-pri.m4, + gl/m4/inttypes.m4, gl/m4/inttypes_h.m4, gl/m4/ioctl.m4, + gl/m4/isnand.m4, gl/m4/isnanf.m4, gl/m4/isnanl.m4, + gl/m4/largefile.m4, gl/m4/lcmessage.m4, gl/m4/ld-output-def.m4, + gl/m4/ld-version-script.m4, gl/m4/ldexpl.m4, gl/m4/lib-ld.m4, + gl/m4/lib-link.m4, gl/m4/lib-prefix.m4, gl/m4/libunistring-base.m4, + gl/m4/locale-fr.m4, gl/m4/locale-ja.m4, gl/m4/locale-tr.m4, + gl/m4/locale-zh.m4, gl/m4/locale_h.m4, gl/m4/localename.m4, + gl/m4/lock.m4, gl/m4/longlong.m4, gl/m4/lseek.m4, gl/m4/lstat.m4, + gl/m4/malloc.m4, gl/m4/malloca.m4, gl/m4/manywarnings.m4, + gl/m4/math_h.m4, gl/m4/memchr.m4, gl/m4/memmem.m4, + gl/m4/mempcpy.m4, gl/m4/minmax.m4, gl/m4/mmap-anon.m4, + gl/m4/mode_t.m4, gl/m4/msvc-inval.m4, gl/m4/msvc-nothrow.m4, + gl/m4/multiarch.m4, gl/m4/netdb_h.m4, gl/m4/netinet_in_h.m4, + gl/m4/nls.m4, gl/m4/nocrash.m4, gl/m4/off_t.m4, gl/m4/open.m4, + gl/m4/opendir.m4, gl/m4/pathmax.m4, gl/m4/perror.m4, gl/m4/pipe.m4, + gl/m4/po.m4, gl/m4/printf-frexp.m4, gl/m4/printf-frexpl.m4, + gl/m4/printf-posix.m4, gl/m4/printf.m4, gl/m4/progtest.m4, + gl/m4/putenv.m4, gl/m4/rawmemchr.m4, gl/m4/read-file.m4, + gl/m4/readdir.m4, gl/m4/realloc.m4, gl/m4/scandir.m4, + gl/m4/select.m4, gl/m4/servent.m4, gl/m4/setenv.m4, + gl/m4/setlocale.m4, gl/m4/signal_h.m4, gl/m4/signbit.m4, + gl/m4/size_max.m4, gl/m4/sleep.m4, gl/m4/snprintf.m4, + gl/m4/socketlib.m4, gl/m4/sockets.m4, gl/m4/socklen.m4, + gl/m4/sockpfaf.m4, gl/m4/ssize_t.m4, gl/m4/stat.m4, + gl/m4/stdalign.m4, gl/m4/stdarg.m4, gl/m4/stdbool.m4, + gl/m4/stddef_h.m4, gl/m4/stdint.m4, gl/m4/stdint_h.m4, + gl/m4/stdio_h.m4, gl/m4/stdlib_h.m4, gl/m4/strcase.m4, + gl/m4/strchrnul.m4, gl/m4/strdup.m4, gl/m4/strerror.m4, + gl/m4/strerror_r.m4, gl/m4/string_h.m4, gl/m4/strings_h.m4, + gl/m4/strndup.m4, gl/m4/strnlen.m4, gl/m4/strtok_r.m4, + gl/m4/strverscmp.m4, gl/m4/symlink.m4, gl/m4/sys_ioctl_h.m4, + gl/m4/sys_select_h.m4, gl/m4/sys_socket_h.m4, gl/m4/sys_stat_h.m4, + gl/m4/sys_time_h.m4, gl/m4/sys_types_h.m4, gl/m4/sys_uio_h.m4, + gl/m4/sysexits.m4, gl/m4/threadlib.m4, gl/m4/time_h.m4, + gl/m4/time_r.m4, gl/m4/timer_time.m4, gl/m4/timespec.m4, + gl/m4/uintmax_t.m4, gl/m4/ungetc.m4, gl/m4/unistd_h.m4, + gl/m4/valgrind-tests.m4, gl/m4/vasnprintf.m4, gl/m4/vasprintf.m4, + gl/m4/version-etc.m4, gl/m4/vfprintf-posix.m4, gl/m4/visibility.m4, + gl/m4/vprintf-posix.m4, gl/m4/vsnprintf.m4, gl/m4/warn-on-use.m4, + gl/m4/warnings.m4, gl/m4/wchar_h.m4, gl/m4/wchar_t.m4, + gl/m4/wint_t.m4, gl/m4/xsize.m4, gl/malloc.c, gl/math.in.h, + gl/memchr.c, gl/memmem.c, gl/mempcpy.c, gl/minmax.h, + gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c, + gl/msvc-nothrow.h, gl/netdb.in.h, gl/netinet_in.in.h, gl/opendir.c, + gl/printf-args.c, gl/printf-args.h, gl/printf-frexp.c, + gl/printf-frexp.h, gl/printf-frexpl.c, gl/printf-frexpl.h, + gl/printf-parse.c, gl/printf-parse.h, gl/progname.c, gl/progname.h, + gl/rawmemchr.c, gl/read-file.c, gl/read-file.h, gl/readdir.c, + gl/realloc.c, gl/recv.c, gl/recvfrom.c, gl/scandir.c, gl/select.c, + gl/send.c, gl/sendto.c, gl/setsockopt.c, gl/shutdown.c, + gl/signal.in.h, gl/signbitd.c, gl/signbitf.c, gl/signbitl.c, + gl/size_max.h, gl/sleep.c, gl/snprintf.c, gl/socket.c, + gl/sockets.c, gl/sockets.h, gl/stdalign.in.h, gl/stdarg.in.h, + gl/stdbool.in.h, gl/stddef.in.h, gl/stdint.in.h, gl/stdio-impl.h, + gl/stdio.c, gl/stdio.in.h, gl/stdlib.in.h, gl/str-two-way.h, + gl/strcasecmp.c, gl/strchrnul.c, gl/strdup.c, + gl/strerror-override.c, gl/strerror-override.h, gl/strerror.c, + gl/string.in.h, gl/strings.in.h, gl/stripslash.c, gl/strncasecmp.c, + gl/strndup.c, gl/strnlen.c, gl/strtok_r.c, gl/strverscmp.c, + gl/sys_select.in.h, gl/sys_socket.in.h, gl/sys_stat.in.h, + gl/sys_time.in.h, gl/sys_types.in.h, gl/sys_uio.in.h, + gl/sysexits.in.h, gl/tests/Makefile.am, gl/tests/binary-io.h, + gl/tests/fcntl.in.h, gl/tests/fdopen.c, gl/tests/ftruncate.c, + gl/tests/getcwd-lgpl.c, gl/tests/getpagesize.c, + gl/tests/glthread/lock.c, gl/tests/glthread/lock.h, + gl/tests/ignore-value.h, gl/tests/infinity.h, gl/tests/init.sh, + gl/tests/inttypes.in.h, gl/tests/ioctl.c, gl/tests/locale.in.h, + gl/tests/localename.c, gl/tests/localename.h, gl/tests/lstat.c, + gl/tests/macros.h, gl/tests/malloca.c, gl/tests/malloca.h, + gl/tests/minus-zero.h, gl/tests/nan.h, gl/tests/open.c, + gl/tests/pathmax.h, gl/tests/perror.c, gl/tests/pipe.c, + gl/tests/putenv.c, gl/tests/randomd.c, gl/tests/randoml.c, + gl/tests/same-inode.h, gl/tests/setenv.c, gl/tests/setlocale.c, + gl/tests/signature.h, gl/tests/stat.c, gl/tests/strerror_r.c, + gl/tests/symlink.c, gl/tests/sys_ioctl.in.h, + gl/tests/test-accept.c, gl/tests/test-alloca-opt.c, + gl/tests/test-argp-2.sh, gl/tests/test-argp.c, + gl/tests/test-arpa_inet.c, gl/tests/test-base64.c, + gl/tests/test-binary-io.c, gl/tests/test-bind.c, + gl/tests/test-byteswap.c, gl/tests/test-c-ctype.c, + gl/tests/test-c-strcasecmp.c, gl/tests/test-c-strncasecmp.c, + gl/tests/test-close.c, gl/tests/test-connect.c, + gl/tests/test-dirent.c, gl/tests/test-dup2.c, + gl/tests/test-environ.c, gl/tests/test-errno.c, + gl/tests/test-fcntl-h.c, gl/tests/test-fdopen.c, + gl/tests/test-fgetc.c, gl/tests/test-float.c, + gl/tests/test-fprintf-posix.h, gl/tests/test-fputc.c, + gl/tests/test-fread.c, gl/tests/test-frexp.c, + gl/tests/test-frexp.h, gl/tests/test-frexpl.c, + gl/tests/test-fseek.c, gl/tests/test-fseeko.c, + gl/tests/test-fseeko3.c, gl/tests/test-fseeko4.c, + gl/tests/test-fseterr.c, gl/tests/test-fstat.c, + gl/tests/test-ftell.c, gl/tests/test-ftell3.c, + gl/tests/test-ftello.c, gl/tests/test-ftello3.c, + gl/tests/test-ftello4.c, gl/tests/test-ftruncate.c, + gl/tests/test-func.c, gl/tests/test-fwrite.c, + gl/tests/test-getaddrinfo.c, gl/tests/test-getcwd-lgpl.c, + gl/tests/test-getdelim.c, gl/tests/test-getline.c, + gl/tests/test-getopt.c, gl/tests/test-getopt.h, + gl/tests/test-getopt_long.h, gl/tests/test-getpeername.c, + gl/tests/test-gettimeofday.c, gl/tests/test-iconv-h.c, + gl/tests/test-iconv-utf.c, gl/tests/test-iconv.c, + gl/tests/test-ignore-value.c, gl/tests/test-inet_ntop.c, + gl/tests/test-inet_pton.c, gl/tests/test-init.sh, + gl/tests/test-intprops.c, gl/tests/test-inttypes.c, + gl/tests/test-ioctl.c, gl/tests/test-isnand-nolibm.c, + gl/tests/test-isnand.h, gl/tests/test-isnanf-nolibm.c, + gl/tests/test-isnanf.h, gl/tests/test-isnanl-nolibm.c, + gl/tests/test-isnanl.h, gl/tests/test-listen.c, + gl/tests/test-locale.c, gl/tests/test-localename.c, + gl/tests/test-lstat.c, gl/tests/test-lstat.h, + gl/tests/test-malloc-gnu.c, gl/tests/test-malloca.c, + gl/tests/test-math.c, gl/tests/test-memchr.c, + gl/tests/test-netdb.c, gl/tests/test-netinet_in.c, + gl/tests/test-open.c, gl/tests/test-open.h, + gl/tests/test-pathmax.c, gl/tests/test-perror.c, + gl/tests/test-perror2.c, gl/tests/test-pipe.c, + gl/tests/test-printf-frexp.c, gl/tests/test-printf-frexpl.c, + gl/tests/test-printf-posix.h, gl/tests/test-rawmemchr.c, + gl/tests/test-read-file.c, gl/tests/test-recv.c, + gl/tests/test-recvfrom.c, gl/tests/test-select-fd.c, + gl/tests/test-select-stdin.c, gl/tests/test-select.c, + gl/tests/test-select.h, gl/tests/test-send.c, + gl/tests/test-sendto.c, gl/tests/test-setenv.c, + gl/tests/test-setlocale1.c, gl/tests/test-setlocale2.c, + gl/tests/test-setsockopt.c, gl/tests/test-shutdown.c, + gl/tests/test-signal-h.c, gl/tests/test-signbit.c, + gl/tests/test-sleep.c, gl/tests/test-snprintf.c, + gl/tests/test-sockets.c, gl/tests/test-stat.c, + gl/tests/test-stat.h, gl/tests/test-stdalign.c, + gl/tests/test-stdbool.c, gl/tests/test-stddef.c, + gl/tests/test-stdint.c, gl/tests/test-stdio.c, + gl/tests/test-stdlib.c, gl/tests/test-strchrnul.c, + gl/tests/test-strerror.c, gl/tests/test-strerror_r.c, + gl/tests/test-string.c, gl/tests/test-strings.c, + gl/tests/test-strnlen.c, gl/tests/test-strverscmp.c, + gl/tests/test-symlink.c, gl/tests/test-symlink.h, + gl/tests/test-sys_ioctl.c, gl/tests/test-sys_select.c, + gl/tests/test-sys_socket.c, gl/tests/test-sys_stat.c, + gl/tests/test-sys_time.c, gl/tests/test-sys_types.c, + gl/tests/test-sys_uio.c, gl/tests/test-sys_wait.h, + gl/tests/test-sysexits.c, gl/tests/test-time.c, + gl/tests/test-u64.c, gl/tests/test-unistd.c, + gl/tests/test-unsetenv.c, gl/tests/test-vasnprintf.c, + gl/tests/test-vasprintf.c, gl/tests/test-vc-list-files-cvs.sh, + gl/tests/test-vc-list-files-git.sh, gl/tests/test-verify.c, + gl/tests/test-version-etc.c, gl/tests/test-version-etc.sh, + gl/tests/test-vfprintf-posix.c, gl/tests/test-vprintf-posix.c, + gl/tests/test-vsnprintf.c, gl/tests/test-wchar.c, + gl/tests/unistr/test-u8-mbtoucr.c, + gl/tests/unistr/test-u8-uctomb.c, gl/tests/unsetenv.c, + gl/tests/w32sock.h, gl/tests/zerosize-ptr.h, gl/time.in.h, + gl/time_r.c, gl/timespec.h, gl/u64.h, gl/unistd.in.h, + gl/unistr.in.h, gl/unistr/u8-mbtoucr.c, gl/unistr/u8-uctomb-aux.c, + gl/unistr/u8-uctomb.c, gl/unitypes.in.h, gl/vasnprintf.c, + gl/vasnprintf.h, gl/vasprintf.c, gl/verify.h, gl/version-etc-fsf.c, + gl/version-etc.c, gl/version-etc.h, gl/vfprintf.c, gl/vprintf.c, + gl/vsnprintf.c, gl/w32sock.h, gl/wchar.in.h, gl/xsize.h, maint.mk: + updated gnulib -2011-03-16 Nikos Mavrogiannopoulos +2013-02-27 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c, lib/includes/gnutls/gnutls.h.in, - lib/openpgp/pgp.c, lib/openpgp/privkey.c: introduced - GNUTLS_E_OPENPGP_PREFERRED_KEY_ERROR + * lib/libgnutls.map: Added gnutls_pkcs11_privkey_status -2011-03-16 Nikos Mavrogiannopoulos +2013-02-27 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: On unknown public key algorithms return - Unknown name. + * doc/Makefile.am, doc/invoke-certtool.texi, + doc/manpages/Makefile.am: updated -2011-03-16 Nikos Mavrogiannopoulos +2013-02-27 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: Read the public key algorithm from the - selected subkey and not the master key when importing to a - gnutls_privkey. + * NEWS, configure.ac, m4/hooks.m4: bumped version -2011-03-16 Nikos Mavrogiannopoulos +2013-02-27 Nikos Mavrogiannopoulos - * lib/openpgp/gnutls_openpgp.c, tests/openpgpself.c: Documentation - fixed. Added fresh keys to test. + * lib/gnutls_db.h, lib/gnutls_int.h, lib/gnutls_record.c, + lib/gnutls_session_pack.c: small optimizations in session storage -2011-03-15 Nikos Mavrogiannopoulos +2013-02-27 Nikos Mavrogiannopoulos - * tests/openpgpself.c: Test openpgp authentication with DSA-2048 bit - keys as well. + * lib/gnutls_state.c: no need to memset during session deinit. -2011-03-15 Nikos Mavrogiannopoulos +2013-02-26 Nikos Mavrogiannopoulos - * lib/openpgp/pgp.c: gnutls_openpgp_crt_get_auth_subkey() will no - longer return an unsupported subkey. + * NEWS, lib/nettle/rnd.c, tests/rng-fork.c: fixed nonce generation + after fork(). -2011-03-15 Nikos Mavrogiannopoulos +2013-02-26 Nikos Mavrogiannopoulos - * lib/x509/verify.c: Corrected verification of DSA-2048 keys. - Reported by teddy@fukt.bsnet.se. + * lib/gnutls_db.c, lib/gnutls_handshake.c, + lib/gnutls_session_pack.c: Small fixes. -2011-03-14 Nikos Mavrogiannopoulos +2013-02-25 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: Added - gnutls_transport_set_vec_push_function(). + * NEWS, lib/includes/gnutls/pkcs11.h, lib/pkcs11_privkey.c: Added + gnutls_pkcs11_privkey_status(). -2011-03-13 Nikos Mavrogiannopoulos +2013-02-24 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/includes/gnutls/dtls.h, lib/libgnutls.map, - src/udp-serv.c: updated cookie negotiation to use only a prestate - structure and avoids setting data to cookie. + * lib/x509/verify.c: doc update -2011-03-13 Nikos Mavrogiannopoulos +2013-02-24 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: Use DTLS 1.0 instead of SSL 3.0 headers on - client hello in DTLS. + * libdane/dane.c, libdane/errors.c, libdane/includes/gnutls/dane.h: + when verifying a DANE CA constraint make sure that the provided + chain is actually a chain. -2011-03-13 Nikos Mavrogiannopoulos +2013-02-24 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_errors.c, - lib/includes/gnutls/dtls.h, lib/libgnutls.map, src/udp-serv.c: Added - photuris-like resource protection on the server. Added - gnutls_dtls_cookie_send(), gnutls_dtls_cookie_verify() and - gnutls_dtls_cookie_set() to avoid initializing a session before - cookie is verified. + * libdane/dane.c: doc update -2011-03-13 Nikos Mavrogiannopoulos +2013-02-21 Nikos Mavrogiannopoulos - * lib/crypto-api.c, lib/ext_session_ticket.c, - lib/includes/gnutls/gnutls.h.in: added gnutls_key_generate() to API. + * doc/cha-tokens.texi: mention enable-in in p11-kit config. -2011-03-13 Nikos Mavrogiannopoulos +2013-02-20 Jaak Ristioja - * lib/ext_session_ticket.c: Avoid the usage of structures where the - attribute packed is assumed. + * lib/gnutls_psk.c, lib/gnutls_str.c: Moved gnutls_hex_(en|de)code + functions from lib/gnutls_psk.c to lib/gnutls_str.c to fix + compilation of certtool when PSK is disabled. These are rather generic functions by nature, so it would be + reasonable to include them in GnuTLS even if PSK support is + disabled. Signed-off-by: Nikos Mavrogiannopoulos -2011-03-13 Nikos Mavrogiannopoulos +2013-02-19 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, - lib/gnutls_handshake.c: renamed gnutls_handshake_buffer_* functions - to gnutls_handshake_hash_buffer_* to separate from new API functions - and corrected its usage. + * lib/pkcs11.c: print info on reinitializor error. -2011-03-13 Nikos Mavrogiannopoulos +2013-02-19 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: Added DSA-SHA256, DSA-SHA224 and - RSA-SHA224 to the supported signature algorithms list. Suggested by - teddy@fukt.bsnet.se + * doc/cha-cert-auth.texi: Documented the DANE situation in gnutls. + Suggested by Gabor Toth. -2011-03-13 Nikos Mavrogiannopoulos +2013-02-18 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c, lib/gnutls_constate.h, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_v2_compat.c: - session->internals.compression_method was removed. It was no longer - required since the new compression algorithm was stored to next - epoch as well. + * NEWS, lib/pkcs11.c: Fixed gnutls_pkcs11_reinit() to reinitialize + all modules. -2011-03-12 Nikos Mavrogiannopoulos +2013-02-18 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_cipher.c, lib/gnutls_constate.c, - lib/gnutls_handshake.c, lib/gnutls_record.c, lib/gnutls_state.h: - _gnutls_is_dtls() is no more. IS_DTLS() is being used instead. + * lib/pkcs11.c: return proper error -2011-03-12 Nikos Mavrogiannopoulos +2013-02-18 Nikos Mavrogiannopoulos - * lib/ext_session_ticket.c: do not print debugging output on - non-fatal errors. + * NEWS: updated -2011-03-12 Nikos Mavrogiannopoulos +2013-02-18 Nikos Mavrogiannopoulos - * lib/ext_session_ticket.c, lib/gnutls_cipher.c, - lib/gnutls_cipher_int.c, lib/gnutls_constate.c, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_record.c: - Properly reset the SSL 3.0 MAC algorithm. + * src/serv.c: use set_int when needed -2011-03-12 Nikos Mavrogiannopoulos +2013-02-18 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_errors.h, - lib/gnutls_handshake.c, lib/x509/verify-high.c: cleanups. Introduced - gnutls_assert_val_fatal() that only prints debugging messages on - non-fatal errors. + * lib/ext/session_ticket.c, lib/gnutls_datum.c, + lib/gnutls_extensions.c, lib/gnutls_str.c, lib/gnutls_x509.c, + lib/x509/ocsp.c, lib/x509/pkcs12.c, lib/xssl_getline.c: Use + gnutls_realloc_fast everywhere. Suggested by David Woodhouse. -2011-03-12 Nikos Mavrogiannopoulos +2013-02-17 Nikos Mavrogiannopoulos - * lib/gnutls_alert.c: Added string for GNUTLS_A_SSL3_NO_CERTIFICATE. + * lib/auth/rsa.c: better cleanup on error on export case -2011-03-12 Nikos Mavrogiannopoulos +2013-02-17 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/gnutls_algorithms.h: - gnutls_version_has_variable_padding is not really needed. A check - for SSL3.0 is more clear. + * lib/x509/x509.c: corrected parsing issue in XMPP data when in a + subject alternative name -2011-03-12 Nikos Mavrogiannopoulos +2013-02-16 Nikos Mavrogiannopoulos - * lib/debug.c, lib/gnutls_buffers.c, lib/gnutls_constate.c, - lib/gnutls_handshake.c, lib/gnutls_record.c, lib/gnutls_v2_compat.c: - Corrected SSL2 client hello handling. + * doc/cha-tokens.texi, lib/gnutls_record.c, + lib/includes/gnutls/gnutls.h.in, lib/tpm.c, src/common.c: cleaned up + the PIN calling in TPM -2011-03-12 Nikos Mavrogiannopoulos +2013-02-16 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: do not set default record version (i.e. SSL - 3.0) during a re-handshake. + * NEWS, doc/cha-gtls-app.texi, + doc/examples/ex-cert-select-pkcs11.c, + doc/examples/ex-cert-select.c, doc/examples/ex-client-anon.c, + doc/examples/ex-client-dtls.c, doc/examples/ex-client-psk.c, + doc/examples/ex-client-resume.c, doc/examples/ex-client-srp.c, + doc/examples/ex-client-x509.c, doc/examples/ex-serv-anon.c, + doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, + doc/examples/ex-serv-srp.c, doc/examples/ex-serv-x509.c, + lib/gnutls_record.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, src/cli.c, src/serv.c: Added convenience + functions to avoid ugly casting in simple programs. -2011-03-12 Nikos Mavrogiannopoulos +2013-02-15 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: default behavior is to send SSL3.0 client - hellos. + * doc/examples/ex-client-dtls.c, doc/examples/ex-serv-dtls.c: be + more explicit in DTLS examples to account for LARGE_PACKET error -2011-03-12 Nikos Mavrogiannopoulos +2013-02-16 Daniel Kahn Gillmor - * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_priority.c: - corrected ssl3 record version sending in client hello. + * lib/pkcs11.c: fix two minor memory leaks when PKCS#11 is in use -2011-03-12 Nikos Mavrogiannopoulos +2013-02-13 Nikos Mavrogiannopoulos - * NEWS, doc/cha-intro-tls.texi, lib/gnutls_buffers.c, - lib/gnutls_int.h, lib/gnutls_record.c, lib/gnutls_state.c, - lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map: gnutls_transport_set_lowat() is no more. + * NEWS: documented fix -2011-03-12 Nikos Mavrogiannopoulos +2013-02-13 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_record.c: some cleanups + * lib/libgnutls.map: corrected export of functions -2011-03-12 Nikos Mavrogiannopoulos +2013-02-13 Nikos Mavrogiannopoulos - * lib/x509/common.h, lib/x509/verify-high.c, lib/x509/verify.c: - gnutls_x509_trust_list_verify_crt shortens the provided certificate - list based on the existing trusted CAs. + * NEWS: documented fix -2011-03-12 Nikos Mavrogiannopoulos +2013-02-13 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/gnutls_state.c, lib/gnutlsxx.cpp, - lib/includes/gnutls/compat.h, lib/includes/gnutls/dtls.h, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/gnutlsxx.h, - lib/libgnutls.map, libextra/includes/gnutls/openssl.h, src/cli.c, - src/serv.c: gnutls_init_dtls() was made redundant. The same for - gnutls_end_connection_t which was replaced by a flags integer.. + * lib/gnutls_pubkey.c: corrected gnutls_pubkey_verify_data() -2011-03-12 Nikos Mavrogiannopoulos +2013-02-13 Nikos Mavrogiannopoulos - * lib/auth_psk.c, lib/auth_psk.h, lib/ext_session_ticket.c, - lib/ext_srp.c, lib/gnutls_sig.c, lib/gnutls_x509.c, - lib/pkcs11_int.h, lib/system.c, lib/system.h, lib/x509/mpi.c, - lib/x509/verify.c, src/certtool-common.h, src/certtool.c, - src/common.c, src/pkcs11.c, src/udp-serv.c: Corrected types. + * lib/x509/verify-high.c: reduced hash table size -2011-03-11 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * src/cli-gaa.c, src/cli-gaa.h, src/cli.c, src/cli.gaa, - src/serv-gaa.c, src/serv-gaa.h, src/serv.c, src/serv.gaa, - src/udp-serv.c, src/udp-serv.h: Added --mtu option. + * lib/gnutls_pubkey.c: doc update -2011-03-11 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: properly re-generate headers of fragmented - packets. + * lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in: Added const -2011-03-11 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * lib/gnutls_state.c: increased initial retransmission time to 1 - sec. + * NEWS, lib/gnutls_handshake.c, lib/gnutls_handshake.h, + lib/gnutls_int.h, lib/gnutls_state.c, lib/gnutls_v2_compat.c, + lib/includes/gnutls/gnutls.h.in: gnutls_handshake_set_server_random + -> gnutls_handshake_set_random -2011-03-11 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: In DTLS do not hash messages that - shouldn't be hashed (i.e. hello verify request). + * lib/gnutls_int.h: timespec_sub_ms -> _gnutls_timespec_sub_ms -2011-03-11 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c: Corrected size check in block encrypted - records. + * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added + gnutls_handshake_set_server_random -2011-03-10 Nikos Mavrogiannopoulos +2013-02-12 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_handshake.c: Corrected behavior - in normal TLS handshake. + * lib/nettle/rnd.c: properly set close-on-exec. -2011-03-10 Nikos Mavrogiannopoulos +2013-02-11 Nikos Mavrogiannopoulos - * libextra/Makefile.am: link libgnutls-extra against libgcrypt if - required. Based on patch by Andreas Metzler - + * doc/examples/ex-serv-anon.c: avoid ptrdiff_t -2011-03-10 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * NEWS, lib/m4/hooks.m4, libextra/Makefile.am: increased the so - version of libgnutls-openssl. + * NEWS, src/certtool-extras.c: certtool's --to-p12 will now ask for + a password to generate PKCS #12 files. That is when provided an encrypted key file. Reported by Yan Fiz. -2011-03-05 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/ext_session_ticket.c, lib/gnutls_buffers.c, - lib/gnutls_buffers.h, lib/gnutls_cipher.c, lib/gnutls_dtls.c, - lib/gnutls_errors.c, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_int.h, lib/gnutls_kx.c, - lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, lib/gnutls_record.c, - lib/gnutls_state.c, lib/gnutls_str.c, lib/gnutls_v2_compat.c, - lib/includes/gnutls/gnutls.h.in: Added intermediate handshake layer - that will order handshake packets and drop duplicates. + * lib/gnutls_priority.c: prefer plain RSA to DHE-RSA and DHE-DSS -2011-03-05 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: handle non fatal errors when receiving record - headers. + * tests/Makefile.am: removed duplicate -2011-03-05 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c: memcpy -> memmove. + * doc/Makefile.am, doc/invoke-gnutls-cli.texi: small updates -2011-03-05 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_int.h: removed GMAX + * tests/Makefile.am: slow tests moved at the end of the suite -2011-03-02 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * src/certtool.c: Allow providing no password for PKCS #12 structure - generation. Reported by Daniel Kahn Gillmor. + * lib/gnutls_buffers.c: simplified cleaning-up in + _gnutls_stream_read and _gnutls_dgram_read -2011-03-02 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * src/certtool-cfg.c: consistently print all interactive questions - to stderr. Reported by Daniel Kahn Gillmor. + * lib/nettle/pk.c: corrected extract_digest_info -2011-02-26 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_int.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, - lib/gnutls_record.c, lib/gnutls_state.c: combined all the record - buffers in one. + * lib/gnutls_handshake.c, tests/mini-x509-callbacks.c: In client + side the verify callback is always being called. -2011-02-26 Nikos Mavrogiannopoulos +2013-02-10 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_int.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, - lib/gnutls_record.c, lib/gnutls_record.h, lib/gnutls_state.c: - internal buffering for record and handshake data changed from - gnutls_buffers to gnutls_mbuffers. + * lib/gnutls_priority.c: further relaxed security levels -2011-02-26 Nikos Mavrogiannopoulos +2013-01-29 Jaak Ristioja - * lib/debug.c, lib/gnutls_buffers.c, lib/gnutls_int.h, - lib/gnutls_record.c, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in: Removed last pieces of inner - application. + * Makefile.am, configure.ac: Add option to disable generation of any + documentation for GnuTLS. -2011-02-26 Nikos Mavrogiannopoulos +2013-01-29 Jaak Ristioja - * lib/gnutls_record.c: some cleanups + * Makefile.am, libdane/Makefile.am, libdane/includes/Makefile.am: + Prevent libdane pkgconfig stuff from being installed if libdane + support is disabled. -2011-03-01 Ludovic Courtès +2013-02-10 Nikos Mavrogiannopoulos - * guile/tests/anonymous-auth.scm, guile/tests/openpgp-auth.scm, - guile/tests/x509-auth.scm: guile: Change tests to use priority - strings. + * NEWS, configure.ac, cross.mk, m4/hooks.m4: updates for 3.1.8 -2011-03-01 Ludovic Courtès +2013-02-09 Nikos Mavrogiannopoulos - * src/Makefile.am: Add `udp-serv.h' to the distribution. + * NEWS, lib/algorithms/secparams.c: Restored 3.1.6 defaults and + documented fix. -2011-02-28 Andreas Metzler +2013-02-09 Nikos Mavrogiannopoulos - * lib/libgnutls.map: fix duplicate symbols in version script These three symbols are listed both in the GNUTLS_2_8 and the - GNUTLS_2_10 section. binutils uses the first occurence, drop the - second one. Signed-off-by: Nikos Mavrogiannopoulos + * lib/algorithms/secparams.c: reduced the very weak DH level to 768 + bits to not reject popular sites that operate on that level. -2011-02-28 Nikos Mavrogiannopoulos +2013-02-09 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: updates on -ALL priorities. + * lib/auth/dh_common.c: added debugging message to indicate the + number of bits. -2011-02-28 Nikos Mavrogiannopoulos +2013-02-09 Nikos Mavrogiannopoulos - * lib/ext_signature.c: Restrict the signature algorithms we - advertize to SHA1 and SHA256. + * lib/gnutls_handshake.c: Do not call the certificate verification + callback if certificates are ignored. -2011-02-28 Ludovic Courtès +2013-02-08 Nikos Mavrogiannopoulos - * lib/includes/Makefile.am: Add `gnutls/dtls.h' to the distribution. + * lib/gnutls_record.c: avoid memset on the whole record header + length -2011-02-27 Ludovic Courtès +2013-02-07 Nikos Mavrogiannopoulos - * guile/modules/system/documentation/c-snarf.scm: guile: Fix - docstring extraction with CPP 4.5+. + * NEWS, lib/x509/privkey.c: fixed issue in + gnutls_x509_privkey_import2() -2011-02-27 Ludovic Courtès +2013-02-05 Nikos Mavrogiannopoulos - * doc/Makefile.am: Pass the right CPPFLAGS when building Guile doc. + * doc/cha-bib.texi, doc/cha-tokens.texi, doc/latex/gnutls.bib, + lib/tpm.c: reference TPMURI -2011-02-27 Ludovic Courtès +2013-02-05 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi, guile/src/core.c: Add nodes for the - subsections of "The TLS Handshake Protocol". + * lib/gnutls_pubkey.c, lib/x509/x509.c: updated doc -2011-02-27 Ludovic Courtès +2013-02-05 Nikos Mavrogiannopoulos - * lib/Makefile.am: Add `lib/gnutls_dtls.h' to the distribution. + * lib/nettle/pk.c: corrected typo -2011-02-27 Ludovic Courtès +2013-02-05 Nikos Mavrogiannopoulos - * guile/modules/gnutls.scm, guile/modules/gnutls/build/enums.scm, - guile/modules/gnutls/build/priorities.scm, guile/src/core.c, - guile/src/errors.c, guile/src/errors.h, guile/tests/Makefile.am, - guile/tests/priorities.scm: guile: Wrap - `gnutls_priority_set_direct'; deprecate the old method. + * lib/nettle/pk.c: corrected wrap_nettle_hash_algorithm() to work + with arbitrary key sizes. -2011-02-27 Ludovic Courtès +2013-02-04 Nikos Mavrogiannopoulos - * doc/scripts/gdoc, doc/scripts/sort2.pl: Avoid hard-coded - /usr/bin/perl (trick taken from Gnulib.) + * lib/gnutls_db.c, lib/gnutls_db.h, lib/gnutls_session_pack.c: Added + a magic number in front session DB data. -2011-02-27 Ludovic Courtès +2013-02-04 Nikos Mavrogiannopoulos - * libextra/gnutls_extra.c: Fix LZO-enabled builds. + * lib/nettle/rnd.c: Corrected typo. Reported by Mark Brand. -2011-02-24 Nikos Mavrogiannopoulos +2013-02-04 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c: Detect fork() in the random number generator and - reseed. + * NEWS, lib/gnutls_cipher.c: update -2011-02-23 Nikos Mavrogiannopoulos +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_state.c: use timeouts closer to DTLS - RFC. + * tests/cert-tests/ca-no-pathlen.pem: test update -2011-02-23 Nikos Mavrogiannopoulos +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_state.c, lib/includes/gnutls/gnutls.h.in, - lib/libgnutls.map, lib/system_override.c: Renamed - gnutls_transport_set_push_function2() to - gnutls_transport_set_vec_push_function(). + * doc/cha-functions.texi, doc/manpages/Makefile.am: update -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * NEWS, doc/manpages/Makefile.am, lib/includes/gnutls/compat.h, - lib/libgnutls.map, lib/x509/crq.c: Remove - gnutls_x509_crq_get_preferred_hash_algorithm. + * doc/Makefile.am, doc/cha-gtls-app.texi, lib/gnutls_record.c: + updated doc -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/libgnutls.map: Remove dropped functions. + * NEWS: updated -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/x509/crl_write.c: Add deprecated docstring. + * doc/invoke-gnutls-cli.texi: doc update -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/x509/crq.c: Fix deprecated docstring. + * lib/gnutls_range.c: document limitation -2011-02-20 Simon Josefsson +2013-01-24 Alfredo Pironti - * lib/x509/privkey.c: Fix docstring. + * lib/gnutls_range.c: Make sure we don't fail if writing gets + interrupted -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: Fix docstring of new function. + * tests/mini-dtls-heartbeat.c: disable heartbeat test if it isn't + included. -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_cert.c: Fix docstring for deprecated functions. + * NEWS: documented fix -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: Make it build. + * NEWS: postpone the change -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/openpgp/privkey.c: Fix docstring of deprecated function. + * COPYING.LESSER: Revert "license is again LGPLv2.1" This reverts commit b7eea829d4b1db58c49bf5c3e31e4be5b61fb2e8. -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: Fix docstrinf of new function. + * tests/suite/mini-record-timing.c: updated test -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * doc/reference/gnutls-docs.sgml: Fix typo. + * lib/gnutls_cipher.c, lib/gnutls_hash_int.h: Fixes to avoid a + timing attack in TLS CBC record parsing. -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * doc/reference/gnutls-docs.sgml: Improve text. + * NEWS: updated -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/x509/crl.c: Doc fix of new function. + * lib/gnutls_extensions.c, lib/gnutls_record.c: only register + heartbeat if it is enabled. -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * lib/gnutls_cert.c, lib/gnutls_privkey.c, lib/x509/privkey.c: Fix - docstring of deprecated functions. + * COPYING.LESSER: license is again LGPLv2.1 -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_privkey.c, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/compat.h, lib/libgnutls.map, lib/x509/crq.c, - lib/x509/sign.c, tests/x509sign-verify.c: Rename - gnutls_privkey_sign_data2 to gnutls_privkey_sign_data and - gnutls_privkey_sign_hash2 to gnutls_privkey_sign_hash. These were added during the 2.11 cycle where we don't promise ABI - compatibility. + * configure.ac, lib/ext/heartbeat.c, lib/ext/heartbeat.h, + m4/hooks.m4: updated heartbeat code, and made it optional. -2011-02-20 Simon Josefsson +2013-02-04 Nikos Mavrogiannopoulos - * doc/gnutls-crypto-layers.eps: Add doc/gnutls-crypto-layers.eps. + * lib/includes/gnutls/pkcs11.h, lib/pkcs11.c: corrected typo -2011-02-20 Simon Josefsson +2013-02-03 Nikos Mavrogiannopoulos - * doc/Makefile.am: Dist gnutls-crypto-layers.*. + * lib/ext/status_request.c, lib/gnutls_db.c, lib/gnutls_str.c, + lib/pkcs11_write.c, lib/x509/ocsp.c, lib/x509/ocsp_output.c, + lib/x509/output.c, lib/x509/verify-high.c, lib/x509/x509.c: Use + LGPLv2.1 in the files their author's agreed to. -2011-02-20 Simon Josefsson +2013-02-03 Nikos Mavrogiannopoulos - * lib/Makefile.am: Add abstract_int.h. + * lib/gnutls_x509.c, lib/includes/gnutls/pkcs11.h, lib/pkcs11.c, + lib/x509/verify-high2.c: Added GNUTLS_PKCS11_OBJ_ATTR_CRT_TRUSTED_CA + to specify trusted CA certificates. -2011-02-20 Simon Josefsson +2013-02-02 Nikos Mavrogiannopoulos - * .gitignore: Ignore more. + * NEWS: added new func -2011-02-20 Simon Josefsson +2013-02-01 Nikos Mavrogiannopoulos - * lib/Makefile.am: Link with -lnettle too. + * lib/gnutls_session_pack.c: corrected session resumption -2011-02-20 Simon Josefsson +2013-02-01 Nikos Mavrogiannopoulos - * doc/Makefile.am, doc/cha-programs.texi, lib/gnutls_privkey.c, - lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/openpgp/pgp.c: Fix syntax-check warnings. + * lib/gnutls_db.c: simplified DB storing -2011-02-22 Ludovic Courtès +2013-02-01 Nikos Mavrogiannopoulos - * guile/modules/gnutls/build/enums.scm: guile: Remove - GNUTLS_A_INNER_APPLICATION_FAILURE and - GNUTLS_A_INNER_APPLICATION_VERIFICATION. + * src/cli-args.c, src/cli-args.def, src/cli-args.h, src/cli.c: + Applied disable SNI patch from Daniel. -2011-02-22 Nikos Mavrogiannopoulos +2013-02-01 Nikos Mavrogiannopoulos - * lib/gnutls_session_pack.c: store entities as numbers to avoid - issues in big-little endian machines. + * lib/gnutls_db.c: remove function is not required to add or + retrieve from db. -2011-02-22 Nikos Mavrogiannopoulos +2013-02-01 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: documented the DTLS sequence particularities. + * lib/abstract_int.h, lib/accelerated/accelerated.c, + lib/accelerated/cryptodev-gcm.c, lib/accelerated/cryptodev.c, + lib/accelerated/x86/aes-gcm-padlock.c, + lib/accelerated/x86/aes-gcm-x86.c, + lib/accelerated/x86/aes-padlock.c, lib/accelerated/x86/aes-x86.c, + lib/accelerated/x86/hmac-padlock.c, + lib/accelerated/x86/sha-padlock.c, lib/accelerated/x86/x86.h, + lib/algorithms.h, lib/algorithms/cert_types.c, + lib/algorithms/ciphers.c, lib/algorithms/ciphersuites.c, + lib/algorithms/ecc.c, lib/algorithms/kx.c, lib/algorithms/mac.c, + lib/algorithms/protocols.c, lib/algorithms/publickey.c, + lib/algorithms/secparams.c, lib/algorithms/sign.c, lib/auth/anon.c, + lib/auth/anon.h, lib/auth/anon_ecdh.c, lib/auth/cert.c, + lib/auth/cert.h, lib/auth/dh_common.c, lib/auth/dh_common.h, + lib/auth/dhe.c, lib/auth/dhe_psk.c, lib/auth/ecdh_common.c, + lib/auth/ecdh_common.h, lib/auth/psk.c, lib/auth/psk.h, + lib/auth/psk_passwd.c, lib/auth/psk_passwd.h, lib/auth/rsa.c, + lib/auth/rsa_export.c, lib/auth/srp.c, lib/auth/srp.h, + lib/auth/srp_passwd.c, lib/auth/srp_passwd.h, lib/auth/srp_rsa.c, + lib/auth/srp_sb64.c, lib/crypto-api.c, lib/crypto-backend.c, + lib/crypto-backend.h, lib/crypto.h, lib/debug.c, lib/debug.h, + lib/ext/cert_type.c, lib/ext/cert_type.h, lib/ext/ecc.c, + lib/ext/ecc.h, lib/ext/max_record.c, lib/ext/max_record.h, + lib/ext/new_record_padding.c, lib/ext/new_record_padding.h, + lib/ext/safe_renegotiation.c, lib/ext/safe_renegotiation.h, + lib/ext/server_name.c, lib/ext/server_name.h, + lib/ext/session_ticket.c, lib/ext/session_ticket.h, + lib/ext/signature.c, lib/ext/signature.h, lib/ext/srp.c, + lib/ext/srp.h, lib/ext/srtp.c, lib/ext/srtp.h, lib/gnutls_alert.c, + lib/gnutls_anon_cred.c, lib/gnutls_auth.c, lib/gnutls_auth.h, + lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_cert.c, + lib/gnutls_cipher.c, lib/gnutls_cipher.h, lib/gnutls_cipher_int.c, + lib/gnutls_cipher_int.h, lib/gnutls_compress.c, + lib/gnutls_compress.h, lib/gnutls_constate.c, + lib/gnutls_constate.h, lib/gnutls_datum.c, lib/gnutls_datum.h, + lib/gnutls_db.h, lib/gnutls_dh.c, lib/gnutls_dh.h, + lib/gnutls_dh_primes.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, + lib/gnutls_ecc.c, lib/gnutls_ecc.h, lib/gnutls_errors.c, + lib/gnutls_errors.h, lib/gnutls_extensions.c, + lib/gnutls_extensions.h, lib/gnutls_global.c, lib/gnutls_global.h, + lib/gnutls_handshake.c, lib/gnutls_handshake.h, + lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_helper.c, + lib/gnutls_helper.h, lib/gnutls_int.h, lib/gnutls_kx.c, + lib/gnutls_kx.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, + lib/gnutls_mem.c, lib/gnutls_mem.h, lib/gnutls_mpi.c, + lib/gnutls_mpi.h, lib/gnutls_num.c, lib/gnutls_num.h, + lib/gnutls_pcert.c, lib/gnutls_pk.c, lib/gnutls_pk.h, + lib/gnutls_priority.c, lib/gnutls_privkey.c, lib/gnutls_psk.c, + lib/gnutls_pubkey.c, lib/gnutls_record.c, lib/gnutls_record.h, + lib/gnutls_rsa_export.c, lib/gnutls_rsa_export.h, + lib/gnutls_session.c, lib/gnutls_session_pack.c, + lib/gnutls_session_pack.h, lib/gnutls_sig.c, lib/gnutls_sig.h, + lib/gnutls_srp.c, lib/gnutls_srp.h, lib/gnutls_state.c, + lib/gnutls_state.h, lib/gnutls_str.h, lib/gnutls_str_array.h, + lib/gnutls_supplemental.c, lib/gnutls_supplemental.h, + lib/gnutls_ui.c, lib/gnutls_v2_compat.c, lib/gnutls_v2_compat.h, + lib/gnutls_x509.c, lib/gnutls_x509.h, + lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, + lib/includes/gnutls/crypto.h, lib/includes/gnutls/dtls.h, + lib/includes/gnutls/gnutlsxx.h, lib/includes/gnutls/openpgp.h, + lib/includes/gnutls/pkcs11.h, lib/includes/gnutls/pkcs12.h, + lib/includes/gnutls/tpm.h, lib/locks.c, lib/locks.h, + lib/nettle/cipher.c, lib/nettle/ecc.h, lib/nettle/ecc_free.c, + lib/nettle/ecc_make_key.c, lib/nettle/ecc_map.c, + lib/nettle/ecc_mulmod.c, lib/nettle/ecc_mulmod_cached.c, + lib/nettle/ecc_points.c, lib/nettle/ecc_projective_add_point_ng.c, + lib/nettle/ecc_projective_check_point.c, + lib/nettle/ecc_projective_dbl_point_3.c, + lib/nettle/ecc_projective_isneutral.c, + lib/nettle/ecc_projective_negate_point.c, + lib/nettle/ecc_shared_secret.c, lib/nettle/ecc_sign_hash.c, + lib/nettle/ecc_verify_hash.c, lib/nettle/egd.c, lib/nettle/egd.h, + lib/nettle/init.c, lib/nettle/mac.c, lib/nettle/mpi.c, + lib/nettle/pk.c, lib/nettle/rnd.c, lib/nettle/wmnaf.c, + lib/opencdk/armor.c, lib/opencdk/context.h, lib/opencdk/filters.h, + lib/opencdk/hash.c, lib/opencdk/kbnode.c, lib/opencdk/keydb.c, + lib/opencdk/keydb.h, lib/opencdk/literal.c, lib/opencdk/main.h, + lib/opencdk/misc.c, lib/opencdk/new-packet.c, + lib/opencdk/opencdk.h, lib/opencdk/packet.h, lib/opencdk/pubkey.c, + lib/opencdk/read-packet.c, lib/opencdk/seskey.c, + lib/opencdk/sig-check.c, lib/opencdk/stream.c, + lib/opencdk/stream.h, lib/opencdk/types.h, + lib/opencdk/write-packet.c, lib/openpgp/compat.c, + lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.c, + lib/openpgp/gnutls_openpgp.h, lib/openpgp/openpgp_int.h, + lib/openpgp/output.c, lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, + lib/openpgp/privkey.c, lib/pin.c, lib/pkcs11.c, lib/pkcs11_int.h, + lib/pkcs11_privkey.c, lib/pkcs11_secret.c, lib/random.c, + lib/random.h, lib/system.c, lib/system.h, lib/system_override.c, + lib/tpm.c, lib/verify-tofu.c, lib/x509/common.c, lib/x509/common.h, + lib/x509/crl.c, lib/x509/crl_write.c, lib/x509/crq.c, + lib/x509/dn.c, lib/x509/extensions.c, lib/x509/key_decode.c, + lib/x509/key_encode.c, lib/x509/mpi.c, lib/x509/pbkdf2-sha1.c, + lib/x509/pbkdf2-sha1.h, lib/x509/pkcs12.c, lib/x509/pkcs12_bag.c, + lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, lib/x509/privkey.c, + lib/x509/privkey_openssl.c, lib/x509/privkey_pkcs8.c, + lib/x509/rfc2818_hostname.c, lib/x509/sign.c, + lib/x509/verify-high2.c, lib/x509/verify.c, lib/x509/x509_int.h, + lib/x509/x509_write.c, lib/x509_b64.c, lib/x509_b64.h: Use LGPLv2.1 + in the files their author's agreed to. -2011-02-22 Nikos Mavrogiannopoulos +2013-01-31 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_handshake.c, - lib/gnutls_record.c, lib/gnutls_record.h, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/udp-serv.c: - Added gnutls_record_recv_seq() that can return the sequence number - of the record packet, in addition to data. + * lib/gnutls_db.c, lib/gnutls_session_pack.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Added + gnutls_db_check_entry_time(). -2011-02-21 Nikos Mavrogiannopoulos +2013-01-31 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: reorganized and simplified gnutls_recv_int(). - It will discard invalid DTLS packets. + * lib/gnutls_db.c: deprecated problematic function -2011-02-20 Nikos Mavrogiannopoulos +2013-01-31 Nikos Mavrogiannopoulos - * lib/gnutls_constate.h, lib/gnutls_record.c: Discard messages that - contain a different epoch than the current one. + * NEWS, lib/gnutls_db.c, lib/gnutls_handshake.c, + lib/gnutls_session_pack.c: Fixes in server side of DTLS-0.9. -2011-02-20 Nikos Mavrogiannopoulos +2013-01-31 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: renamed internal function to reflect - functionality. + * lib/includes/gnutls/xssl.h: corrected typo -2011-02-20 Nikos Mavrogiannopoulos +2013-01-30 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_int.h, lib/gnutls_record.c, lib/gnutls_state.c: - Implemented a sliding window-like thing to discard replayed packets. + * lib/gnutls_record.c: uncork doesn't do anything when the session + is already in flush mode -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * src/cli.c: gnutls-cli shouldn't print errors on EAGAIN and - INTERRUPTED. + * .gitignore, doc/.gitignore: more files to ignore -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_num.c: corrected uint48pp. + * doc/cha-gtls-examples.texi, lib/includes/gnutls/xssl.h: doc update -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c, lib/gnutls_mbuffers.c, lib/gnutls_state.c: - Epoch garbage collector is being run when handshake is being cleaned - up. + * NEWS, configure.ac, m4/hooks.m4: bumped version -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_num.c, - lib/gnutls_state.c: skip replays in handshake packets. + * doc/latex/cover.tex: Added Alfredo -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Forbid SSL v.2 client hello in DTLS. + * doc/cha-gtls-examples.texi, doc/gnutls.texi, doc/latex/cover.tex: + updated doc for XSSL -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_int.h: removed unneeded - variables. + * doc/examples/Makefile.am, doc/examples/ex-client-xssl1.c, + doc/examples/ex-client-xssl2.c: Added XSSL client examples. -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_constate.h, lib/gnutls_dtls.c, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_mbuffers.c: - Cleanups in combination of DTLS and TLS buffers. + * lib/Makefile.am, lib/libgnutls.map, tests/Makefile.am: Fixed + compilation of mini-xssl. -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/auth_dhe.c, lib/auth_rsa.c, lib/auth_rsa_export.c, - lib/auth_srp.c, lib/gnutls_algorithms.c, lib/gnutls_dh_primes.c, - lib/gnutls_errors.h, lib/gnutls_handshake.c, lib/gnutls_sig.c, - lib/opencdk/main.h, lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, - lib/openpgp/privkey.c, lib/x509/common.c, lib/x509/dn.c, - lib/x509/pkcs12.c, lib/x509/pkcs7.c, lib/x509/privkey_pkcs8.c, - lib/x509/verify.c, lib/x509/x509_write.c, lib/x509_b64.c: - gnutls_x509_log replaced with gnutls_audit_log. + * lib/gnutls_range.c, lib/includes/gnutls/gnutls.h.in: small fixes -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.h, lib/gnutls_cipher.c, lib/gnutls_dtls.c, - lib/gnutls_int.h, lib/gnutls_state.c, lib/gnutls_state.h: Return a - more precise mtu unit to applications. + * NEWS, lib/Makefile.am, m4/hooks.m4: xssl API moved to xssl library -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * src/udp-serv.c: restart handshake on signals. + * NEWS: updated text -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_constate.h, lib/gnutls_dtls.c: - reference counting in epochs is being done using functions. + * doc/cha-gtls-app.texi: Comment out new padding until it is + standardized or at least approved by the WG. -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_compress.c, lib/gnutls_dtls.c, - lib/gnutls_int.h, lib/gnutls_record.c, lib/gnutls_state.c, - lib/includes/gnutls/dtls.h, lib/libgnutls.map: Added - gnutls_dtls_g/set_mtu() to allow setting and getting the DTLS mtu - from application. + * doc/Makefile.am, doc/doc.mk: fix xssl -2011-02-20 Nikos Mavrogiannopoulos +2013-01-29 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_int.h, lib/gnutls_state.c: Combined DTLS buffers and - normal TLS buffers. + * src/cli-debug.c: Corrected issue in gnutls-cli-debug which tried + connections to multiple hosts. gnutls-cli-debug was trying to connect to all possible IP addresses + of the host and failed if any was unavailable. Now it tries + sequentially and accepts the first that is working. Reported by + Daniel Kahn Gillmor. -2011-02-19 Nikos Mavrogiannopoulos +2013-01-28 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/ext_session_ticket.c, lib/gnutls_buffers.c, - lib/gnutls_buffers.h, lib/gnutls_constate.c, lib/gnutls_dtls.c, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, lib/system.c, - lib/system.h, lib/system_override.c, src/Makefile.am, - src/serv-gaa.c, src/serv-gaa.h, src/serv.c, src/serv.gaa, - src/udp-serv.c, src/udp-serv.h: Changes to allow DTLS server side to - operate. Added a simple UDP server on gnutls-serv. Server other - cleanups. + * NEWS: updated -2011-02-19 Nikos Mavrogiannopoulos +2013-01-28 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_errors.c, lib/gnutls_int.h, - lib/gnutls_state.c, lib/includes/gnutls/dtls.h, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/cli.c: Allow - setting the DTLS timeouts explicitly. + * .gitignore, NEWS: updated NEWS -2011-02-19 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * doc/TODO: updated. + * lib/crypto-api.c: Fix AEAD out-of-place decryption -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/auth_cert.c, lib/debug.c, lib/gnutls_algorithms.c, - lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_cipher.c, - lib/gnutls_cipher.h, lib/gnutls_dtls.c, lib/gnutls_dtls.h, - lib/gnutls_errors.h, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_mbuffers.h, lib/gnutls_num.c, lib/gnutls_num.h, - lib/gnutls_record.c, lib/gnutls_record.h, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/system.c, lib/system.h, - src/cli-gaa.c, src/cli-gaa.h, src/cli.c, src/cli.gaa: Several - updates for DTLS (client side only) to work. + * tests/suite/mini-record-timing.c: updated test -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/opencdk/main.h: Increased level of opencdk debug messages. + * NEWS, lib/Makefile.am, lib/gnutls_cert.c, lib/gnutls_errors.c, + lib/includes/Makefile.am, lib/includes/gnutls/gnutls.h.in, + lib/includes/gnutls/sbuf.h, lib/includes/gnutls/xssl.h, + lib/libgnutls.map, lib/sbuf.c, lib/sbuf.h, lib/sbuf_getline.c, + lib/xssl.c, lib/xssl.h, lib/xssl_getline.c, tests/Makefile.am, + tests/mini-sbuf.c, tests/mini-xssl.c: Added new interface. -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: DSA keys in TLS 1.x, x<2 and SSL 3.0 use SHA-1 - as hash. That is we reverted to previous gnutls behavior. That - violates DSS but all implementations handle it like that. + * lib/gnutls_handshake.c: propagate the error of the verify + callback. -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c, lib/gnutls_buffers.h, lib/gnutls_dtls.c, - lib/gnutls_dtls.h, lib/gnutls_handshake.c, lib/gnutls_int.h: use - similar API when caching messages in DTLS or TLS. + * lib/includes/gnutls/sbuf.h, lib/libgnutls.map, lib/sbuf.c: updates + in the sbuf API. -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: corrected is_version_supported(). + * NEWS, lib/crypto-backend.h, lib/gnutls_state.c, + lib/includes/gnutls/crypto.h, lib/nettle/rnd.c, lib/random.c, + lib/random.h: Added gnutls_rnd_refresh(). -2011-02-18 Nikos Mavrogiannopoulos +2013-01-27 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_handshake.h, lib/gnutls_kx.c: - Simplified _gnutls_recv_handshake(). + * lib/gnutls_int.h, lib/gnutls_priority.c, lib/gnutls_state.h, + lib/gnutls_ui.c: Keep the legacy dh_prime_bits. -2011-02-18 Nikos Mavrogiannopoulos +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/gnutls_algorithms.h, - lib/gnutls_dtls.c, lib/gnutls_handshake.c: ciphersuites have a bit - that indicates whether they are usable with DTLS or not. + * lib/gnutls_int.h, lib/includes/gnutls/sbuf.h, lib/sbuf.c, + lib/sbuf.h, lib/verify-tofu.c: updated sbuf interface. -2011-02-17 Nikos Mavrogiannopoulos +2013-01-26 Nikos Mavrogiannopoulos - * lib/auth_dhe.c, lib/gnutls_algorithms.c, lib/gnutls_cipher.c: fix - for dtls. + * NEWS: updated news -2010-10-02 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h, lib/gnutls_num.c, - lib/gnutls_num.h: dtls: Add uint48 handling functions. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, lib/nettle/rnd.c: No need to cache events with the current + behavior. -2010-10-02 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: dtls: Bring epoch choice on receive closer to - the first usage. Signed-off-by: Nikos Mavrogiannopoulos + * lib/ext/heartbeat.c: use nonces instead of random data -2010-09-24 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * src/cli-gaa.c, src/cli-gaa.h, src/cli.c, src/cli.gaa: Add DTLS - support to command-line client. Signed-off-by: Nikos Mavrogiannopoulos + * tests/mini-sbuf.c: free all resources -2010-09-17 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_constate.c: dtls: Write epoch to sequence number. Signed-off-by: Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: nonces update the internal rng state much + slower. -2010-09-06 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: dtls: Send consistent a client_random. This is necessary when challenged by HelloVerifiyRequest as we MUST - send the same client parameters. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, lib/algorithms/secparams.c, lib/gnutls_int.h, + lib/gnutls_priority.c, lib/gnutls_state.h, lib/gnutls_ui.c, + lib/includes/gnutls/gnutls.h.in: Instead of setting directly the + number of DH bits, set a security parameter per session. -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_int.h: dtls: Limit the number - of HelloVerifyRequest round trips. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, lib/auth/dh_common.c, lib/gnutls_int.h, + lib/gnutls_priority.c, lib/gnutls_state.c, lib/gnutls_state.h, + lib/gnutls_ui.c: The minimum DH prime bits are now set by the + priority strings (that means they are increased for the SECURE + strings). -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_handshake.c: dtls: TEMP: Sprinkle - transmits. Signed-off-by: Nikos Mavrogiannopoulos + * configure.ac: warnings doesn't imply Werror -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_int.h: dtls: Do - HANDSHAKE_HELLO_VERIFY_REQUEST processing. Signed-off-by: Nikos Mavrogiannopoulos + * doc/TODO: updated -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: dtls: Add - _gnutls_recv_hello_verify_request. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_ui.c: disable gnutls_certificate_get_peers_subkey_id() + if not openpgp. -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Decrypt using the proper sequence number. Signed-off-by: Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: optimized random generator. -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_cipher.h: dtls: Use proper record - sequence for DTLS decrypt. Signed-off-by: Nikos Mavrogiannopoulos + * configure.ac: check for getpid(). -2011-02-17 Nikos Mavrogiannopoulos +2013-01-26 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: corrected extdatalen + * lib/ext/heartbeat.c, lib/gnutls_buffers.c, lib/gnutls_dtls.c, + lib/gnutls_dtls.h, lib/gnutls_int.h, lib/gnutls_state.c: + _dtls_timespec_sub_ms -> timespec_sub_ms -2010-09-05 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_buffers.c: dtls: Read whole datagrams. Signed-off-by: Nikos Mavrogiannopoulos + * lib/algorithms.h, lib/algorithms/mac.c: Avoid many indirect calls. -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: dtls: Queue outgoing handshake messages in - the retransmission layer. Signed-off-by: Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: reduced calls to getpid -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_dtls.c, lib/gnutls_dtls.h: Add outgoing flight buffer - handling code. Signed-off-by: Nikos Mavrogiannopoulos + * lib/nettle/rnd.c: use the more precise gettime() instead of + gettimeofday(). -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_errors.h: Define _gnutls_dtls_log for DTLS. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_range.c, lib/includes/gnutls/gnutls.h.in: + gnutls_range_split accepts pointers as arguments. -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-24 Alfredo Pironti - * lib/gnutls_int.h, lib/gnutls_state.c: Add structures for the - buffered outgoing flight. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, doc/Makefile.am, lib/gnutls_range.c, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Make + gnutls_range_split available from the GnuTLS API -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-24 Alfredo Pironti - * lib/gnutls_int.h, lib/gnutls_state.c: Add state for handshake mtu. Signed-off-by: Nikos Mavrogiannopoulos + * .gitignore, NEWS, lib/libgnutls.map: - Remove references to the (now renamed) gnutls_range_send_message - + Ignore sbuf-api generated documentation Signed-off-by: Nikos Mavrogiannopoulos -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: dtls: Fixup outgoing ClientHello hashing. Signed-off-by: Nikos Mavrogiannopoulos + * lib/auth/psk.h: Some fix when disable-psk-authentication is + specified. Based on patch by Jaak Ristioja. -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_int.h: Add proper handshake - outgoing sequence number. Signed-off-by: Nikos Mavrogiannopoulos + * lib/x509/x509_dn.c: rewritten DN parsing code. -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/gnutls_dtls.c, lib/gnutls_dtls.h: Add - gnutls_dtls.{c,h}. Signed-off-by: Nikos Mavrogiannopoulos + * tests/cert-tests/Makefile.am, tests/cert-tests/template-dn.pem, + tests/cert-tests/template-dn.tmpl, tests/cert-tests/template-test: + test the DN functionality of certtool. -2009-08-02 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c: dtls: Remove unsuitable ciphers. Signed-off-by: Nikos Mavrogiannopoulos + * tests/cert-tests/dane: dane test no longer fails if danetool isn't + compiled -2009-07-28 Jonathan Bastien-Filiatrault +2013-01-25 Nikos Mavrogiannopoulos - * lib/debug.c, lib/gnutls_handshake.c, - lib/includes/gnutls/gnutls.h.in: dtls: Add hanshake fragment headers - when sending handshake. Signed-off-by: Nikos Mavrogiannopoulos + * lib/system.c, lib/tpm.c, lib/x509/common.c, + lib/x509/pkcs12_encr.c, lib/x509/x509_dn.c: use the non-locale + dependent versions of isxxx functions. -2009-07-28 Jonathan Bastien-Filiatrault +2013-01-24 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_int.h, lib/gnutls_record.c: dtls: - Add epoch and sequence number to DTLS packets. Signed-off-by: Nikos Mavrogiannopoulos + * lib/sbuf.c: allow writes of more than the maximum record data. -2009-07-28 Jonathan Bastien-Filiatrault +2013-01-24 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Use increment functions for sequence number. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, lib/gnutls_int.h, lib/gnutls_record.c, lib/gnutls_state.c, + lib/includes/gnutls/gnutls.h.in: introduced gnutls_cork() and + gnutls_uncork(). -2009-07-27 Jonathan Bastien-Filiatrault +2013-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/gnutls_num.c, lib/gnutls_num.h, - lib/gnutls_record.c: dtls: Add types and operations required for the - DTLS epoch and sequence. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, lib/Makefile.am, lib/includes/gnutls/sbuf.h, + lib/libgnutls.map, lib/sbuf.c, lib/sbuf.h, lib/sbuf_getline.c, + tests/mini-sbuf.c: Added gnutls_sbuf_getdelim() and getline(). -2009-07-29 Jonathan Bastien-Filiatrault +2013-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/gnutls_priority.c: Make version - lookup transport dependent. Signed-off-by: Nikos Mavrogiannopoulos + * NEWS, doc/invoke-gnutls-cli.texi: doc updates -2009-08-03 Jonathan Bastien-Filiatrault +2013-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_state.h: dtls: Add _gnutls_is_dtls to check if a - session uses DTLS. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_cipher.c, lib/gnutls_range.c, lib/gnutls_record.c, + lib/gnutls_record.h: Small changes and a sanity check -2009-07-25 Jonathan Bastien-Filiatrault +2013-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_int.h, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map: Add - gnutls_init_dtls function. Signed-off-by: Nikos Mavrogiannopoulos + * lib/x509/ocsp_output.c, lib/x509/output.c: print static strings + without a printf-like function. -2009-07-25 Jonathan Bastien-Filiatrault +2013-01-23 Nikos Mavrogiannopoulos - * lib/gnutls_int.h: Add DTLS state. Signed-off-by: Nikos Mavrogiannopoulos + * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, + lib/gnutls_range.c, lib/gnutls_record.c, lib/gnutls_record.h, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, src/cli-args.c, + src/cli-args.def, src/cli-args.h, src/cli.c, src/socket.c, + src/socket.h: Updated ranges patch. -2009-07-15 Jonathan Bastien-Filiatrault +2013-01-22 Alfredo Pironti - * lib/gnutls_algorithms.c, lib/includes/gnutls/gnutls.h.in: Add - DTLS1.0 protocol entry. Signed-off-by: Nikos Mavrogiannopoulos + * doc/Makefile.am, doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, + doc/invoke-gnutls-cli.texi, lib/Makefile.am, + lib/ext/new_record_padding.c, lib/gnutls_cipher.c, + lib/gnutls_cipher.h, lib/gnutls_int.h, lib/gnutls_priority.c, + lib/gnutls_range.c, lib/gnutls_record.c, lib/gnutls_record.h, + lib/includes/gnutls/gnutls.h.in, src/cli-args.c, src/cli-args.def, + src/cli-args.h, src/cli.c, src/socket.c, src/socket.h, + tests/mini-record.c: GnuTLS Length Hiding patch. - Remove random padding; use minimal padding with legacy interface - With new interface, use LH when possible, that is in CBC mode or + with the new padding extension - Rename priority to "NEW_PADDING" - gnutls-cli: add command line switch --ranges using LH when + possible. - Update documentation Signed-off-by: Nikos Mavrogiannopoulos -2010-09-17 Jonathan Bastien-Filiatrault +2013-01-22 Nikos Mavrogiannopoulos - * lib/ext_session_ticket.c, lib/gnutls_handshake.c, - lib/gnutls_kx.c, lib/gnutls_mbuffers.h: Allocate session buffers of - size, depending on type of session. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_session.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: changed function name to + gnutls_session_force_valid. -2010-09-25 Jonathan Bastien-Filiatrault +2013-01-22 Martin Storsjo - * lib/gnutls_constate.c: Harmonize "d" argument between constate.c - and compress.c. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls.pc.in: Update Libs.private with @LIB_CLOCK_GETTIME@ as + well This is required when linking as static libraries on linux, for + -lrt. Signed-off-by: Nikos Mavrogiannopoulos -2010-09-24 Jonathan Bastien-Filiatrault +2013-01-22 Nikos Mavrogiannopoulos - * src/cli-gaa.c, src/cli.gaa: Fix typo. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_priority.c: set a default error position. -2010-09-21 Jonathan Bastien-Filiatrault +2013-01-22 Nikos Mavrogiannopoulos - * lib/gnutls_num.h: Parenthesize UINT64DATA again. Signed-off-by: Nikos Mavrogiannopoulos + * lib/gnutls_session.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added gnutls_session_clear_invalid -2011-02-16 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi: reorganization of ciphersuite discussion. + * doc/Makefile.am, doc/cha-functions.texi, doc/doc.mk: updated docs + for sbuf API. -2011-02-15 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: Allow using the minus "-" in the -ALL - priority strings. + * NEWS, lib/gnutls_handshake.c, lib/gnutls_int.h, + lib/gnutls_record.c, lib/includes/gnutls/gnutls.h.in: Added + gnutls_record_set_timeout(). -2011-02-15 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: Added fixme note on TLS 1.2 PRF per - ciphersuite. + * lib/includes/Makefile.am, lib/includes/gnutls/gnutls.h.in, + lib/includes/gnutls/sbuf.h, lib/sbuf.c: updated sbuf layer. -2011-02-15 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: The safe renegotiation ciphersuite is not - required to be registered. + * doc/invoke-certtool.texi: Updated doc -2011-02-15 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/auth_dhe_psk.c: Corrected bug in DHE-PSK in freeing - username/key. + * src/certtool-common.c: corrected C parameter generation. -2011-02-15 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: Added ciphersuites (from RFC5487): - TLS_PSK_WITH_AES_128_GCM_SHA256 TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 - TLS_PSK_WITH_AES_128_CBC_SHA256 TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 - TLS_PSK_WITH_NULL_SHA256 TLS_DHE_PSK_WITH_NULL_SHA256 + * configure.ac, lib/Makefile.am, lib/gnutls.pc.in: Updated + Libs.private with all the required libraries -2011-02-12 Nikos Mavrogiannopoulos +2013-01-21 Martin Storsjo - * NEWS, lib/gnutls_extensions.c, lib/gnutls_sig.c: Corrected - signature generation and verification in the Certificate Verify - message when in TLS 1.2. Reported by Todd A. Ouska. + * lib/gnutls.pc.in: Include libiconv in Libs.private This makes static linking succeed if the library is configured to + use libiconv. Signed-off-by: Nikos Mavrogiannopoulos -2011-02-11 Nikos Mavrogiannopoulos +2013-01-21 Martin Storsjo - * lib/gnutls_state.c: removed duplicate assignments. + * lib/gnutls_global.c, lib/verify-tofu.c: Define _gnutls_file_mutex + in gnutls_global.c instead of in verify-tofu.c This fixes issues with linking the tools on OS X if not building + shared libraries. Currently, if building with --disable-shared on OS X, the build + fails with: CCLD gnutls-serv Undefined symbols for architecture x86_64: "__gnutls_file_mutex", referenced from: _gnutls_global_deinit in libgnutls.a(gnutls_global.o) _gnutls_global_init in libgnutls.a(gnutls_global.o) ld: + symbol(s) not found for architecture x86_64 It seems that the linker fails to pull in verify-tofu.o to satisfy + the undefined reference to _gnutls_file_mutex.o in gnutls_global.o + unless gnutls_global.o (or any other object file in the link) also + calls functions that pulls in verify-tofu.o. Since gnutls_global.o + always is linked in, but verify-tofu.o can be left out unless + someone calls the functions in it, defining the mutex in + gnutls_global.c makes sense and simplifies the dependencies. Signed-off-by: Nikos Mavrogiannopoulos -2011-02-10 Nikos Mavrogiannopoulos +2013-01-21 Nikos Mavrogiannopoulos - * lib/nettle/cipher.c: upgraded to nettle's new GCM API. + * src/Makefile.am, src/certtool-args.c, src/certtool-args.def, + src/certtool-args.h, src/certtool-common.c, src/certtool-common.h, + src/certtool.c, src/dh.c: Added --cprint option to certtool -2011-02-10 Nikos Mavrogiannopoulos +2013-01-20 Nikos Mavrogiannopoulos - * lib/m4/hooks.m4: increased the C++ library current version. + * doc/README.CODING_STYLE: updated coding style -2011-02-10 Nikos Mavrogiannopoulos +2013-01-20 Alon Bar-Lev - * NEWS, lib/gnutlsxx.cpp: The C++ interface returns exception on - every error and not only on fatal ones. This allows easier handling - of errors. + * src/Makefile.am: build: add danetool-args.c to BUILT_SOURCES Signed-off-by: Alon Bar-Lev Signed-off-by: + Nikos Mavrogiannopoulos -2011-02-10 Nikos Mavrogiannopoulos +2013-01-20 Nikos Mavrogiannopoulos - * lib/gnutlsxx.cpp, lib/includes/gnutls/gnutlsxx.h: removed the old - set_priority functions. + * .gitignore, tests/suite/Makefile.am, + tests/suite/mini-record-timing.c: Added program to estimate the + timings in different record paddings. -2011-02-10 Nikos Mavrogiannopoulos +2013-01-18 Nikos Mavrogiannopoulos - * src/cli.c, src/serv.c: removed more deprecated stuff. + * doc/invoke-danetool.texi, libdane/dane.c, + libdane/includes/gnutls/dane.h, src/danetool-args.c, + src/danetool-args.def, src/danetool-args.h, src/danetool.c: Added + --insecure flag to danetool. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * libextra/gnutls_openssl.c, libextra/includes/gnutls/openssl.h: - updated openssl layer to new priority functions (untested). + * src/certtool.c, tests/cert-tests/template-test.pem, + tests/cert-tests/template-utf8.pem: modified certtool order of DN + elements. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: removed unused variable. + * tests/mini-sbuf.c: properly deinitialized sbuf -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_sig.c: Allow DSA2 even in protocols before TLS - 1.2. + * tests/mini-dtls-record.c: initialize buffer before sending. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * src/cli.c: set the psk callback only if username/key were not - supplied at command line. + * NEWS, tests/dn2.c: corrected test for new names and updated news. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * lib/ext_signature.c, lib/ext_signature.h, lib/gnutls_pk.c, - lib/gnutls_sig.c: In TLS 1.2 under DSS use the hash algorithm - required by DSS. + * NEWS, libdane/dane.c, libdane/errors.c, + libdane/includes/gnutls/dane.h, libdane/libdane.map, m4/hooks.m4, + src/danetool-args.c, src/danetool-args.def, src/danetool-args.h, + src/danetool.c: Added options to specify a DLV file. Suggested by + Paul Wouters. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-17 Nikos Mavrogiannopoulos - * tests/Makefile.am, tests/openpgp-auth.c, tests/openpgp-auth2.c: - Added new test openpgp-auth2.c that tests openpgp under TLS1.2 and - DSS as well. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/x509_dn.c: Added gnutls_x509_crt_set_issuer_dn(). -2011-02-09 Nikos Mavrogiannopoulos +2013-01-15 Nikos Mavrogiannopoulos - * tests/anonself.c, tests/dhepskself.c, tests/mini-eagain.c, - tests/mini.c, tests/openpgp-auth.c, tests/pskself.c, tests/resume.c: - Modernized the test applications that now use the - gnutls_priority_set_direct(). + * doc/invoke-certtool.texi: updated certtool doc -2011-02-09 Nikos Mavrogiannopoulos +2013-01-15 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in: - deprecated gnutls_*_set_priority(). + * NEWS, doc/TODO, doc/cha-cert-auth2.texi, + lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/Makefile.am, lib/x509/common.c, lib/x509/common.h, + lib/x509/x509_dn.c, src/certtool-args.c, src/certtool-args.def, + src/certtool-args.h, src/certtool-cfg.c, src/certtool-cfg.h, + src/certtool.c: Added functions to directly set the DN in a + certificate or request from an RFC4514 string. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-15 Nikos Mavrogiannopoulos - * lib/auth_cert.c, lib/ext_cert_type.c, lib/ext_max_record.c, - lib/ext_safe_renegotiation.c, lib/ext_server_name.c, - lib/ext_session_ticket.c, lib/ext_signature.c, lib/ext_srp.c, - lib/gnutls_extensions.c, lib/gnutls_extensions.h, - lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_pk.c, - lib/gnutls_sig.c, lib/gnutls_state.c, - lib/includes/gnutls/gnutls.h.in, lib/nettle/pk.c: The extensions - code is now using the gnutls_buffer_st. + * .gitignore: more files to ignore -2011-02-09 Nikos Mavrogiannopoulos +2013-01-15 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/x509/x509_int.h: Added sha224 to the - list of MACs. + * NEWS, doc/cha-gtls-app.texi, lib/Makefile.am, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, lib/sbuf.c, + tests/Makefile.am, tests/mini-sbuf.c: Added functions to assist + buffering during transmission. Added the gnutls_sbuf_t structure and accompanying functions to + enable buffering in sending application data. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-15 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: The PSK and SRP key exchange algorithms are - not included in the preset priority strings. + * libdane/dane-params.c: corrected copyright. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-07 Nikos Mavrogiannopoulos - * lib/auth_dh_common.c, lib/auth_dh_common.h, lib/auth_dhe_psk.c, - lib/auth_psk.c, lib/auth_psk.h: Callback function is being called in - both PSK-DHE and PSK. Using the callback function will not - overwrite the credentials, which were wrongly being overwritten - using the retrieved username/key. The credentials structure is now - accessed for reading only, as it should have been. + * lib/gnutls_errors.c, lib/includes/gnutls/gnutls.h.in, + lib/nettle/rnd.c: Added new error code GNUTLS_E_RANDOM_DEVICE_ERROR. -2011-02-09 Nikos Mavrogiannopoulos +2013-01-07 Nikos Mavrogiannopoulos - * configure.ac: bumped version. + * lib/nettle/egd.c: Corrected issue when an EGD device was not + found. Reported by Joshua Phillips. -2011-02-08 Nikos Mavrogiannopoulos +2013-01-06 Nikos Mavrogiannopoulos - * doc/cha-programs.texi: Added documentation on p11tool. + * cfg.mk: Added config rule -2011-02-08 Nikos Mavrogiannopoulos +2013-01-06 Nikos Mavrogiannopoulos - * doc/cha-intro-tls.texi, doc/cha-library.texi, - doc/manpages/gnutls-cli.1, doc/manpages/gnutls-serv.1, - lib/gnutls_priority.c, src/common.c: Moved documentation of priority - strings to manual and removed information from manpages and function - pages that now reference the manual section. + * doc/examples/ex-client-x509.c: doc fix -2011-02-08 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * lib/auth_anon.c, lib/auth_cert.c, lib/auth_cert.h, - lib/auth_dh_common.c, lib/auth_dh_common.h, lib/auth_dhe.c, - lib/auth_dhe_psk.c, lib/auth_psk.c, lib/auth_rsa.c, - lib/auth_rsa_export.c, lib/auth_srp.c, lib/auth_srp.h, - lib/auth_srp_rsa.c, lib/gnutls_auth.h, lib/gnutls_kx.c, - lib/gnutls_str.c, lib/gnutls_str.h: Simplified code in - authentication methods by using gnutls_buffer_st instead of - malloc/realloc. + * lib/x509/pkcs12.c: doc fix -2011-02-08 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c, lib/includes/gnutls/gnutls.h.in: Combined - same functions. + * lib/pkcs11.c: small updates -2011-02-08 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * lib/auth_cert.c, lib/auth_dhe.c, lib/ext_signature.c, - lib/gnutls_algorithms.c, lib/gnutls_algorithms.h: Several updates in - signature algorithms parsing and sending to avoid sending invalid - signature algorithms. + * doc/reference/gnutls-docs.sgml: update -2011-02-08 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: Removed unused debugging code. + * lib/x509/crq.c: simplified naming -2011-02-07 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * lib/nettle/cipher.c: Removed unneeded initialization. + * doc/reference/gnutls-docs.sgml: update -2011-02-07 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * NEWS, doc/cha-auth.texi, doc/cha-programs.texi, lib/Makefile.am, - lib/gnutls_psk_netconf.c, lib/includes/gnutls/compat.h: Removed - gnutls_psk_netconf_derive_key. + * lib/ext/status_request.c, lib/gnutls_dh_primes.c, + lib/gnutls_ui.c, lib/openpgp/pgp.c, lib/openpgp/privkey.c, + lib/pkcs11.c, lib/x509/dn.c, lib/x509/ocsp.c, lib/x509/pkcs12.c, + lib/x509/pkcs7.c, lib/x509/x509.c: Added correct since -2011-02-07 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_cert.c, lib/includes/gnutls/compat.h: Removed - gnutls_certificate_verify_peers. + * doc/latex/gnutls.tex: added babel (not sure why) -2011-02-07 Nikos Mavrogiannopoulos +2013-01-05 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_handshake.c, lib/gnutls_int.h, - lib/gnutls_state.c, lib/includes/gnutls/compat.h: Removed - gnutls_session_set_finished_function(). + * doc/reference/gnutls-docs.sgml: updated for 3.1 -2011-02-07 Nikos Mavrogiannopoulos +2013-01-03 Nikos Mavrogiannopoulos - * lib/gnutls_alert.c, lib/includes/gnutls/gnutls.h.in: Removed - remaining TLS/IA stuff. + * lib/nettle/pk.c: corrected error code -2011-02-07 Nikos Mavrogiannopoulos +2013-01-03 Nikos Mavrogiannopoulos - * src/cli-gaa.c, src/cli-gaa.h, src/cli.gaa, src/serv-gaa.c, - src/serv-gaa.h, src/serv.gaa: Removed more leftovers from opaque PRF - output. + * cross.mk: updated makefile -2011-02-07 Nikos Mavrogiannopoulos +2013-01-03 Nikos Mavrogiannopoulos - * lib/gnutls_record.c: Corrected return message from - check_recv_type(). + * configure.ac: use AC_CONFIG_HEADER. Reported by Marko Lindqvist -2011-02-07 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * lib/nettle/mac.c: Removed upper limit on MAC algorithm key. + * NEWS: documented updates -2011-02-07 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * lib/gnutls_errors.c: improved premature_termination error message + * lib/gnutls_record.c: corrected typo -2011-02-07 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * doc/reference/Makefile.am, lib/libgnutls.map: Removed leftovers - from OPRFI extension. + * lib/libgnutls.map: updated exported function name -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_errors.c, lib/gnutls_record.c, - lib/includes/gnutls/gnutls.h.in: gnutls_recv() returns - GNUTLS_E_PREMATURE_TERMINATION on EOF. + * NEWS: updated -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * src/cli-gaa.c, src/cli-gaa.h, src/cli.c, src/cli.gaa, - src/common.c, src/common.h, src/serv-gaa.c, src/serv-gaa.h, - src/serv.c, src/serv.gaa: Removed deprecated option such as - --protocols, ciphers etc. + * doc/cha-gtls-app.texi, lib/ext/new_record_padding.c, + lib/gnutls_priority.c, lib/includes/gnutls/gnutls.h.in, + tests/mini-record.c: NEW_RECORD_PADDING priority string was renamed + to RANDOM_PADDING -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * NEWS: not untested. + * lib/gnutls_cipher.c: corrected compression. -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * src/benchmark.c: Set correct iv in GCM. + * lib/includes/gnutls/x509.h: removed utf8 chars -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_int.h: Cleanups and moved - definitions to gnutls_int.h. AEAD modes now use the record packet - counter as nonce. + * doc/latex/gnutls.tex: updates in output -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/nettle/cipher.c: Reset GCM mode when setting IV. + * tests/mini-record.c: Added checks for new record padding format. -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_algorithms.c: Added more GCM ciphersuites (DHE-* and - anonymous). + * lib/gnutls_cipher.c, lib/gnutls_record.c: better checks in new + record packets. -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c: updated priorities. Removed ARCFOUR from - the secure ciphersuites and moved GCM to bottom of the ciphers in - performance. + * lib/gnutls_cipher.c, lib/gnutls_int.h, lib/gnutls_record.c: use + padding also if in DTLS. -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * NEWS, lib/crypto-api.c, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/includes/gnutls/crypto.h, - lib/libgnutls.map, src/benchmark.c: Added gnutls_cipher_add_auth() - gnutls_cipher_tag() to export the GCM interface. Updated the - benchmark. + * lib/gnutls_cipher.c, lib/gnutls_cipher.h, lib/gnutls_record.c: + some simplifications -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_cert.c: removed - gnutls_certificate_get_openpgp_keyring(). + * lib/gnutls_dtls.c: use new_record_padding in DTLS data mtu + calculation -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_hash_int.c: minor optimizations. + * lib/gnutls_cipher.c, lib/gnutls_cipher.h, lib/gnutls_record.c: + simplified decryption -2011-02-07 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h: inlined several small - functions. + * lib/ext/new_record_padding.c: removed debugging -2011-02-07 Nikos Mavrogiannopoulos +2012-12-18 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/gnutls_handshake.c, - lib/gnutls_hash_int.c, lib/gnutls_hash_int.h, lib/gnutls_sig.c: - Better error checking on SSL3. + * lib/debug.c, lib/debug.h, lib/ext/Makefile.am, + lib/ext/new_record_padding.c, lib/ext/new_record_padding.h, + lib/gnutls_cipher.c, lib/gnutls_extensions.c, + lib/gnutls_extensions.h, lib/gnutls_handshake.c, lib/gnutls_int.h, + lib/gnutls_priority.c, lib/gnutls_record.c, + lib/gnutls_session_pack.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map: Added a new record padding mechanism. It is negotiated via an extension and record data are now formatted + as: ciphered-struct { opaque pad<0..2^16-1> opaque content[TLSCompressed.length]; opaque MAC[CipherSpec.hash_size]; } The ciphered-struct size is + always 0 modulo the block size in block ciphers to avoid any need + for additional padding. Added extension to negotiate new record padding. -2011-02-07 Nikos Mavrogiannopoulos +2012-12-27 Nikos Mavrogiannopoulos - * lib/gnutls_cipher.c: calculation for c_length occurs in a single - place. + * .gitignore, tests/Makefile.am, tests/mini-dtls-record.c: Added + test for duplicate packet detection in DTLS. -2011-02-06 Nikos Mavrogiannopoulos +2012-12-27 Nikos Mavrogiannopoulos - * NEWS: unstable -> untested. + * lib/gnutls_dtls.c, lib/gnutls_int.h: Simplified DTLS sliding + window implementation. -2011-02-06 Nikos Mavrogiannopoulos +2012-12-27 Nikos Mavrogiannopoulos - * lib/nettle/mac.c: Increase the maximum HMAC key to account for - anonymous ciphersuites. + * lib/gnutls_record.c: Termination when expecting an alert is + handled gracefully in DTLS. -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * lib/gnutls_hash_int.c: check the error of hash set_key. + * NEWS: living in the past -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * lib/gnutls_kx.c: do not use strlen for fixed string. + * NEWS, m4/hooks.m4: bumped library version -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * NEWS: updated NEWS on GCM mode. + * NEWS: updated news -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * lib/nettle/cipher.c: Use nettle's new API for GCM. + * doc/cha-library.texi, doc/cha-tokens.texi, lib/Makefile.am, + lib/tpm.c: If trousers is not present define the TPM functions but + have them return GNUTLS_E_UNIMPLEMENTED_FEATURE. -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * src/cli.c: removed old comment + * configure.ac: tpm support is disabled by default -2011-02-06 Nikos Mavrogiannopoulos +2013-01-02 Nikos Mavrogiannopoulos - * NEWS, doc/Makefile.am, doc/cha-functions.texi, - doc/cha-gtls-app.texi, doc/examples/Makefile.am, - doc/examples/ex-client-tlsia.c, lib/gnutls_kx.c, - libextra/Makefile.am, libextra/ext_inner_application.c, - libextra/ext_inner_application.h, libextra/gnutls_extra.c, - libextra/gnutls_ia.c, libextra/libgnutls-extra.map, - tests/Makefile.am, tests/tlsia.c: Removed inner application - extension. + * doc/TODO: updated -2011-02-06 Nikos Mavrogiannopoulos +2013-01-01 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in: - gnutls_certificate_verify_peers is deprecated. + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi, + doc/manpages/tpmtool.1: updated autogen'ed files. -2011-02-04 Nikos Mavrogiannopoulos +2012-12-31 Nikos Mavrogiannopoulos - * lib/gcrypt/mac.c, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_cipher.c, lib/gnutls_cipher.h, - lib/gnutls_cipher_int.c, lib/gnutls_cipher_int.h, - lib/gnutls_constate.c, lib/gnutls_hash_int.c, - lib/gnutls_hash_int.h, lib/gnutls_int.h, lib/gnutls_priority.c, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, - lib/m4/hooks.m4, lib/nettle/cipher.c, lib/nettle/mac.c: Added - support for GCM ciphersuites (not tested with other implementation). + * doc/cha-auth.texi, doc/cha-tokens.texi, doc/latex/Makefile.am, + doc/latex/gnutls.tex: doc updates -2011-02-05 Nikos Mavrogiannopoulos +2012-12-31 Nikos Mavrogiannopoulos - * lib/gnutls_int.h: Added missing definitions (GNUTLS_MASTER_SIZE - etc). + * libdane/dane-params.c, libdane/dane.c: KU Leuven copyright stuff + is LGPL version 2.1 or later -2011-02-05 Nikos Mavrogiannopoulos +2012-12-29 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_state.c, lib/includes/gnutls/compat.h: Removed: - gnutls_session_get_server_random, gnutls_session_get_client_random, - gnutls_session_get_master_secret + * THANKS: updated thanks file -2011-02-05 Nikos Mavrogiannopoulos +2012-12-29 Nikos Mavrogiannopoulos - * lib/build-aux/config.rpath, tests/suite/Makefile.in: updated. + * README-alpha: updated git2cl link -2011-02-05 Nikos Mavrogiannopoulos +2012-12-29 Nikos Mavrogiannopoulos - * lib/Makefile.am, lib/gnutls.pc.in, lib/m4/hooks.m4: Add the nettle - libs into gnutls.pc. + * doc/cha-auth.texi: corrected typos -2011-02-05 Nikos Mavrogiannopoulos +2012-12-29 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_cert.c, lib/gnutls_extensions.c, - lib/includes/gnutls/compat.h, lib/m4/hooks.m4: Removed functions: - gnutls_ext_register, gnutls_certificate_get_x509_crls, - gnutls_certificate_get_x509_cas and bumped library version number. + * doc/cha-auth.texi: updated in auth chapter -2011-02-05 Andreas Metzler +2012-12-29 Nikos Mavrogiannopoulos - * lib/configure.ac, lib/gnutls.pc.in, lib/m4/hooks.m4: [PATCH 1/4] - adapt pkg-config file for switch from AM_PATH_LIBGCRYPT to - AC_LIB_HAVE_LINKFLAGS [PATCH 2/4] pkg-config: Move libtasn1 from - Libs.private to Requires.private since libtasn1 provides a .pc file. - [PATCH 3/4] pkg-config: drop @LIBGNUTLS_LIBS@ from Libs.private. - This library only contains gnutls itself nowadays, which is in Libs - already. [PATCH 4/4] pkg-config: If gnutls is built with zlib - support list zlib in Requires.private. + * doc/Makefile.am, doc/cha-auth.texi, doc/cha-cert-auth.texi, + doc/cha-cert-auth2.texi, doc/cha-shared-key.texi, doc/gnutls.texi, + doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi: Reorganization of + the authentication chapter. -2011-02-04 Simon Josefsson +2012-12-29 Nikos Mavrogiannopoulos - * doc/cha-ciphersuites.texi, doc/signatures.texi: Fix MD2 - documentation. Suggested by "brian m. carlson" in - debian bug #464625. + * doc/cha-auth.texi, doc/gnutls.texi: Added authentication methods + chapter -2011-02-02 Nikos Mavrogiannopoulos +2012-12-28 Nikos Mavrogiannopoulos - * doc/README.CODING_STYLE: updated coding style. + * doc/examples/ex-client-anon.c, doc/examples/ex-client-dtls.c, + doc/examples/ex-client-psk.c, doc/examples/ex-client-resume.c, + doc/examples/ex-client-x509.c, doc/examples/ex-serv-anon.c, + doc/examples/ex-serv-dtls.c, doc/examples/ex-serv-pgp.c, + doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, + doc/examples/ex-serv-x509.c: better code in client and server + examples -2011-02-02 Nikos Mavrogiannopoulos +2012-12-28 Nikos Mavrogiannopoulos - * NEWS: documented gnutls_session_get_* deprecated functions. + * NEWS, lib/nettle/pk.c: made PKCS#1 1.5 encoding and decoding + stricter. Reported by Kikuchi Masashi. -2011-02-02 Nikos Mavrogiannopoulos +2012-12-28 Nikos Mavrogiannopoulos - * tests/x509paths/README: updated README on certificate - verifications that fail. + * lib/gnutls_record.c: corrected typo -2011-02-02 Nikos Mavrogiannopoulos +2012-12-27 Nikos Mavrogiannopoulos - * NEWS, src/certtool-common.h, src/certtool-gaa.c, - src/certtool-gaa.h, src/certtool.c, src/certtool.gaa: Added new - functionality to certtool, and can verify certificates against a - list of CAs using the --verify option. + * lib/gnutls_record.c: Termination when expecting an alert is + handled gracefully in DTLS. -2011-02-02 Nikos Mavrogiannopoulos +2012-12-27 Nikos Mavrogiannopoulos - * lib/x509/verify.c, tests/chainverify.c: Time checks were moved to - _gnutls_verify_certificate2(). This allows for straightforward - chain verification, and thus better printing of the chain output, - although some checks might be performed in duplicate. As a - side-effect better errors are returned (or precisely more - combinations of verification errors), thus chainverify test was - affected. + * NEWS, lib/ext/heartbeat.c: Improvements in heartbeat handling. -2011-02-02 Nikos Mavrogiannopoulos +2012-12-21 Nikos Mavrogiannopoulos - * lib/x509/verify-high.c: Set memory to zero on allocation. + * doc/examples/ex-serv-anon.c, doc/examples/ex-serv-dtls.c, + doc/examples/ex-serv-pgp.c, doc/examples/ex-serv-psk.c, + doc/examples/ex-serv-srp.c, doc/examples/ex-serv-x509.c: drop + unecessary function in examples -2011-02-02 Nikos Mavrogiannopoulos +2012-12-20 Martin Storsjo - * doc/cha-gtls-app.texi: fix in contents. + * lib/ext/srtp.c: Don't match further SRTP profiles after one match + has been found This makes SRTP profile matching more straightforward and intuitive, + when the first matching SRTP profile will be the one selected, not + the last one as before. Signed-off-by: Nikos Mavrogiannopoulos -2011-02-02 Nikos Mavrogiannopoulos +2012-12-20 Martin Storsjo - * doc/examples/examples.h: prototype fix. + * lib/crypto-api.c: Fix the parameter name to gnutls_key_generate Signed-off-by: Nikos Mavrogiannopoulos -2011-02-02 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * doc/examples/ex-verify.c, lib/gnutls_cert.c, - lib/includes/gnutls/x509.h, lib/x509/verify-high.c, src/certtool.c: - gnutls_x509_trust_list_init() has an extra argument that allows - fine-tuning of the used memory. + * README: updated -2011-02-01 Nikos Mavrogiannopoulos +2012-12-19 Nikos Mavrogiannopoulos - * doc/cha-bib.texi: Updated references of rfc5081 to rfc6091. + * tests/suite/testcompat: corrected datefudge test -2011-02-01 Nikos Mavrogiannopoulos +2012-12-18 Martin Storsjo - * doc/cha-cert-auth.texi, doc/cha-gtls-app.texi, - doc/examples/ex-verify.c: Documented the new verification functions. + * lib/system_override.c: Fix docs for + gnutls_transport_set_pull_timeout_function The timeout function returns int, not ssize_t. Signed-off-by: Nikos Mavrogiannopoulos -2011-01-31 Nikos Mavrogiannopoulos +2012-12-16 Nikos Mavrogiannopoulos - * src/certtool.c, tests/sha2/sha2: Modified output to not confuse - earlier scripts. + * lib/x509/x509_write.c: doc update -2011-01-31 Nikos Mavrogiannopoulos +2012-12-16 Nikos Mavrogiannopoulos - * lib/x509/verify.c: Better output when removing certificates from - list. + * configure.ac: bumped version -2011-01-31 Nikos Mavrogiannopoulos +2012-12-16 Nikos Mavrogiannopoulos - * tests/pkcs1-padding/pkcs1-pad: Modified to work on new certtool -e - output. + * tests/suite/mini-eagain2.c: added config.h -2011-01-31 Nikos Mavrogiannopoulos +2012-12-16 Nikos Mavrogiannopoulos - * NEWS, doc/examples/ex-verify.c, lib/auth_cert.h, - lib/gnutls_cert.c, lib/gnutls_x509.c, lib/includes/gnutls/compat.h, - lib/includes/gnutls/gnutls.h.in, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/x509/crl.c, lib/x509/x509.c, src/certtool.c, - tests/certificate_set_x509_crl.c: The internal subsystem uses the - new certificate verification functions. This has the side effect of - deprecating gnutls_certificate_get_x509_crls() and - gnutls_certificate_get_x509_cas() that can no longer operation since - they relied on internal structures. + * configure.ac: corrected wording -2011-01-31 Nikos Mavrogiannopoulos +2012-12-16 Nikos Mavrogiannopoulos - * NEWS, doc/cha-gtls-app.texi, doc/examples/ex-verify.c, - lib/Makefile.am, lib/hash.c, lib/hash.h, - lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/x509/Makefile.am, lib/x509/crl.c, lib/x509/verify-high.c, - lib/x509/verify.c, lib/x509/x509.c, lib/x509/x509_int.h, - src/certtool.c: Added a new API to verify certificates. It is more - efficient and can be used to get details about the verification - procedure. + * build-aux/snippet/warn-on-use.h, gl/Makefile.am, gl/base64.c, + gl/error.c, gl/fstat.c, gl/getaddrinfo.c, gl/m4/base64.m4, + gl/m4/error.m4, gl/m4/extern-inline.m4, gl/m4/fstat.m4, + gl/m4/ftruncate.m4, gl/m4/getaddrinfo.m4, gl/m4/gnulib-comp.m4, + gl/m4/lock.m4, gl/m4/lstat.m4, gl/m4/math_h.m4, gl/m4/open.m4, + gl/m4/stat.m4, gl/m4/stdio_h.m4, gl/m4/sys_socket_h.m4, + gl/m4/sys_stat_h.m4, gl/m4/unistd_h.m4, gl/m4/vasnprintf.m4, + gl/math.c, gl/math.in.h, gl/stdio.c, gl/stdio.in.h, + gl/sys_socket.c, gl/sys_socket.in.h, gl/sys_stat.in.h, + gl/tests/ftruncate.c, gl/tests/glthread/lock.c, gl/tests/lstat.c, + gl/tests/open.c, gl/tests/stat.c, gl/unistd.c, gl/unistd.in.h, + gl/vasnprintf.c, maint.mk: updated gnulib -2011-01-31 Nikos Mavrogiannopoulos +2012-12-15 Nikos Mavrogiannopoulos - * tests/x509paths/chain: better output in chain output. + * tests/suite/Makefile.am: corrected test -2011-01-30 Nikos Mavrogiannopoulos +2012-12-15 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/x509.h, lib/x509/crl.c, - lib/x509/verify.c, lib/x509/x509.c: exported - gnutls_x509_crl_get_raw_issuer_dn() + * doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h: certtool + --generate-request option conflicts with --infile. Suggested by + Daniel Black. -2011-01-30 Nikos Mavrogiannopoulos +2012-12-12 Nikos Mavrogiannopoulos - * lib/x509/x509.c: corrected typos + * NEWS: doc fix -2011-01-19 Nikos Mavrogiannopoulos +2012-12-12 Nikos Mavrogiannopoulos - * lib/pakchois/pakchois.c: CKR_CRYPTOKI_ALREADY_INITIALIZED is not - treated as an error, and Finalize is not called in that case. + * doc/Makefile.am, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-psktool.texi, doc/invoke-srptool.texi, + doc/invoke-tpmtool.texi, doc/manpages/Makefile.am, + doc/manpages/tpmtool.1: use ECHO_N -2011-01-16 Nikos Mavrogiannopoulos +2012-12-12 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_privkey.c, lib/includes/gnutls/compat.h, - lib/openpgp/privkey.c: Reverted removal of - gnutls_openpgp_privkey_sign_hash() to retain compatibility with - 2.10.x. That function is now deprecated instead. + * tests/suite/Makefile.am: do not build ecore in macosx -2011-01-16 Nikos Mavrogiannopoulos +2012-12-06 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: Added checks before importing keys and - updated documentation. + * README, README-alpha: updated urls -2011-01-15 Nikos Mavrogiannopoulos +2012-12-06 Nikos Mavrogiannopoulos - * tests/suite/Makefile.in: updated Makefile.in + * doc/gnutls.texi, doc/latex/cover-epub.tex, doc/latex/cover.tex, + lib/gnutls_privkey.c, lib/x509/crq.c, lib/x509/pkcs12.c, + tests/pkcs12_simple.c: corrected copyright notices -2011-01-15 Nikos Mavrogiannopoulos +2012-11-29 Nikos Mavrogiannopoulos - * doc/examples/ex-crq.c, lib/configure.ac, - lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/x509.h, src/certtool.c, tests/crq_key_id.c: - fixes in internal build with the new deprecated functions. We allow - them to be used since they are inter-dependent. + * doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h: updated documentation. -2011-01-15 Nikos Mavrogiannopoulos +2012-11-28 Nikos Mavrogiannopoulos - * lib/x509/x509_int.h: replaced old gnutls_pk_algorithm. + * lib/x509/common.c: _gnutls_strdatum_to_buf() will account for NULL + input. -2011-01-15 Nikos Mavrogiannopoulos +2012-11-28 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h: depends on gnutls/x509.h to compile. + * lib/x509/output.c: allow GNUTLS_E_SHORT_MEMORY_BUFFER in + gnutls_x509_crq_get_challenge_password -2011-01-15 Nikos Mavrogiannopoulos +2012-12-05 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/x509/crl_write.c: deprecated gnutls_x509_crl_sign(), - gnutls_x509_crl_sign2() and - gnutls_x509_crq_get_preferred_hash_algorithm(). + * lib/x509/crq.c: doc update -2011-01-15 Nikos Mavrogiannopoulos +2012-11-28 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/x509/crq.c: Deprecated gnutls_x509_crq_sign2() and - gnutls_x509_crq_sign() in favor for gnutls_x509_crq_privkey_sign(). + * doc/invoke-p11tool.texi, src/p11tool-args.c, + src/p11tool-args.def, src/p11tool-args.h: updated documentation -2011-01-15 Nikos Mavrogiannopoulos +2012-12-03 Nikos Mavrogiannopoulos - * NEWS, lib/libgnutls.map: minor fixes. + * lib/gnutls_privkey.c, lib/x509/pkcs12.c, lib/x509/privkey.c, + tests/key-openssl.c, tests/pkcs12_simple.c: Import PKCS #12 keys -2011-01-15 Nikos Mavrogiannopoulos +2012-12-04 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/libgnutls.map, lib/x509/privkey.c, lib/x509/x509.c, - src/certtool.c, tests/cve-2009-1415.c, tests/x509sign-verify.c: - gnutls_x509_crt_verify_hash: DEPRECATED gnutls_x509_crt_verify_data: - DEPRECATED gnutls_x509_crt_get_verify_algorithm: DEPRECATED - gnutls_x509_crt_get_preferred_hash_algorithm: DEPRECATED Removed the - new gnutls_x509_privkey_sign_data2() and - gnutls_x509_privkey_sign_hash2(). That functionality will be only in the abstract.h pubkey and privkey - structures, to avoid duplication for every certificate type. + * NEWS: document fix -2011-01-15 Nikos Mavrogiannopoulos +2012-12-04 Nikos Mavrogiannopoulos - * src/serv.c: Simplified macro to snprintf() in order to prevent - issues caused when snprintf() is a macro itself. Reported and - initial patch by Camillo Lugaresi. + * lib/gnutls_cipher.c: Corrected bugs in record parsing. Corrected bugs in record padding parsing. Reported by Kenny + Patterson and Nadhem Alfardan. -2011-01-11 Nikos Mavrogiannopoulos +2012-12-01 Nikos Mavrogiannopoulos - * tests/suite/Makefile.in: Revert "Remove, it is generated." This reverts commit de3a601e502b24f047412a161085f7fbd898b3f3 because - this file is not automatically generated (not included in top - Makefile.am). + * NEWS: documented fixes -2011-01-02 Simon Josefsson +2012-11-30 Nikos Mavrogiannopoulos - * lib/m4/hooks.m4: Specify minimum libgcrypt version. + * lib/ext/srtp.c, lib/ext/srtp.h: corrected copyright -2010-12-23 Nikos Mavrogiannopoulos +2012-12-01 Ludovic Courtès - * doc/cha-internals.texi: Added discussion on crypto backend for - crypto libraries and /dev/crypto. + * guile/src/Makefile.am: guile: Fix dependencies to be + parallel-safe. -2010-12-21 Nikos Mavrogiannopoulos +2012-11-28 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_privkey.c, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/x509/crq.c, lib/x509/privkey.c, lib/x509/sign.c: Renamed - gnutls_privkey_sign_data() to gnutls_privkey_sign_data2() to match - the similar function gnutls_x509_privkey_sign_data2(). - gnutls_x509_privkey_sign_data() was deprecated. + * doc/cha-cert-auth.texi: Revert "do not document low-level + functions" This reverts commit 7b334d581007ba4a91837edb1e0081959f32e363. -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * lib/gnutls_str.c: Extra sanity check. + * README: mention dependencies in readme -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * lib/auth_srp_passwd.c: Use snprintf() to print an integer. + * cfg.mk: update @VERSION@ -> actual version on the web manual -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * lib/x509/output.c: Use snprintf() to print IPs. There was a check - just before that, but be safe, just in case. + * doc/cha-cert-auth.texi: doc update -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * doc/cha-auth.texi: Use SRP for password authentication. + * cfg.mk: simplified generation of documentation -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, lib/gnutls_cert.c, lib/gnutls_extensions.c, - lib/gnutls_psk_netconf.c, lib/gnutls_state.c, - lib/includes/gnutls/compat.h, lib/x509/privkey.c: Do not include - deprecated functions to library documentation. + * doc/cha-gtls-app.texi: mention gnutls_sec_param_get_name -2010-12-19 Nikos Mavrogiannopoulos +2012-11-27 Nikos Mavrogiannopoulos - * NEWS, lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h, - lib/x509/privkey.c: gnutls_x509_privkey_verify_data() was - deprecated. + * doc/cha-crypto.texi, lib/gnutls_ui.c: doc updates -2010-12-19 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: Documented key usage of pubkey. + * src/socket.c: corrected socket loop. Based on patch by Mantas + Mikulenas. -2010-12-19 Nikos Mavrogiannopoulos +2012-11-26 Simon Josefsson - * lib/gnutls_pubkey.c: Set public key bits on all import functions. - Issue reported by Murray Kucheawy. + * lib/minitasn1/coding.c, lib/minitasn1/decoding.c, + lib/minitasn1/element.c, lib/minitasn1/int.h, + lib/minitasn1/libtasn1.h, lib/minitasn1/parser_aux.c, + lib/minitasn1/parser_aux.h, lib/minitasn1/structure.c: Update + minitasn1 to version 3.1. -2010-12-19 Nikos Mavrogiannopoulos +2012-11-26 Simon Josefsson - * NEWS, lib/gnutls_privkey.c, lib/includes/gnutls/pkcs11.h, - lib/pkcs11_int.h, lib/pkcs11_privkey.c: - gnutls_pkcs11_privkey_sign_data(), - gnutls_pkcs11_privkey_sign_hash2() and - gnutls_pkcs11_privkey_decrypt_data() were removed. The abstract.h - functions should be used instead. + * .gitignore, build-aux/snippet/unused-parameter.h, + doc/gendocs_template, maint.mk: Update gnulib tools. Add missing + unused-parameter.h template. -2010-12-19 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_privkey.c, lib/includes/gnutls/openpgp.h, - lib/openpgp/gnutls_openpgp.h, lib/openpgp/pgp.c, - lib/openpgp/privkey.c: Removed the newly added functions: - gnutls_openpgp_privkey_sign_hash2(), - gnutls_openpgp_privkey_sign_data2(), - gnutls_openpgp_crt_verify_hash() That way the operations in - abstract.h should be used to get the same functionality, and API - will be kept simple and easier to maintain. The corresponding - gnutls_x509_* are kept for backwards compatibility. + * NEWS: updated -2010-12-18 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: Do not be strict on RSA hash algorithm selection - for signatures. + * src/cli.c, src/ocsptool-common.c, src/socket.c, src/socket.h: + gnutls-cli will try to cannot to all possible returned addresses. -2010-12-18 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_cert.h, lib/gnutls_sig.c, lib/gnutls_x509.c: Removed - unneeded definitions, and more careful deinitializations in - parse_der_cert_mem(). + * doc/TODO: updated todo list -2010-12-18 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * tests/pathlen/ca-no-pathlen.pem, - tests/pathlen/no-ca-or-pathlen.pem: updated certificates to account - for extra null byte added in negative numbers. + * NEWS, lib/x509/x509.c: gnutls_x509_crt_get_policy() allows for a + list of zero policy qualifiers. -2010-12-18 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * tests/cve-2009-1415.c: Account for GNUTLS_E_PK_SIG_VERIFY_FAILED. + * src/libopts/usage.c: Added hack to print the parameters correctly + in windows. -2010-12-18 Nikos Mavrogiannopoulos +2012-11-26 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c: Corrected bug in gnutls_privkey_sign_data(). + * lib/x509/x509.c: updated -2010-12-18 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * lib/gnutls_sig.c: some fixes in pk_prepare_hash(). + * tests/cert-tests/template-test: repeat the tests to avoid + accidental failures -2010-12-18 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_pubkey.c, lib/openpgp/pgp.c, lib/x509/privkey.c, - lib/x509/verify.c, lib/x509/x509.c, tests/x509sign-verify.c: The - verification functions now return a GNUTLS_E_PK_SIG_VERIFY_FAILED on - signature verification error. + * lib/x509/dn.c: LDAP string escaping was made stricter (rfc4514 + conforming) -2010-12-18 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * src/p11tool-gaa.c, src/p11tool.gaa: The default input format for - p11tool is PEM. + * lib/pkix.asn, lib/pkix_asn1_tab.c: removed unneeded types. -2010-12-16 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c: importing a pubkey from raw params will set - the bits field correctly. + * lib/x509/common.c: UniversalString (UTF-32) is handled as + non-printable for now. -2010-12-16 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * NEWS: Documented the addtion of gnutls_pubkey_import_privkey() and - gnutls_pubkey_verify_data() + * doc/TODO: updated todo list -2010-12-16 Nikos Mavrogiannopoulos +2012-11-25 Nikos Mavrogiannopoulos - * lib/gnutls_pubkey.c, lib/includes/gnutls/abstract.h, - lib/libgnutls.map, lib/x509/verify.c, tests/x509sign-verify.c: Added - gnutls_pubkey_verify_data and test vectors. + * lib/x509/common.c: Allow for bit strings that are not a multiple + of 8. -2010-12-16 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * doc/errcodes.c, doc/examples/ex-alert.c, - doc/examples/ex-cert-select-pkcs11.c, - doc/examples/ex-cert-select.c, doc/examples/ex-client-psk.c, - doc/examples/ex-client-resume.c, doc/examples/ex-client-srp.c, - doc/examples/ex-client-tlsia.c, doc/examples/ex-client1.c, - doc/examples/ex-client2.c, doc/examples/ex-crq.c, - doc/examples/ex-pkcs12.c, doc/examples/ex-rfc2818.c, - doc/examples/ex-serv-anon.c, doc/examples/ex-serv-pgp.c, - doc/examples/ex-serv-psk.c, doc/examples/ex-serv-srp.c, - doc/examples/ex-serv1.c, doc/examples/ex-session-info.c, - doc/examples/ex-verify.c, doc/examples/ex-x509-info.c, - doc/examples/examples.h, doc/examples/tcp.c, doc/printlist.c, - guile/src/core.c, guile/src/extra.c, guile/src/utils.h, - lib/abstract_int.h, lib/auth_anon.c, lib/auth_cert.c, - lib/auth_cert.h, lib/auth_dh_common.c, lib/auth_dh_common.h, - lib/auth_dhe.c, lib/auth_dhe_psk.c, lib/auth_psk.c, - lib/auth_psk_passwd.c, lib/auth_psk_passwd.h, lib/auth_rsa.c, - lib/auth_rsa_export.c, lib/auth_srp.c, lib/auth_srp.h, - lib/auth_srp_passwd.c, lib/auth_srp_passwd.h, lib/auth_srp_rsa.c, - lib/auth_srp_sb64.c, lib/crypto-api.c, lib/crypto.c, lib/crypto.h, - lib/cryptodev.c, lib/debug.c, lib/ext_cert_type.c, - lib/ext_max_record.c, lib/ext_safe_renegotiation.c, - lib/ext_safe_renegotiation.h, lib/ext_server_name.c, - lib/ext_session_ticket.c, lib/ext_signature.c, lib/ext_signature.h, - lib/ext_srp.c, lib/gcrypt/cipher.c, lib/gcrypt/init.c, - lib/gcrypt/mac.c, lib/gcrypt/mpi.c, lib/gcrypt/pk.c, - lib/gnutls_alert.c, lib/gnutls_algorithms.c, - lib/gnutls_algorithms.h, lib/gnutls_anon_cred.c, lib/gnutls_auth.c, - lib/gnutls_auth.h, lib/gnutls_buffers.c, lib/gnutls_buffers.h, - lib/gnutls_cert.c, lib/gnutls_cert.h, lib/gnutls_cipher.c, - lib/gnutls_cipher.h, lib/gnutls_cipher_int.c, - lib/gnutls_cipher_int.h, lib/gnutls_compress.c, - lib/gnutls_compress.h, lib/gnutls_constate.c, - lib/gnutls_constate.h, lib/gnutls_datum.c, lib/gnutls_datum.h, - lib/gnutls_db.c, lib/gnutls_db.h, lib/gnutls_dh.c, lib/gnutls_dh.h, - lib/gnutls_dh_primes.c, lib/gnutls_errors.c, - lib/gnutls_extensions.c, lib/gnutls_extensions.h, - lib/gnutls_global.c, lib/gnutls_handshake.c, - lib/gnutls_handshake.h, lib/gnutls_hash_int.c, - lib/gnutls_hash_int.h, lib/gnutls_int.h, lib/gnutls_kx.c, - lib/gnutls_kx.h, lib/gnutls_mbuffers.c, lib/gnutls_mbuffers.h, - lib/gnutls_mem.h, lib/gnutls_mpi.c, lib/gnutls_mpi.h, - lib/gnutls_num.c, lib/gnutls_pk.c, lib/gnutls_pk.h, - lib/gnutls_priority.c, lib/gnutls_privkey.c, lib/gnutls_psk.c, - lib/gnutls_psk_netconf.c, lib/gnutls_pubkey.c, lib/gnutls_record.c, - lib/gnutls_record.h, lib/gnutls_rsa_export.c, lib/gnutls_session.c, - lib/gnutls_session_pack.c, lib/gnutls_session_pack.h, - lib/gnutls_sig.c, lib/gnutls_sig.h, lib/gnutls_srp.c, - lib/gnutls_srp.h, lib/gnutls_state.c, lib/gnutls_state.h, - lib/gnutls_str.c, lib/gnutls_str.h, lib/gnutls_supplemental.c, - lib/gnutls_supplemental.h, lib/gnutls_ui.c, lib/gnutls_v2_compat.c, - lib/gnutls_v2_compat.h, lib/gnutls_x509.c, lib/gnutls_x509.h, - lib/includes/gnutls/abstract.h, lib/includes/gnutls/compat.h, - lib/includes/gnutls/crypto.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/gnutlsxx.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs11.h, lib/includes/gnutls/pkcs12.h, - lib/includes/gnutls/x509.h, lib/locks.c, lib/nettle/cipher.c, - lib/nettle/egd.c, lib/nettle/mpi.c, lib/nettle/pk.c, - lib/nettle/rnd.c, lib/opencdk/armor.c, lib/opencdk/context.h, - lib/opencdk/dummy.c, lib/opencdk/filters.h, lib/opencdk/hash.c, - lib/opencdk/kbnode.c, lib/opencdk/keydb.c, lib/opencdk/keydb.h, - lib/opencdk/literal.c, lib/opencdk/main.c, lib/opencdk/main.h, - lib/opencdk/misc.c, lib/opencdk/new-packet.c, - lib/opencdk/opencdk.h, lib/opencdk/packet.h, lib/opencdk/pubkey.c, - lib/opencdk/read-packet.c, lib/opencdk/seskey.c, - lib/opencdk/sig-check.c, lib/opencdk/stream.c, - lib/opencdk/stream.h, lib/opencdk/verify.c, - lib/opencdk/write-packet.c, lib/openpgp/compat.c, - lib/openpgp/extras.c, lib/openpgp/gnutls_openpgp.c, - lib/openpgp/gnutls_openpgp.h, lib/openpgp/openpgp_int.h, - lib/openpgp/output.c, lib/openpgp/pgp.c, lib/openpgp/pgpverify.c, - lib/openpgp/privkey.c, lib/pakchois/pakchois.c, - lib/pakchois/pakchois.h, lib/pakchois/pakchois11.h, lib/pkcs11.c, - lib/pkcs11_int.h, lib/pkcs11_privkey.c, lib/pkcs11_secret.c, - lib/pkcs11_write.c, lib/random.c, lib/system.c, lib/system.h, - lib/x509/common.c, lib/x509/common.h, lib/x509/crl.c, - lib/x509/crl_write.c, lib/x509/crq.c, lib/x509/dn.c, - lib/x509/extensions.c, lib/x509/mpi.c, lib/x509/output.c, - lib/x509/pbkdf2-sha1.c, lib/x509/pbkdf2-sha1.h, lib/x509/pkcs12.c, - lib/x509/pkcs12_bag.c, lib/x509/pkcs12_encr.c, lib/x509/pkcs7.c, - lib/x509/privkey.c, lib/x509/privkey_pkcs8.c, - lib/x509/rfc2818_hostname.c, lib/x509/sign.c, lib/x509/verify.c, - lib/x509/x509.c, lib/x509/x509_int.h, lib/x509/x509_write.c, - lib/x509_b64.c, lib/x509_b64.h, libextra/ext_inner_application.c, - libextra/ext_inner_application.h, libextra/gnutls_extra.c, - libextra/gnutls_ia.c, libextra/gnutls_openssl.c, - libextra/includes/gnutls/extra.h, - libextra/includes/gnutls/openssl.h, libextra/openssl_compat.c, - libextra/openssl_compat.h, maint.mk, src/benchmark.c, - src/certtool-cfg.c, src/certtool-cfg.h, src/certtool-common.c, - src/certtool-common.h, src/certtool.c, src/cli.c, src/common.c, - src/common.h, src/crypt.c, src/p11tool.c, src/p11tool.h, - src/pkcs11.c, src/prime.c, src/psk.c, src/serv.c, src/tests.c, - src/tests.h, src/tls_test.c, tests/anonself.c, - tests/certificate_set_x509_crl.c, tests/chainverify.c, - tests/crq_apis.c, tests/crq_key_id.c, tests/cve-2008-4989.c, - tests/dhepskself.c, tests/dn.c, tests/dn2.c, tests/gc.c, - tests/mini-eagain.c, tests/mini-x509-rehandshake.c, - tests/mini-x509.c, tests/mini.c, tests/mpi.c, - tests/nul-in-x509-names.c, tests/openpgp-auth.c, - tests/openpgp-keyring.c, tests/openpgp_test.c, tests/openpgpself.c, - tests/openssl.c, tests/pgps2kgnu.c, tests/pkcs12_encode.c, - tests/pkcs12_s2k.c, tests/pkcs12_s2k_pem.c, tests/pskself.c, - tests/resume.c, tests/safe-renegotiation/srn0.c, - tests/safe-renegotiation/srn1.c, tests/safe-renegotiation/srn2.c, - tests/safe-renegotiation/srn3.c, tests/safe-renegotiation/srn4.c, - tests/safe-renegotiation/srn5.c, tests/set_pkcs12_cred.c, - tests/simple.c, tests/tlsia.c, tests/utils.c, tests/utils.h, - tests/x509_altname.c, tests/x509_test.c, tests/x509dn.c, - tests/x509self.c, tests/x509sign-verify.c: Indented code. Use same - indentation but with -nut to avoid usage of tabs. In several editors - tabs can be configured not to be 8 spaces and this produces - artifacts with the current indentation that is a mixture of tabs and - spaces. - -2010-12-16 Nikos Mavrogiannopoulos - - * lib/gnutls_privkey.c: _gnutls_privkey_get_public_mpis() handles - openpgp keys. - -2010-12-16 Nikos Mavrogiannopoulos - - * lib/abstract_int.h, lib/gnutls_privkey.c, lib/gnutls_pubkey.c, - lib/includes/gnutls/abstract.h, lib/libgnutls.map: Added - gnutls_pubkey_import_privkey(), that will copy the public key from a - gnutls_privkey_t structure. + * NEWS, cross.mk: updated -2010-12-15 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * NEWS, lib/libgnutls.map: Do not export the non-existant symbols - gnutls_pkcs11_privkey_sign_hash and gnutls_privkey_sign_hash. + * m4/hooks.m4: require libtasn1 3.1 or later -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * NEWS: documented new functions + * lib/gnutls_asn1_tab.c, lib/pkix_asn1_tab.c, lib/tpm.c, + lib/x509/common.c, lib/x509/common.h, lib/x509/crl.c, + lib/x509/crq.c, lib/x509/dn.c, lib/x509/extensions.c, + lib/x509/mpi.c, lib/x509/ocsp.c, lib/x509/pkcs12.c, + lib/x509/pkcs12_bag.c, lib/x509/privkey.c, lib/x509/x509.c, + lib/x509/x509_int.h, lib/x509/x509_write.c, tests/crq_apis.c, + tests/set_pkcs12_cred.c: rewritten ASN.1 handling string subsystems + to use the new libtasn1 APIs. -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * NEWS: Added new functions. + * NEWS: released 3.1.5 -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * lib/libgnutls.map: Added new functions. + * .gitignore: more files to ignore -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h: - de-deprecated gnutls_x509_crt_verify_hash() + * lib/x509/common.c: corrected placeOfBirth DN parsing. -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * lib/includes/gnutls/openpgp.h, lib/libgnutls.map, - lib/openpgp/pgp.c, tests/x509sign-verify.c: Added - gnutls_openpgp_crt_verify_hash(). + * lib/gnutls_global.c: no need to release struct -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h, lib/pkcs11_privkey.c: added - gnutls_privkey_sign_hash2() + * doc/cha-cert-auth.texi: do not document low-level functions -2010-12-13 Nikos Mavrogiannopoulos +2012-11-24 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/gnutls_sig.c, lib/gnutls_sig.h, - lib/openpgp/privkey.c, lib/pkcs11_privkey.c, lib/x509/privkey.c: - Simplified preparation of signing code. + * lib/nettle/ecc_mulmod_cached.c: set cache to null after + deinitialization -2010-12-12 Nikos Mavrogiannopoulos +2012-11-23 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/gnutls_pubkey.c, lib/gnutls_sig.c, - lib/gnutls_sig.h, lib/openpgp/gnutls_openpgp.h, - lib/openpgp/privkey.c, lib/pkcs11_int.h, lib/pkcs11_privkey.c, - lib/x509/Makefile.am, lib/x509/privkey.c, lib/x509/sign.c, - lib/x509/sign.h: deprecated x509/sign.h and moved functionality of - it in gnutls_sig.h. + * tests/cert-tests/template-test: fixed test -2010-12-12 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/x509/sign.c: pk_hash_data() will fail unless DSA or RSA are - specified. + * .gitignore, gl/Makefile.am, gl/c-strcase.h, gl/c-strcasecmp.c, + gl/c-strncasecmp.c, gl/iconv.c, gl/iconv.in.h, gl/iconv_close.c, + gl/iconv_open-aix.gperf, gl/iconv_open-aix.h, + gl/iconv_open-hpux.gperf, gl/iconv_open-hpux.h, + gl/iconv_open-irix.gperf, gl/iconv_open-irix.h, + gl/iconv_open-osf.gperf, gl/iconv_open-osf.h, + gl/iconv_open-solaris.gperf, gl/iconv_open-solaris.h, + gl/iconv_open.c, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, + gl/m4/iconv_h.m4, gl/m4/iconv_open-utf.m4, gl/m4/iconv_open.m4, + gl/m4/inline.m4, gl/m4/libunistring-base.m4, gl/m4/locale-fr.m4, + gl/m4/locale-ja.m4, gl/m4/locale-tr.m4, gl/m4/locale-zh.m4, + gl/m4/locale_h.m4, gl/m4/localename.m4, gl/m4/setlocale.m4, + gl/tests/Makefile.am, gl/tests/locale.in.h, gl/tests/localename.c, + gl/tests/localename.h, gl/tests/setlocale.c, + gl/tests/test-c-strcase.sh, gl/tests/test-c-strcasecmp.c, + gl/tests/test-c-strncasecmp.c, gl/tests/test-iconv-h.c, + gl/tests/test-iconv-utf.c, gl/tests/test-locale.c, + gl/tests/test-localename.c, gl/tests/test-setlocale1.c, + gl/tests/test-setlocale1.sh, gl/tests/test-setlocale2.c, + gl/tests/test-setlocale2.sh, gl/tests/unistr/test-u8-mbtoucr.c, + gl/tests/unistr/test-u8-uctomb.c, gl/unistr.in.h, + gl/unistr/u8-mbtoucr.c, gl/unistr/u8-uctomb-aux.c, + gl/unistr/u8-uctomb.c, gl/unitypes.in.h: iconv() will include the + UCS2->UTF8 convertion in systems that is not provided. -2010-12-12 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/x509/privkey.c: better comments + * lib/pkix_asn1_tab.c: use the old type for compatibility -2010-12-12 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/openpgp/gnutls_openpgp.c, lib/openpgp/privkey.c: - reorganization of the privkey_ functions(). + * lib/minitasn1/libtasn1.h, lib/minitasn1/structure.c: updated + libtasn1 version -2010-12-11 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/includes/gnutls/abstract.h, - lib/includes/gnutls/compat.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/x509.h, lib/libgnutls.map, - lib/openpgp/gnutls_openpgp.c, lib/x509/privkey.c: Introduced - gnutls_*_privkey_sign_hash2() that is a high level function to - produce signatures. + * configure.ac, m4/hooks.m4: bumped version -2010-12-11 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/gnutls_privkey.c, lib/pkcs11_privkey.c, lib/x509/privkey.c, - lib/x509/sign.c, lib/x509/sign.h: Separated the sign_data functions - to a hashing phase, a preparing phase, and the actual signing. + * lib/system.c: simplified UTF-8 encoding. -2010-12-11 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * NEWS: documented deprecated functions. + * NEWS, doc/invoke-danetool.texi, src/Makefile.am, + src/danetool-args.c, src/danetool-args.def, src/danetool-args.h, + src/danetool.c: danetool is being built even without libgnutls-dane. The --check functionality is not operational though. It can only + generate tlsa records. -2010-12-09 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h, lib/includes/gnutls/openpgp.h, - lib/includes/gnutls/pkcs11.h: All the sign hash functions were - deprecated. + * tests/cert-tests/Makefile.am, tests/cert-tests/template-test, + tests/cert-tests/template-utf8.pem, + tests/cert-tests/template-utf8.tmpl: Added test on UTF-8 certificate + generation. -2010-12-09 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/includes/gnutls/compat.h, lib/includes/gnutls/x509.h: - gnutls_x509_privkey_sign_hash() is dangerous and was deprecated. - Added some text explaining why some functions were deprecated. + * lib/x509/dn.c: removed redundant check -2010-12-08 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * NEWS: documented previous update. + * NEWS, doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h, src/certtool.c: updated + parameters -2010-12-08 Nikos Mavrogiannopoulos +2012-11-21 Nikos Mavrogiannopoulos - * lib/x509/privkey.c, lib/x509/x509.c: export_raw() functions now - add leading zero in mpis. + * lib/x509/x509.c: update -2010-12-07 Simon Josefsson +2012-11-21 Nikos Mavrogiannopoulos - * NEWS: Add. + * doc/cha-cert-auth.texi, lib/x509/x509.c: doc update -2010-12-07 Simon Josefsson +2012-11-21 Nikos Mavrogiannopoulos - * lib/includes/gnutls/crypto.h: C++ fixes, tiny patch from "Brendan - Doherty" . + * doc/cha-cert-auth2.texi, lib/pkcs11_privkey.c, lib/x509/output.c, + lib/x509/x509.c, lib/x509/x509_write.c: doc update -2010-12-07 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * gl/m4/getdelim.m4, gl/m4/getline.m4, gl/m4/memchr.m4, - gl/m4/printf.m4, gl/m4/stdint.m4, lib/gl/m4/fcntl-o.m4, - lib/gl/m4/iconv.m4, lib/gl/m4/intdiv0.m4, lib/gl/m4/memchr.m4, - lib/gl/m4/memmem.m4, lib/gl/m4/printf.m4, lib/gl/m4/stdint.m4: - Update gnulib files. + * lib/x509/x509_write.c: enforce the 200 character limit. -2010-12-07 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * NEWS, configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. + * NEWS, lib/system.c: improved iconv support. -2010-12-07 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * ChangeLog: Generated. + * tests/cert-tests/aki, tests/cert-tests/aki-cert.pem, + tests/cert-tests/bmpstring.pem, tests/cert-tests/ca-no-pathlen.pem, + tests/cert-tests/no-ca-or-pathlen.pem, tests/cert-tests/pathlen: + updated for new output -2010-12-07 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * configure.ac, lib/configure.ac, lib/m4/hooks.m4, - libextra/configure.ac: Bump versions. + * NEWS: news update -2010-12-06 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * ChangeLog: Generated. + * NEWS, doc/Makefile.am, doc/cha-gtls-app.texi, + doc/invoke-certtool.texi, doc/manpages/Makefile.am, + lib/gnutls_pubkey.c, lib/includes/gnutls/abstract.h, + lib/includes/gnutls/gnutls.h.in, lib/libgnutls.map, + lib/x509/output.c, src/certtool-args.c, src/certtool-args.def, + src/certtool-args.h, src/certtool-common.c, src/certtool-common.h, + src/certtool.c, src/tpmtool.c: Several updates in certificate/public + key printing. * Added GNUTLS_CRT_PRINT_FULL_NUMBERS to print bignumbers in an + easier to parse format. * Added gnutls_pubkey_import_x509_crq() to convert a certificate + request to a public key. * Added gnutls_pubkey_print() to simplify public key printing. * certtool's pubkey-info can be combined with --load-request. * Added --numbers option to certtool which prints big numbers in an + easier to parser format. -2010-12-06 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * tests/Makefile.am: Don't fail on 'make distcheck'. + * build-aux/gendocs.sh, configure.ac, gl/Makefile.am, gl/dup2.c, + gl/errno.in.h, gl/m4/errno_h.m4, gl/m4/gnulib-cache.m4, + gl/m4/gnulib-comp.m4, gl/m4/select.m4, gl/m4/stdlib_h.m4, + gl/select.c, gl/stdlib.in.h, gl/strerror-override.c, + gl/strerror-override.h, gl/tests/Makefile.am, gl/tests/dup2.c, + gl/tests/fcntl.in.h, gl/tests/test-fcntl-h.c, + gl/tests/test-iconv.c, gl/tests/test-select.h, lib/system.c, + m4/hooks.m4, maint.mk: use gnulib to detect iconv. -2010-12-06 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * NEWS: Version 2.11.6. + * NEWS, configure.ac, lib/Makefile.am, lib/system.c: check for + either iconv or libiconv. -2010-12-06 Simon Josefsson +2012-11-20 Nikos Mavrogiannopoulos - * lib/gnutls_str.c: Indent. + * src/certtool-args.c, src/certtool-args.def, src/certtool-args.h, + src/certtool-cfg.c: simplified parsing -2010-12-06 Nikos Mavrogiannopoulos +2012-11-20 Nikos Mavrogiannopoulos - * NEWS: documented SSL 3.0 record version change. + * lib/x509/output.c: print header only on the first policy -2010-12-06 Nikos Mavrogiannopoulos +2012-11-20 Nikos Mavrogiannopoulos - * lib/gnutls_handshake.c, lib/gnutls_int.h, lib/gnutls_priority.c: - SSL3_RECORD_VERSION priority option is now the default. That is in - order to not confuse non TLS 1.2 compliant implementations that - don't like a TLS 1.2 record. + * NEWS, doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h, src/certtool-cfg.c, + src/certtool-cfg.h, src/certtool.c: certtool is able to set + certificate policies via a template -2010-12-06 Nikos Mavrogiannopoulos +2012-11-20 Nikos Mavrogiannopoulos - * lib/gnutls_str.c: simplified escape and unescape. + * NEWS, lib/includes/gnutls/x509.h, lib/libgnutls.map, + lib/x509/dn.c, lib/x509/output.c, lib/x509/x509.c, + lib/x509/x509_write.c: Added gnutls_x509_crt_set_policy() -2010-12-05 Nikos Mavrogiannopoulos +2012-11-19 Nikos Mavrogiannopoulos - * THANKS: Added Michael. + * lib/x509/crl.c, lib/x509/crq.c, lib/x509/dn.c, lib/x509/pkcs12.c, + lib/x509/x509.c: doc update -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * cfg.mk, lib/gnutls_priority.c, lib/gnutls_state.c, - lib/includes/gnutls/compat.h, lib/includes/gnutls/gnutls.h.in, - lib/includes/gnutls/pkcs11.h, lib/nettle/rnd.c, lib/pkcs11.c, - lib/pkcs11_int.h, lib/pkcs11_secret.c, lib/pkcs11_write.c, - lib/x509/verify.c, src/certtool-common.c, src/certtool-common.h, - src/certtool.c, src/cli.c, src/common.c, src/p11tool.c, - src/p11tool.h, src/pkcs11.c, src/serv.c, tests/chainverify.c, - tests/openpgp-auth.c: Indent code. + * NEWS, doc/Makefile.am, doc/manpages/Makefile.am, + lib/includes/gnutls/x509.h, lib/x509/output.c, lib/x509/x509.c: + another rename -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * maint.mk: Update gnulib files. + * lib/system.c: corrected win32 UCS2 conversion. -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * gl/override/top/maint.mk.diff: Remove. + * NEWS, doc/Makefile.am, doc/manpages/Makefile.am, + lib/includes/gnutls/x509.h, lib/system.c, lib/x509/output.c, + lib/x509/x509.c: simplified naming -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * .gitignore: Update. + * NEWS: documented update -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * lib/gnutls_priority.c, lib/pkcs11_secret.c, src/p11tool.c, - src/p11tool.gaa: Fix syntax-check nits. + * lib/x509/x509.c: mention the extension OID -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * .x-sc_bindtextdomain: Ignore more. + * tests/cert-tests/aki-cert.pem, + tests/cert-tests/no-ca-or-pathlen.pem: updated certificates to parse + 2.5.29.32. -2010-12-06 Simon Josefsson +2012-11-19 Nikos Mavrogiannopoulos - * GNUmakefile, build-aux/gendocs.sh, build-aux/pmccabe.css, - build-aux/pmccabe2html, gl/Makefile.am, gl/arpa_inet.in.h, - gl/float+.h, gl/gettext.h, gl/inet_ntop.c, gl/intprops.h, - gl/m4/alloca.m4, gl/m4/arpa_inet_h.m4, gl/m4/getdelim.m4, - gl/m4/getline.m4, gl/m4/getpass.m4, gl/m4/gnulib-common.m4, - gl/m4/gnulib-comp.m4, gl/m4/mmap-anon.m4, gl/m4/printf.m4, - gl/m4/readline.m4, gl/m4/string_h.m4, gl/m4/sys_ioctl_h.m4, - gl/m4/sys_select_h.m4, gl/m4/sys_socket_h.m4, gl/m4/unistd_h.m4, - gl/m4/vasnprintf.m4, gl/m4/wchar_h.m4, gl/printf-parse.c, - gl/printf-parse.h, gl/stdint.in.h, gl/stdio.in.h, gl/stdlib.in.h, - gl/string.in.h, gl/sys_select.in.h, gl/sys_socket.in.h, - gl/tests/Makefile.am, gl/tests/init.sh, - gl/tests/test-select-stdin.c, gl/tests/test-select.c, - gl/tests/test-update-copyright.sh, gl/tests/verify.h, gl/time.in.h, - gl/unistd.in.h, gl/vasnprintf.c, gl/verify.h, gl/wchar.in.h, - lib/gl/Makefile.am, lib/gl/float+.h, lib/gl/gettext.h, - lib/gl/m4/alloca.m4, lib/gl/m4/glibc2.m4, lib/gl/m4/glibc21.m4, - lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4, - lib/gl/m4/iconv.m4, lib/gl/m4/memmem.m4, lib/gl/m4/mmap-anon.m4, - lib/gl/m4/printf.m4, lib/gl/m4/string_h.m4, - lib/gl/m4/sys_socket_h.m4, lib/gl/m4/unistd_h.m4, - lib/gl/m4/vasnprintf.m4, lib/gl/m4/wchar_h.m4, - lib/gl/printf-parse.c, lib/gl/printf-parse.h, lib/gl/stdint.in.h, - lib/gl/stdio.in.h, lib/gl/stdlib.in.h, lib/gl/string.in.h, - lib/gl/sys_socket.in.h, lib/gl/tests/Makefile.am, - lib/gl/tests/init.sh, lib/gl/tests/intprops.h, - lib/gl/tests/verify.h, lib/gl/time.in.h, lib/gl/unistd.in.h, - lib/gl/vasnprintf.c, lib/gl/verify.h, lib/gl/wchar.in.h, - libextra/gl/m4/gnulib-common.m4, maint.mk: Update gnulib files. + * lib/pkix.asn, lib/pkix_asn1_tab.c, lib/x509/x509.c: handle + visiblestring. -2010-12-05 Nikos Mavrogiannopoulos +2012-11-19 Nikos Mavrogiannopoulos - * tests/Makefile.am: Temporarily remove gendh test. It takes - extremely long time under valgrind. + * tests/cert-tests/Makefile.am, tests/cert-tests/bmpstring.pem, + tests/cert-tests/pem-decoding: Added simple check for bmpstring + decoding. -2010-12-05 Nikos Mavrogiannopoulos +2012-11-19 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_sig.c, lib/x509/common.c, lib/x509/common.h, - lib/x509/mpi.c, lib/x509/sign.c, lib/x509/verify.c: Use ASN1_NULL - when writing parameters for RSA signatures. This makes us comply - with RFC3279. Reported by Michael Rommel. + * lib/system.c: Added _gnutls_ucs2_to_utf8() for windows (untested) -2010-12-05 Nikos Mavrogiannopoulos +2012-11-19 Nikos Mavrogiannopoulos - * NEWS, src/serv.c: Corrected buffer overflow in gnutls-serv by - Tomas Mraz. The gnutls-serv uses fixed allocated buffer for the response which - can be pretty long if a client certificate is presented to it and - the http header is large. This causes buffer overflow and heap - corruption which then leads to random segfaults or aborts. It was reported originally here: - https://bugzilla.redhat.com/show_bug.cgi?id=659259 The attached patch changes sprintf calls in peer_print_info() to - snprintf so the buffer is never overflowed. + * lib/x509/common.c: If _gnutls_ucs2_to_utf8() handle the data as + non-printable (fallback to previous behavior). -2010-12-01 Nikos Mavrogiannopoulos +2012-11-19 Nikos Mavrogiannopoulos - * lib/m4/hooks.m4: increased revision + * lib/x509/x509.c: doc update -2010-12-01 Nikos Mavrogiannopoulos +2012-11-18 Nikos Mavrogiannopoulos - * src/Makefile.am: Added p11tool.h + * NEWS: documented updates -2010-12-01 Nikos Mavrogiannopoulos +2012-11-18 Nikos Mavrogiannopoulos - * NEWS: released 2.11.5 + * configure.ac: check for iconv -2010-12-01 Nikos Mavrogiannopoulos +2012-11-18 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: escaped chars. + * lib/system.c, lib/x509/common.c: map the whole ascii set -2010-12-01 Nikos Mavrogiannopoulos +2012-11-18 Nikos Mavrogiannopoulos - * doc/cha-internals.texi: Updated extension writing code. Still not - clear enough. + * lib/x509/common.c: Handle BMPString in DNs. -2010-12-01 Nikos Mavrogiannopoulos +2012-11-18 Nikos Mavrogiannopoulos - * doc/cha-cert-auth.texi: PKCS #11 fixes + * lib/includes/gnutls/x509.h, lib/libgnutls.map, lib/pkix.asn, + lib/pkix_asn1_tab.c, lib/system.c, lib/system.h, lib/tpm.c, + lib/x509/common.c, lib/x509/common.h, lib/x509/crl.c, + lib/x509/dn.c, lib/x509/extensions.c, lib/x509/mpi.c, + lib/x509/ocsp.c, lib/x509/output.c, lib/x509/pkcs12.c, + lib/x509/pkcs12_bag.c, lib/x509/privkey.c, + lib/x509/privkey_pkcs8.c, lib/x509/x509.c: Added functions to parse + the certificate policies extention. Added gnutls_x509_crt_get_policy() etc. In addition several updated + in the handling of strings in X.509 structures. -2010-12-01 Nikos Mavrogiannopoulos +2012-11-17 Nikos Mavrogiannopoulos - * doc/examples/ex-cert-select-pkcs11.c: Corrected pkcs11 example - URLs + * doc/Makefile.am, doc/cha-cert-auth2.texi, doc/cha-crypto.texi, + doc/cha-gtls-app.texi, doc/gnutls.texi, lib/x509/privkey.c: doc + updates -2010-11-30 Nikos Mavrogiannopoulos +2012-11-16 Nikos Mavrogiannopoulos - * src/pkcs11.c: Prefix mechanism number with 0x. + * lib/gnutls_cert.c: updated doc -2010-11-30 Nikos Mavrogiannopoulos +2012-11-16 Nikos Mavrogiannopoulos - * lib/pakchois/pakchois11.h, src/pkcs11.c: Added camellia and - SHA224. + * NEWS: documented update -2010-11-27 Nikos Mavrogiannopoulos +2012-11-16 Nikos Mavrogiannopoulos - * configure.ac, lib/configure.ac, lib/nettle/rnd.c: Use rusage if - present. Moved check to correct config and included resource.h - header. + * NEWS: updated -2010-11-27 Nikos Mavrogiannopoulos +2012-11-15 Nikos Mavrogiannopoulos - * lib/nettle/rnd.c: More details on the text + * tests/cert-tests/template-test: Added small text -2010-11-27 Nikos Mavrogiannopoulos +2012-11-15 Tim Kosse - * lib/pkcs11.c: Corrected copyright statement + * doc/examples/Makefile.am: print-ciphersuites was a very useful too + for debugging this. Now it is even built. Signed-off-by: Nikos Mavrogiannopoulos -2010-11-27 Nikos Mavrogiannopoulos +2012-11-15 Tim Kosse - * lib/nettle/rnd.c: Corrected copyright header. Added Niels. + * lib/gnutls_priority.c: Don't read past the last list entry in + _add_priority, doing so adds algorithms that shouldn't be added and + can even lead to a segfault. Signed-off-by: Nikos Mavrogiannopoulos -2010-11-26 Nikos Mavrogiannopoulos +2012-11-14 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_cert.c, lib/includes/gnutls/x509.h, - lib/x509/verify.c, src/certtool.c, src/cli.c, tests/chainverify.c: - Reverted default behavior for verification and introduced - GNUTLS_VERIFY_DO_NOT_ALLOW_X509_V1_CA_CRT. Thus by default V1 - trusted CAs are allowed, unless the new flag is specified. + * src/danetool.c: tried to beautify output of danetool -2010-11-25 Simon Josefsson +2012-11-14 Nikos Mavrogiannopoulos - * NEWS: Typo. + * lib/gnutls_x509.c: corrected description. -2010-11-25 Simon Josefsson +2012-11-14 Nikos Mavrogiannopoulos - * tests/suite/Makefile.in: Remove, it is generated. + * lib/gnutls_cert.c: corrected typo -2010-11-25 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * README: No space at eol. + * NEWS: doc update -2010-11-25 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * tests/safe-renegotiation/Makefile.am: Fix syntax-check warning. + * src/pkcs11.c: optimizations in list import -2010-11-25 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * cfg.mk: Ignore tests/suite for syntax-checks, not our code. + * lib/pkcs11.c: When listing all objects of a type, restrict their + class to the specified. -2010-11-25 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * README: Recommend git format-patch rather than git diff. + * src/pkcs11.c: Added some help on failure. -2010-11-24 Jeffrey Walton +2012-11-12 Nikos Mavrogiannopoulos - * README: Attached is a proposed modification to the README file, - including recent comments by Simon. + * lib/pkcs11.c, lib/pkcs11_int.h, lib/pkcs11_privkey.c: + pkcs11_find_object made static. -2010-11-23 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * guile/src/Makefile.am: Fix dependencies, fixes parallel builds. Tiny patch from Graham Gower . + * src/certtool-common.c, src/certtool-common.h, src/certtool.c, + src/dh.c, src/p11tool.c, src/pkcs11.c, src/tpmtool.c: get_bits() + does not always warn. -2010-11-19 Simon Josefsson +2012-11-12 Nikos Mavrogiannopoulos - * doc/Makefile.am: Remove file. + * lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, + lib/pkcs11_int.h, lib/pkcs11_privkey.c, src/pkcs11.c: when + generating a PKCS #11 private key print the public key. -2010-11-19 Simon Josefsson +2012-11-11 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am: Generated. + * NEWS, doc/invoke-certtool.texi, src/certtool-args.c, + src/certtool-args.def, src/certtool-args.h, src/certtool.c: The + pubkey-info option can be combined with the load-privkey to extract + the public key of a private key. -2010-11-19 Nikos Mavrogiannopoulos +2012-11-11 Nikos Mavrogiannopoulos - * configure.ac, tests/suite/Makefile.in: Create Makefile in - tests/suite/ + * doc/examples/ex-client-x509.c, doc/examples/ex-verify-ssh.c, + doc/examples/verify.c: corrected verification examples -2010-11-19 Nikos Mavrogiannopoulos +2012-11-10 Nikos Mavrogiannopoulos - * src/cli.c, src/psk-gaa.c, src/psk-gaa.h, src/psk.c, src/psk.gaa, - tests/Makefile.am, tests/netconf-psk.c: Deprecate the netconf - password and use a key only. + * doc/TODO: removed OCSP extension from TODO -2010-11-19 Nikos Mavrogiannopoulos +2012-11-09 Diego Elio Pettenò - * doc/credentials/gnutls-http-serv: correctly set psk params. + * tests/cert-tests/Makefile.am: build: only run the dane cert test + if dane is enabled. This fixes a test failure when disabling dane support. Signed-off-by: Diego Elio Pettenò + Signed-off-by: Nikos Mavrogiannopoulos -2010-11-16 Nikos Mavrogiannopoulos +2012-11-10 Nikos Mavrogiannopoulos - * NEWS: added info + * Makefile.am, NEWS, cfg.mk, doc/manpages/Makefile.am, + tests/cert-tests/Makefile.am, tests/cert-tests/cert-ecc256.pem, + tests/cert-tests/dane: last changes for release. -2010-11-16 Nikos Mavrogiannopoulos +2012-11-10 Nikos Mavrogiannopoulos - * lib/x509/privkey_pkcs8.c: Correctly write DSA public key in ASN.1 - (add leading zero). Reported by Jeffrey Walton. + * doc/Makefile.am, doc/invoke-gnutls-cli.texi, + doc/manpages/Makefile.am, src/common.c: updated -2010-11-16 Nikos Mavrogiannopoulos +2012-11-09 Nikos Mavrogiannopoulos - * lib/x509/mpi.c: cleanups + * lib/gnutls_x509.c: Corrected indication of OCSP check failure. -2010-11-16 Nikos Mavrogiannopoulos +2012-11-09 Nikos Mavrogiannopoulos - * doc/cha-auth.texi, lib/includes/gnutls/compat.h, - lib/includes/gnutls/gnutls.h.in: Deprecated the key derivation - method from netconf. The published RFC does not include this method - and it is not known whether it has been used at all in practice. No - need to support it. + * src/cli-args.c, src/cli-args.def, src/cli-args.h, src/cli.c: The + status-request option was eliminated. Check OCSP only when the + status response in the handshake was invalid. -2010-11-16 Nikos Mavrogiannopoulos +2012-11-09 Nikos Mavrogiannopoulos - * NEWS, lib/gnutls_priority.c: Added SIGN-ALL, CTYPE-ALL, COMP-ALL, - and VERS-TLS-ALL priority strings. + * AUTHORS, NEWS: Added Martin -2010-11-11 Nikos Mavrogiannopoulos +2012-11-09 Nikos Mavrogiannopoulos - * lib/gnutls_x509.c: Removed redundant error check. Reported by - Nicolas Kaiser. + * src/certtool-args.c, src/certtool-args.h, src/cli-args.c, + src/cli-args.h, src/cli-debug-args.c, src/cli-debug-args.h, + src/danetool-args.c, src/danetool-args.h, src/ocsptool-args.c, + src/ocsptool-args.h, src/p11tool-args.c, src/p11tool-args.h, + src/psk-args.c, src/psk-args.h, src/serv-args.c, src/serv-args.h, + src/srptool-args.c, src/srptool-args.h, src/tpmtool-args.c, + src/tpmtool-args.h: updated -2010-11-11 Nikos Mavrogiannopoulos +2012-11-08 Nikos Mavrogiannopoulos - * lib/includes/gnutls/pkcs11.h, lib/libgnutls.map, lib/pkcs11.c, - src/p11tool-gaa.c, src/p11tool-gaa.h, src/p11tool.c, - src/p11tool.gaa, src/p11tool.h, src/pkcs11.c: Added - --list-mechanisms option to p11tool. Lists all mechanisms supported - by a token. + * doc/invoke-certtool.texi, doc/invoke-danetool.texi, + doc/invoke-gnutls-cli-debug.texi, doc/invoke-gnutls-cli.texi, + doc/invoke-gnutls-serv.texi, doc/invoke-ocsptool.texi, + doc/invoke-p11tool.texi, doc/invoke-psktool.texi, + doc/invoke-srptool.texi, doc/invoke-tpmtool.texi, + doc/manpages/tpmtool.1, doc/scripts/cleanup-autogen.pl: remove + @cindex from the invoke-* files. -2010-11-11 Nikos Mavrogiannopoulos +2012-11-08 Nikos Mavrogiannopoulos - * doc/manpages/Makefile.am, doc/manpages/p11tool.1: Added manpage - for p11tool. + * doc/cha-gtls-app.texi, doc/cha-intro-tls.texi, + doc/latex/gnutls.bib: doc updates -2010-11-11 Nikos Mavrogiannopoulos +2012-11-08 Nikos Mavrogiannopoulos - * doc/manpages/certtool.1, doc/manpages/gnutls-cli.1, - doc/manpages/gnutls-serv.1, doc/manpages/srptool.1: Corrected my - name. + * doc/cha-cert-auth.texi: doc update -2010-11-11 Nikos Mavrogiannopoulos +2012-11-08 Nikos Mavrogiannopoulos - * src/p11tool-gaa.c, src/p11tool.gaa: In p11tool --url was renamed - to --export. + * NEWS, lib/algorithms.h, lib/algorithms/mac.c, + lib/algorithms/sign.c, lib/includes/gnutls/gnutls.h.in, + lib/libgnutls.map, lib/verify-tofu.c, lib/x509/ocsp_output.c, + lib/x509/output.c, lib/x509/verify.c, tests/chainverify.c: Allow + easier marking of insecure algorithms. -2010-11-11 Nikos Mavrogiannopoulos +2012-11-07 Nikos Mavrogiannopoulos - * src/p11tool-gaa.c, src/p11tool-gaa.h, src/p11tool.gaa, - src/pkcs11.c: Corrected bug in secret key copy. Rationalized the - --help of p11tool. + * lib/gnutls_compress.c: removed debugging -2010-11-11 Nikos Mavrogiannopoulos +2012-11-07 Nikos Mavrogiannopoulos - * lib/pkcs11.c, lib/pkcs11_secret.c: * Corrected flag conversion to internal representation. * When generating secret keys include a generic key type and a - random ID. + * NEWS, lib/gnutls_int.h, lib/gnutls_sig.c: key usage violations are + tolerated. -2010-11-11 Nikos Mavrogiannopoulos +2012-11-07 Nikos Mavrogiannopoulos - * Added option --no-detailed-url to p11tool. More detailed url is the - default now. + * Removed GNUTLS_CERT_REVOCATION_DATA_INVALID and no longer fail on + OCSP parsing errors. ----- diff --git a/GNUmakefile b/GNUmakefile index 8759034..4ab6429 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -5,7 +5,7 @@ # It is necessary if you want to build targets usually of interest # only to the maintainer. -# Copyright (C) 2001, 2003, 2006-2013 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2006-2014 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/INSTALL b/INSTALL index a1e89e1..2099840 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ Installation Instructions ************************* -Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, @@ -12,8 +12,8 @@ without warranty of any kind. Basic Installation ================== - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following + Briefly, the shell command `./configure && make && make install' +should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented @@ -309,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: +an Autoconf limitation. Until the limitation is lifted, you can use +this workaround: - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== @@ -367,4 +368,3 @@ operates. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. - diff --git a/Makefile.am b/Makefile.am index c935106..71a7d83 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,25 +21,46 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-valgrind-tests -SUBDIRS = gl lib extra po +SUBDIRS = gl lib extra -SUBDIRS += src doc tests +if ENABLE_DANE +SUBDIRS += libdane +endif + +SUBDIRS += po src +if ENABLE_DOC +SUBDIRS += doc +endif +if ENABLE_TESTS +SUBDIRS += tests +endif if HAVE_GUILE SUBDIRS += guile endif -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I src/libopts/m4 +ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I src/libopts/m4 -I src/gl/m4 EXTRA_DIST = cfg.mk maint.mk .clcopying dist-hook: + make -C doc/ compare-makefile + make -C doc/ compare-exported + make -C doc/manpages compare-makefile + @echo "*****************************************************************" + @echo "Checking symbol changes. If the next step fails, verify that the" + @echo "symbols added or removed are correct and copy symbols.last.tmp as" + @echo "symbols.last" + @echo "*****************************************************************" + objdump -T $(srcdir)/lib/.libs/libgnutls.so.28 | grep -v ' \*UND\*' | awk '{print $$7 "@" $$6;}' | sort -u >symbols.last.tmp + diff -u symbols.last symbols.last.tmp >/dev/null 2>&1 + rm -f symbols.last.tmp rm -f ChangeLog make ChangeLog - make -C doc/ compare-makefile cp -f ChangeLog $(distdir)/ sed 's/\@VERSION\@/$(VERSION)/g' -i $(distdir)/src/args-std.def - sed 's/\@\@VERSION\@\@/$(VERSION)/g' -i $(distdir)/doc/invoke-*.texi + sed 's/\@YEAR\@/$(YEAR)/g' -i $(distdir)/src/args-std.def + sed 's/\@PACKAGE_BUGREPORT\@/$(PACKAGE_BUGREPORT)/g' -i $(distdir)/src/args-std.def cd $(distdir)/src/ && for i in *.def;do \ if test x"$$i" = x"args-std.def";then continue; fi; \ autogen $$i; \ @@ -49,3 +70,7 @@ dist-hook: rm -f $$i.tmp; \ mv -f *.1 ../doc/manpages/; \ done + cd $(distdir)/src/ && for i in *-args.c *-args.h;do \ + mv $$i $$i.bak; \ + done + touch $(distdir)/doc/*.html $(distdir)/doc/*.pdf $(distdir)/doc/*.info diff --git a/Makefile.in b/Makefile.in index 7a209ca..92db14d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -35,23 +34,51 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ esac; \ - test $$am__dry = yes; \ - } + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -70,125 +97,118 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@HAVE_GUILE_TRUE@am__append_1 = guile +@ENABLE_DANE_TRUE@am__append_1 = libdane +@ENABLE_DOC_TRUE@am__append_2 = doc +@ENABLE_TESTS_TRUE@am__append_3 = tests +@HAVE_GUILE_TRUE@am__append_4 = guile subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure $(top_srcdir)/doc/doxygen/Doxyfile.in \ +DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ + $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.h.in $(top_srcdir)/doc/doxygen/Doxyfile.in \ $(top_srcdir)/lib/includes/gnutls/gnutls.h.in ABOUT-NLS \ - AUTHORS COPYING COPYING.LESSER ChangeLog INSTALL NEWS THANKS \ - TODO build-aux/ar-lib build-aux/compile build-aux/config.guess \ + COPYING COPYING.LESSER THANKS build-aux/ar-lib \ + build-aux/compile build-aux/config.guess \ build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \ - build-aux/missing build-aux/texinfo.tex ltmain.sh + build-aux/install-sh build-aux/mdate-sh build-aux/missing \ + build-aux/texinfo.tex build-aux/ylwrap ltmain.sh \ + build-aux/ltmain.sh $(top_srcdir)/build-aux/ar-lib \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -199,13 +219,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -216,21 +235,28 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = doc/doxygen/Doxyfile lib/includes/gnutls/gnutls.h CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -238,12 +264,34 @@ am__can_run_installinfo = \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = gl lib extra po src doc tests guile +CSCOPE = cscope +DIST_SUBDIRS = gl lib extra libdane po src doc tests guile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -253,6 +301,7 @@ am__remove_distdir = \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -280,6 +329,7 @@ am__relativize = \ reldir="$$dir2" GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.lz $(distdir).tar.xz +DIST_TARGETS = dist-lzip dist-xz distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -292,8 +342,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -341,61 +391,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -404,22 +424,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -428,9 +438,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -462,49 +469,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -543,23 +519,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -577,29 +548,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -611,17 +570,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -650,15 +603,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -715,7 +662,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -727,52 +673,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -789,28 +699,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -820,43 +715,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -867,38 +744,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -919,14 +779,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -934,7 +791,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -946,20 +802,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -970,12 +818,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -998,10 +841,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -1009,9 +850,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1060,6 +898,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -1077,53 +917,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1133,27 +975,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1163,25 +1001,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1223,45 +1055,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1274,45 +1081,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1330,16 +1114,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1356,24 +1135,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1391,13 +1161,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1425,18 +1193,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1453,6 +1221,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1479,6 +1250,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1515,8 +1291,9 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-valgrind-tests -SUBDIRS = gl lib extra po src doc tests $(am__append_1) -ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I src/libopts/m4 +SUBDIRS = gl lib extra $(am__append_1) po src $(am__append_2) \ + $(am__append_3) $(am__append_4) +ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I src/libopts/m4 -I src/gl/m4 EXTRA_DIST = cfg.mk maint.mk .clcopying all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -1558,8 +1335,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -1586,22 +1363,25 @@ distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -1616,57 +1396,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -1682,12 +1417,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -1699,15 +1429,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -1716,9 +1442,31 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) @@ -1789,39 +1537,40 @@ distdir: $(DISTFILES) || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) + $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -1832,8 +1581,6 @@ distcheck: dist GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ @@ -1845,18 +1592,19 @@ distcheck: dist *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -1879,7 +1627,7 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' @@ -2014,34 +1762,44 @@ ps-am: uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am +.MAKE: $(am__recursive_targets) all install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ + dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am dist-hook: + make -C doc/ compare-makefile + make -C doc/ compare-exported + make -C doc/manpages compare-makefile + @echo "*****************************************************************" + @echo "Checking symbol changes. If the next step fails, verify that the" + @echo "symbols added or removed are correct and copy symbols.last.tmp as" + @echo "symbols.last" + @echo "*****************************************************************" + objdump -T $(srcdir)/lib/.libs/libgnutls.so.28 | grep -v ' \*UND\*' | awk '{print $$7 "@" $$6;}' | sort -u >symbols.last.tmp + diff -u symbols.last symbols.last.tmp >/dev/null 2>&1 + rm -f symbols.last.tmp rm -f ChangeLog make ChangeLog - make -C doc/ compare-makefile cp -f ChangeLog $(distdir)/ sed 's/\@VERSION\@/$(VERSION)/g' -i $(distdir)/src/args-std.def - sed 's/\@\@VERSION\@\@/$(VERSION)/g' -i $(distdir)/doc/invoke-*.texi + sed 's/\@YEAR\@/$(YEAR)/g' -i $(distdir)/src/args-std.def + sed 's/\@PACKAGE_BUGREPORT\@/$(PACKAGE_BUGREPORT)/g' -i $(distdir)/src/args-std.def cd $(distdir)/src/ && for i in *.def;do \ if test x"$$i" = x"args-std.def";then continue; fi; \ autogen $$i; \ @@ -2051,6 +1809,10 @@ dist-hook: rm -f $$i.tmp; \ mv -f *.1 ../doc/manpages/; \ done + cd $(distdir)/src/ && for i in *-args.c *-args.h;do \ + mv $$i $$i.bak; \ + done + touch $(distdir)/doc/*.html $(distdir)/doc/*.pdf $(distdir)/doc/*.info # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/NEWS b/NEWS index bec1a1a..3272691 100644 --- a/NEWS +++ b/NEWS @@ -1,129 +1,922 @@ GnuTLS NEWS -- History of user-visible changes. -*- outline -*- -Copyright (C) 2000-2012 Free Software Foundation, Inc. +Copyright (C) 2000-2014 Free Software Foundation, Inc. +Copyright (C) 2013, 2014 Nikos Mavrogiannopoulos See the end for copying conditions. -* Version 3.0.30 (released 2013-06-01) +* Version 3.3.5 (released 2014-06-26) + +** libgnutls: Added gnutls_record_recv_packet() and gnutls_packet_deinit(). +These functions provide a variant of gnutls_record_recv() that avoids +the final memcpy of data. + +** libgnutls: gnutls_x509_crl_iter_crt_serial() was added as a +faster variant of gnutls_x509_crl_get_crt_serial() when coping with +very large structures. + +** libgnutls: When the decoding of a printable DN element fails, then treat +it as unknown and print its hex value rather than failing. That works around +an issue in a TURKTRST root certificate which improperly encodes the +X520countryName element. + +** libgnutls: gnutls_x509_trust_list_add_trust_file() will return the number +of certificates present in a PKCS #11 token when loading it. + +** libgnutls: Allow the post client hello callback to put the handshake on +hold, by returning GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED. + +** certtool: option --to-p12 will now consider --load-ca-certificate + +** certtol: Added option to specify the PKCS #12 friendly name on command +line. + +** p11tool: Allow marking a certificate copied to a token as a CA. + +** API and ABI modifications: +GNUTLS_PKCS11_OBJ_FLAG_MARK_CA: Added +gnutls_x509_crl_iter_deinit: Added +gnutls_x509_crl_iter_crt_serial: Added +gnutls_record_recv_packet: Added +gnutls_packet_deinit: Added +gnutls_packet_get: Added + + +* Version 3.3.4 (released 2014-05-31) + +** libgnutls: Updated Andy Polyakov's assembly code. That prevents a +crash on certain CPUs. + +** API and ABI modifications: +No changes since last version. + + +* Version 3.3.3 (released 2014-05-30) + +** libgnutls: Eliminated memory corruption issue in Server Hello parsing. +Issue reported by Joonas Kuorilehto of Codenomicon. + +** libgnutls: gnutls_global_set_mutex() was modified to operate with the +new initialization process. + +** libgnutls: Increased the maximum certificate size buffer +in the PKCS #11 subsystem. + +** libgnutls: Check the return code of getpwuid_r() instead of relying +on the result value. That avoids issue in certain systems, when using +tofu authentication and the home path cannot be determined. Issue reported +by Viktor Dukhovni. + +** libgnutls-dane: Improved dane_verify_session_crt(), which now attempts to +create a full chain. This addresses points from https://savannah.gnu.org/support/index.php?108552 + +** gnutls-cli: --dane will only check the end certificate if PKIX validation +has been disabled. + +** gnutls-cli: --benchmark-soft-ciphers has been removed. That option cannot +be emulated with the implicit initialization of gnutls. + +** certtool: Allow multiple organizations and organizational unit names to +be specified in a template. + +** certtool: Warn when invalid configuration options are set to a template. + +** ocsptool: Include path in ocsp request. This resolves #108582 +(https://savannah.gnu.org/support/?108582), reported by Matt McCutchen. + +** API and ABI modifications: +gnutls_credentials_get: Added + + +* Version 3.3.2 (released 2014-05-06) + +** libgnutls: Added the 'very weak' certificate verification profile +that corresponds to 64-bit security level. + +** libgnutls: Corrected file descriptor leak on random generator +initialization. + +** libgnutls: Corrected file descriptor leak on PSK password file +reading. Issue identified using the Codenomicon TLS test suite. + +** libgnutls: Avoid deinitialization if initialization has failed. + +** libgnutls: null-terminate othername alternative names. + +** libgnutls: gnutls_x509_trust_list_get_issuer() will operate correctly +on a PKCS #11 trust list. + +** libgnutls: Several small bug fixes identified using valgrind and +the Codenomicon TLS test suite. + +** libgnutls-dane: Accept a certificate using DANE if there is at least one +entry that matches the certificate. Patch by simon [at] arlott.org. + +** libgnutls-guile: Fixed compilation issue. + +** certtool: Allow exporting a CRL on DER format. + +** certtool: The ECDSA keys generated by default use the SECP256R1 curve +which is supported more widely than the previously used SECP224R1. + +** API and ABI modifications: +GNUTLS_PROFILE_VERY_WEAK: Added + + +* Version 3.3.1 (released 2014-04-19) + +** libgnutls: Enforce more strict checks to heartbeat messages +concerning padding and payload. Suggested by Peter Dettman. + +** libgnutls: Allow decoding PKCS #8 files with ECC parameters +from openssl. + +** libgnutls: Several small bug fixes found by coverity. + +** libgnutls: The conditionally available self-test functions +were moved to self-test.h. + +** libgnutls: Fixed issue with the check of incoming data when two +different recv and send pointers have been specified. Reported and +investigated by JMRecio. + +** libgnutls: Fixed issue in the RSA-PSK key exchange, which would +result to illegal memory access if a server hint was provided. Reported +by André Klitzing. + +** libgnutls: Fixed client memory leak in the PSK key exchange, if a +server hint was provided. + +** libgnutls: Corrected the *get_*_othername_oid() functions. + +** API and ABI modifications: +No changes since last version. + + +* Version 3.3.0 (released 2014-04-10) + +** libgnutls: The initialization of the library was moved to a +constructor. That is, gnutls_global_init() is no longer required +unless linking with a static library or a system that does not +support library constructors. + +** libgnutls: static libraries are not built by default. + +** libgnutls: PKCS #11 initialization is delayed to first usage. +That avoids long delays in gnutls initialization due to broken PKCS #11 +modules. + +** libgnutls: The PKCS #11 subsystem is re-initialized "automatically" +on the first PKCS #11 API call after a fork. + +** libgnutls: certificate verification profiles were introduced +that can be specified as flags to verification functions. They +are enumerations in gnutls_certificate_verification_profiles_t +and can be converted to flags for use in a verification function +using GNUTLS_PROFILE_TO_VFLAGS(). + +** libgnutls: Added the ability to read system-specific initial +keywords, if they are prefixed with '@'. That allows a compile-time +specified configuration file to be used to read pre-configured priority +strings from. That can be used to impose system specific policies. + +** libgnutls: Increased the default security level of priority +strings (NORMAL and PFS strings require at minimum a 1008 DH prime), +and set a verification profile by default. The LEGACY keyword is +introduced to set the old defaults. + +** libgnutls: Added support for the name constraints PKIX extension. +Currently only DNS names and e-mails are supported (no URIs, IPs +or DNs). + +** libgnutls: Security parameter SEC_PARAM_NORMAL was renamed to +SEC_PARAM_MEDIUM to avoid confusion with the priority string NORMAL. + +** libgnutls: Added new API in x509-ext.h to handle X.509 extensions. +This API handles the X.509 extensions in isolation, allowing to parse +similarly formatted extensions stored in other structures. + +** libgnutls: When generating DSA keys the macro GNUTLS_SUBGROUP_TO_BITS +can be used to specify a particular subgroup as the number of bits in +gnutls_privkey_generate; e.g., GNUTLS_SUBGROUP_TO_BITS(2048, 256). + +** libgnutls: DH parameter generation is now delegated to nettle. +That unfortunately has the side-effect that DH parameters longer than +3072 bits, cannot be generated (not without a nettle update). + +** libgnutls: Separated nonce RNG from the main RNG. The nonce +random number generator is based on salsa20/12. + +** libgnutls: The buffer alignment provided to crypto backend is +enforced to be 16-byte aligned, when compiled with cryptodev +support. That allows certain cryptodev drivers to operate more +efficiently. + +** libgnutls: Return error when a public/private key pair that doesn't +match is set into a credentials structure. + +** libgnutls: Depend on p11-kit 0.20.0 or later. + +** libgnutls: The new padding (%NEW_PADDING) experimental TLS extension has +been removed. It was not approved by IETF. + +** libgnutls: The experimental xssl library is removed from the gnutls +distribution. + +** libgnutls: Reduced the number of gnulib modules used in the main library. + +** libgnutls: Added priority string %DISABLE_WILDCARDS. + +** libgnutls: Added the more extensible verification function +gnutls_certificate_verify_peers(), that allows checking, in addition +to a peer's DNS hostname, for the key purpose of the end certificate +(via PKIX extended key usage). + +** certtool: Timestamps for serial numbers were increased to 8 bytes, +and in batch mode to 12 (appended with 4 random bytes). + +** certtool: When no CRL number is provided (or value set to -1), then +a time-based number will be used, similarly to the serial generation +number in certificates. + +** certtool: Print the SHA256 fingerprint of a certificate in addition +to SHA1. + +** libgnutls: Added --enable-fips140-mode configuration option (unsupported). +That option enables (when running on FIPS140-enabled system): + o RSA, DSA and DH key generation as in FIPS-186-4 (using provable primes) + o The DRBG-CTR-AES256 deterministic random generator from SP800-90A. + o Self-tests on initialization on ciphers/MACs, public key algorithms + and the random generator. + o HMAC-SHA256 verification of the library on load. + o MD5 is included for TLS purposes but cannot be used by the high level + hashing functions. + o All ciphers except AES are disabled. + o All MACs and hashes except GCM and SHA are disabled (e.g., HMAC-MD5). + o All keys (temporal and long term) are zeroized after use. + o Security levels are adjusted to the FIPS140-2 recommendations (rather + than ECRYPT). + +** API and ABI modifications: +GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS: Added +gnutls_certificate_verify_peers: Added +gnutls_privkey_generate: Added +gnutls_pkcs11_crt_is_known: Added +gnutls_fips140_mode_enabled: Added +gnutls_sec_param_to_symmetric_bits: Added +gnutls_pubkey_export_ecc_x962: Added (replaces gnutls_pubkey_get_pk_ecc_x962) +gnutls_pubkey_export_ecc_raw: Added (replaces gnutls_pubkey_get_pk_ecc_raw) +gnutls_pubkey_export_dsa_raw: Added (replaces gnutls_pubkey_get_pk_dsa_raw) +gnutls_pubkey_export_rsa_raw: Added (replaces gnutls_pubkey_get_pk_rsa_raw) +gnutls_pubkey_verify_params: Added +gnutls_privkey_export_ecc_raw: Added +gnutls_privkey_export_dsa_raw: Added +gnutls_privkey_export_rsa_raw: Added +gnutls_privkey_import_ecc_raw: Added +gnutls_privkey_import_dsa_raw: Added +gnutls_privkey_import_rsa_raw: Added +gnutls_privkey_verify_params: Added +gnutls_x509_crt_check_hostname2: Added +gnutls_openpgp_crt_check_hostname2: Added +gnutls_x509_name_constraints_init: Added +gnutls_x509_name_constraints_deinit: Added +gnutls_x509_crt_get_name_constraints: Added +gnutls_x509_name_constraints_add_permitted: Added +gnutls_x509_name_constraints_add_excluded: Added +gnutls_x509_crt_set_name_constraints: Added +gnutls_x509_name_constraints_get_permitted: Added +gnutls_x509_name_constraints_get_excluded: Added +gnutls_x509_name_constraints_check: Added +gnutls_x509_name_constraints_check_crt: Added +gnutls_x509_crl_get_extension_data2: Added +gnutls_x509_crt_get_extension_data2: Added +gnutls_x509_crq_get_extension_data2: Added +gnutls_subject_alt_names_init: Added +gnutls_subject_alt_names_deinit: Added +gnutls_subject_alt_names_get: Added +gnutls_subject_alt_names_set: Added +gnutls_x509_ext_import_subject_alt_names: Added +gnutls_x509_ext_export_subject_alt_names: Added +gnutls_x509_crl_dist_points_init: Added +gnutls_x509_crl_dist_points_deinit: Added +gnutls_x509_crl_dist_points_get: Added +gnutls_x509_crl_dist_points_set: Added +gnutls_x509_ext_import_crl_dist_points: Added +gnutls_x509_ext_export_crl_dist_points: Added +gnutls_x509_ext_import_name_constraints: Added +gnutls_x509_ext_export_name_constraints: Added +gnutls_x509_aia_init: Added +gnutls_x509_aia_deinit: Added +gnutls_x509_aia_get: Added +gnutls_x509_aia_set: Added +gnutls_x509_ext_import_aia: Added +gnutls_x509_ext_export_aia: Added +gnutls_x509_ext_import_subject_key_id: Added +gnutls_x509_ext_export_subject_key_id: Added +gnutls_x509_ext_export_authority_key_id: Added +gnutls_x509_ext_import_authority_key_id: Added +gnutls_x509_aki_init: Added +gnutls_x509_aki_get_id: Added +gnutls_x509_aki_get_cert_issuer: Added +gnutls_x509_aki_set_id: Added +gnutls_x509_aki_set_cert_issuer: Added +gnutls_x509_aki_deinit: Added +gnutls_x509_ext_import_private_key_usage_period: Added +gnutls_x509_ext_export_private_key_usage_period: Added +gnutls_x509_ext_import_basic_constraints: Added +gnutls_x509_ext_export_basic_constraints: Added +gnutls_x509_ext_import_key_usage: Added +gnutls_x509_ext_export_key_usage: Added +gnutls_x509_ext_import_proxy: Added +gnutls_x509_ext_export_proxy: Added +gnutls_x509_policies_init: Added +gnutls_x509_policies_deinit: Added +gnutls_x509_policies_get: Added +gnutls_x509_policies_set: Added +gnutls_x509_ext_import_policies: Added +gnutls_x509_ext_export_policies: Added +gnutls_x509_key_purpose_init: Added +gnutls_x509_key_purpose_deinit: Added +gnutls_x509_key_purpose_set: Added +gnutls_x509_key_purpose_get: Added +gnutls_x509_ext_import_key_purposes: Added +gnutls_x509_ext_export_key_purposes: Added +gnutls_digest_self_test: Added (conditionally) +gnutls_mac_self_test: Added (conditionally) +gnutls_pk_self_test: Added (conditionally) +gnutls_cipher_self_test: Added (conditionally) +gnutls_global_set_mem_functions: Deprecated + + +* Version 3.2.6 (released 2013-10-31) + +** libgnutls: Support for TPM via trousers is now enabled by default. + +** libgnutls: Camellia in GCM mode has been added in default priorities, and +GCM mode is prioritized over CBC in all of the default priority strings. + +** libgnutls: Added ciphersuite GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384. + +** libgnutls: Fixed ciphersuites GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384, +GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 and GNUTLS_PSK_CAMELLIA_128_GCM_SHA256. +Reported by Stefan Buehler. + +** libgnutls: Added support for ISO OID for RSA-SHA1 signatures. + +** libgnutls: Minimum acceptable DH group parameters were increased to 767 +bits from 727. + +** libgnutls: Added function to obtain random data from PKCS #11 tokens. +Contributed by Wolfgang Meyer zu Bergsten. + +** gnulib: updated. + +** libdane: Fixed a one-off bug in dane_query_tlsa() introduced by the +previous fix. Reported by Tomas Mraz. + +** p11tool: Added option generate-random. + +** API and ABI modifications: +gnutls_pkcs11_token_get_random: Added + + +* Version 3.2.5 (released 2013-10-23) + +** libgnutls: Documentation and build-time fixes. + +** libgnutls: Allow the generation of DH groups of less than 700 bits. + +** libgnutls: Added several combinations of ciphersuites with SHA256 and SHA384 as MAC, +as well as Camellia with GCM. + +** libdane: Added interfaces to allow initialization of dane_query_t from +external DNS resolutions, and to allow direct verification of a certificate +chain against a dane_query_t. Contributed by Christian Grothoff. + +** libdane: Fixed a buffer overflow in dane_query_tlsa(). This could be +triggered by a DNS server supplying more than 4 DANE records. Report and fix +by Christian Grothoff. + +** srptool: Fixed index command line option. Patch by Attila Molnar. + +** gnutls-cli: Added support for inline commands, using the +--inline-commands-prefix and --inline-commands options. Patch by Raj Raman. + +** certtool: pathlen constraint is now read correctly. Reported by +Christoph Seitz. + +** API and ABI modifications: +gnutls_certificate_get_crt_raw: Added +dane_verify_crt_raw: Added +dane_raw_tlsa: Added + + +* Version 3.2.4 (released 2013-08-31) + +** libgnutls: Fixes when session tickets and session DB are used. +Report and initial patch by Stefan Buehler. + +** libgnutls: Added the RSA-PSK key exchange. Patch by by Frank Morgner, +based on previous patch by Bardenheuer GmbH and Bundesdruckerei GmbH. + +** libgnutls: Added ciphersuites that use ARCFOUR with ECDHE. Patch +by Stefan Buehler. + +** libgnutls: Added the PFS priority string option. + +** libgnutls: Gnulib included files are strictly LGPLv2. + +** libgnutls: Corrected gnutls_certificate_server_set_request(). +Reported by Petr Pisar. + +** API and ABI modifications: +gnutls_record_set_timeout: Exported + + +* Version 3.2.3 (released 2013-07-30) + +** libgnutls: Fixes in parsing of priority strings. Patch by Stefan Buehler. + +** libgnutls: Solve issue with received TLS packets that exceed 2^14. +(this fixes a bug that was accidentally introduced in 3.2.2) + +** libgnutls: Removed gnulib modules under LGPLv3 that could possibly be +used by the library. + +** libgnutls: Fixes in gnutls_record_send_range(). Report and initial fix by +Alfredo Pironti. + +** API and ABI modifications: +gnutls_priority_kx_list: Added +gnutls_priority_mac_list: Added +gnutls_priority_cipher_list: Added + + +* Version 3.2.2 (released 2013-07-14) + +** libgnutls: Several optimizations in the related to packet processing +subsystems. + +** libgnutls: DTLS replay detection can now be disabled (to be used +in certain transport layers like SCTP). + +** libgnutls: Fixes in SRTP extension generation when MKI is being +used. + +** libgnutls: Added ability to set hooks before or after sending or receiving +any handshake message with gnutls_handshake_set_hook_function(). + +** API and ABI modifications: +GNUTLS_NO_REPLAY_PROTECTION: Added +gnutls_certificate_set_trust_list: Added +gnutls_cipher_get_tag_size: Added +gnutls_record_overhead_size: Added +gnutls_est_record_overhead_size: Added +gnutls_handshake_set_hook_function: Added +gnutls_handshake_description_get_name: Added +gnutls_digest_list: Added +gnutls_digest_get_id: Added +gnutls_digest_get_name: Added + + +* Version 3.2.1 (released 2013-06-01) ** libgnutls: Allow ECC when in SSL 3.0 to work-around a bug in certain openssl versions. -** libgnutls: When in compatibility mode allow for a wrong version in the -RSA PMS. +** libgnutls: Fixes in interrupted function resumption. Report +and patch by Tim Kosse. + +** libgnutls: Corrected issue when receiving client hello verify requests +in DTLS. + +** libgnutls: Fixes in DTLS record overhead size calculations. ** libgnutls: gnutls_handshake_get_last_in() was fixed. Reported by Mann Ern Kang. ** API and ABI modifications: -No changes since last version. +gnutls_session_set_id: Added + + +* Version 3.2.0 (released 2013-05-10) +** libgnutls: Use nettle's elliptic curve implementation. -* Version 3.0.29 (released 2013-03-22) +** libgnutls: Added Salsa20 cipher + +** libgnutls: Added UMAC-96 and UMAC-128 + +** libgnutls: Added ciphersuites involving Salsa20 and UMAC-96. +As they are not standardized they are defined using private ciphersuite +numbers. + +** libgnutls: Added support for DTLS 1.2. + +** libgnutls: Added support for the Application Layer Protocol Negotiation +(ALPN) extension. + +** libgnutls: Removed support for the RSA-EXPORT ciphersuites. + +** libgnutls: Avoid linking to librt (that also avoids unnecessary +linking to pthreads if p11-kit isn't used). + +** API and ABI modifications: +gnutls_cipher_get_iv_size: Added +gnutls_hmac_set_nonce: Added +gnutls_mac_get_nonce_size: Added + + +* Version 3.1.10 (released 2013-03-22) ** certtool: When generating PKCS #12 files use by default the ARCFOUR (RC4) cipher to be compatible with devices that don't support AES with PKCS #12. -** libgnutls: Corrected issue in gnutls_pubkey_verify_data(). - -** libgnutls: gnutls_pkcs11_reinit() will reinitialize all PKCS #11 -modules, and not only the ones loaded via p11-kit. - ** libgnutls: Load CA certificates in android 4.x systems. -** libgnutls: Corrected issue in the (deprecated) external key -signing interface, when used with TLS 1.2. Reported by Bjorn H. Christensen. +** libgnutls: Optimized CA certificate loading. + +** libgnutls: Private keys are overwritten on deinitialization. ** libgnutls: PKCS #11 slots are scanned only when needed, not on initialization. This speeds up gnutls initialization when smart cards are present. +** libgnutls: Corrected issue in the (deprecated) external key +signing interface, when used with TLS 1.2. Reported by Bjorn H. Christensen. + ** libgnutls: Fixes in openpgp handshake with fingerprints. Reported by Joke de Buhr. +** libgnutls-dane: Updated DANE verification options. + ** configure: Trust store file must be explicitly set or unset when cross compiling. ** API and ABI modifications: -No changes since last version. +gnutls_x509_crt_get_issuer_dn2: Added +gnutls_x509_crt_get_dn2: Added +gnutls_x509_crl_get_issuer_dn2: Added +gnutls_x509_crq_get_dn2: Added +gnutls_x509_trust_list_remove_trust_mem: Added +gnutls_x509_trust_list_remove_trust_file: Added +gnutls_x509_trust_list_remove_cas: Added +gnutls_session_get_desc: Added +gnutls_privkey_sign_raw_data: Added +gnutls_privkey_status: Added -* Version 3.0.28 (2012-02-04) +* Version 3.1.9 (released 2013-02-27) -** libgnutls: Fixes in server side of DTLS-0.9. +** certtool: Option --to-p12 will now ask for a password to generate +a PKCS #12 file from an encrypted key file. Reported by Yan Fiz. -** libgnutls: Corrected gnutls_cipher_decrypt2() when used with AEAD -ciphers (i.e., AES-GCM). +** libgnutls: Corrected issue in gnutls_pubkey_verify_data(). -** libgnutls: Fixes in record padding parsing to prevent a timing attack. -Issue reported by Kenny Patterson and Nadhem Alfardan. +** libgnutls: Corrected parsing issue in XMPP within a subject +alternative name. Reported by James Cloos. -** libgnutls: DN variable 'T' was expanded to 'title'. +** libgnutls: gnutls_pkcs11_reinit() will reinitialize all PKCS #11 +modules, and not only the ones loaded via p11-kit. + +** libgnutls: Added function to check whether the private key is +still available (inserted). + +** libgnutls: Try to detect fork even during nonce generation. + +** API and ABI modifications: +gnutls_handshake_set_random: Added +gnutls_transport_set_int2: Added +gnutls_transport_get_int2: Added +gnutls_transport_get_int: Added +gnutls_record_cork: Exported +gnutls_record_uncork: Exported +gnutls_pkcs11_privkey_status: Added + + +* Version 3.1.8 (released 2013-02-10) + +** libgnutls: Fixed issue in gnutls_x509_privkey_import2() which didn't return +GNUTLS_E_DECRYPTION_FAILED in all cases, and affect certtool operation +with encrypted keys. Reported by Yan Fiz. + +** libgnutls: The minimum DH bits accepted by priorities NORMAL and +PERFORMANCE was set to previous defaults 727 bits. Reported by Diego +Elio Petteno. + +** libgnutls: Corrected issue which prevented gnutls_pubkey_verify_hash() +to operate with long keys. Reported by Erik A Jensen. ** API and ABI modifications: No changes since last version. -* Version 3.0.27 (released 2013-01-03) +* Version 3.1.7 (released 2013-02-04) + +** certtool: Added option "dn" which allows to directly set the DN +in a template from an RFC4514 string. + +** danetool: Added options: --dlv and --insecure. Suggested by Paul Wouters. + +** libgnutls-xssl: Added a new library to simplify GnuTLS usage. + +** libgnutls-dane: Added function to specify a DLV file. + +** libgnutls: Heartbeat code was made optional. + +** libgnutls: Fixes in server side of DTLS-0.9. + +** libgnutls: DN variable 'T' was expanded to 'title'. + +** libgnutls: Fixes in record padding parsing to prevent a timing attack. +Issue reported by Kenny Paterson and Nadhem Alfardan. + +** libgnutls: Added functions to directly set the DN in a certificate +or request from an RFC4514 string. + +** libgnutls: Optimizations in the random generator. The re-seeding of +it is now explicitly done on every session deinit. + +** libgnutls: Simplified the DTLS sliding window implementation. + +** libgnutls: The minimum DH bits accepted by a client are now set +by the specified priority string. The current values correspond to the +previous defaults (727 bits), except for the SECURE128 and SECURE192 +strings which increase the minimum to 1248 and 1776 respectively. + +** libgnutls: Added the gnutls_record_cork() and uncork API to enable +buffering in sending application data. + +** libgnutls: Removed default random padding, and added a length-hiding interface +instead. Both the server and the client must support this extension. Whether +length-hiding can be used on a given session can be checked using +gnutls_record_can_use_length_hiding(). Contributed by Alfredo Pironti. + +** libgnutls: Added the experimental %NEW_PADDING priority string. It enables +a new padding mechanism in TLS allowing arbitrary padding in TLS records +in all ciphersuites, which makes length-hiding more efficient and solves +the issues with timing attacks on CBC ciphersuites. + +** libgnutls: Corrected gnutls_cipher_decrypt2() when used with AEAD +ciphers (i.e., AES-GCM). Reported by William McGovern. + +** API and ABI modifications: +gnutls_db_check_entry_time: Added +gnutls_record_set_timeout: Added +gnutls_record_get_random_padding_status: Added +gnutls_x509_crt_set_dn: Added +gnutls_x509_crt_set_issuer_dn: Added +gnutls_x509_crq_set_dn: Added +gnutls_range_split: Added +gnutls_record_send_range: Added +gnutls_record_set_max_empty_records: Added +gnutls_record_can_use_length_hiding: Added +gnutls_rnd_refresh: Added +xssl_deinit: Added +xssl_flush: Added +xssl_read: Added +xssl_getdelim: Added +xssl_write: Added +xssl_printf: Added +xssl_sinit: Added +xssl_client_init: Added +xssl_server_init: Added +xssl_get_session: Added +xssl_get_verify_status: Added +xssl_cred_init: Added +xssl_cred_deinit: Added +dane_state_set_dlv_file: Added +GNUTLS_SEC_PARAM_EXPORT: Added +GNUTLS_SEC_PARAM_VERY_WEAK: Added + + +* Version 3.1.6 (released 2013-01-02) ** libgnutls: Fixed record padding parsing issue. Reported by Kenny -Patterson and Nadhem Alfardan. +Paterson and Nadhem Alfardan. + +** libgnutls: Several updates in the ASN.1 string handling subsystem. + +** libgnutls: gnutls_x509_crt_get_policy() allows for a list of zero +policy qualifiers. + +** libgnutls: Ignore heartbeat messages when received out-of-order, +instead of issuing an error. -** libgnutls: Stricter RSA PKCS #1 1.5 encoding. Reported +** libgnutls: Stricter RSA PKCS #1 1.5 encoding and decoding. Reported by Kikuchi Masashi. +** libgnutls: TPM support is disabled by default because GPL programs +cannot link with it. Use --with-tpm to enable it. + ** libgnutls-guile: Fixed parallel compilation issue. +** gnutls-cli: It will try to connect to all possible returned addresses +before failing. + ** API and ABI modifications: No changes since last version. -* Version 3.0.26 (released 2012-11-09) +* Version 3.1.5 (released 2012-11-24) -** libgnutls: Always tolerate key usage violation errors from the side -of the peer, but also notify via an audit message. +** libgnutls: Added functions to parse the certificates policies +extension. -** libgnutls: gnutls_x509_crl_verify() includes time checks. +** libgnutls: Handle BMPString (UCS-2) encoding in the Distinguished +Name by translating it to UTF-8 (works on windows or systems with iconv). -** libgnutls: Increased maximum password length in the PKCS #12 -functions. +** libgnutls: Added PKCS #11 key generation function that returns the +public key on generation. + +** libgnutls: Corrected bug in priority string parsing, that mostly +affected combined levels. Patch by Tim Kosse. + +** certtool: The --pubkey-info option can be combined with the +--load-privkey or --load-request to print the corresponding public keys. + +** certtool: It is able to set certificate policies via a template. + +** certtool: Added --hex-numbers option which prints big numbers in +an easier to parse format. + +** p11tool: After key generation, outputs the public key (useful in +tokens that do not store the public key). + +** danetool: It is being built even without libgnutls-dane (the +--check functionality is disabled though). ** API and ABI modifications: -GNUTLS_CERT_REVOCATION_DATA_TOO_OLD: Added +gnutls_pkcs11_privkey_generate2: Added +gnutls_x509_crt_get_policy: Added +gnutls_x509_crt_set_policy: Added +gnutls_x509_policy_release: Added +gnutls_pubkey_import_x509_crq: Added +gnutls_pubkey_print: Added +GNUTLS_CRT_PRINT_FULL_NUMBERS: Added + + +* Version 3.1.4 (released 2012-11-10) + +** libgnutls: gnutls_certificate_verify_peers2() will set flags depending on +the available revocation data validity. + +** libgnutls: Added gnutls_certificate_verification_status_print(), +a function to print the verification status code in human readable text. + +** libgnutls: Added priority string %VERIFY_DISABLE_CRL_CHECKS. + +** libgnutls: Simplified certificate verification by adding +gnutls_certificate_verify_peers3(). + +** libgnutls: Added support for extension to establish keys for SRTP. +Contributed by Martin Storsjo. + +** libgnutls: The X.509 verification functions check the key +usage bits and pathlen constraints and on failure output +GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE. + +** libgnutls: gnutls_x509_crl_verify() includes the time checks. + +** libgnutls: Added verification flag GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN +and made GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN the default. + +** libgnutls: Always tolerate key usage violation errors from the side +of the peer, but also notify via an audit message. + +** gnutls-cli: Added --local-dns option. + +** danetool: Corrected bug that prevented loading PEM files. + +** danetool: Added --check option to allow querying and verifying +a site's DANE data. + +** libgnutls-dane: Added pkg-config file for the library. + +** API and ABI modifications: +gnutls_session_get_id2: Added +gnutls_sign_is_secure: Added +gnutls_certificate_verify_peers3: Added +gnutls_ocsp_status_request_is_checked: Added +gnutls_certificate_verification_status_print: Added +gnutls_srtp_set_profile: Added +gnutls_srtp_set_profile_direct: Added +gnutls_srtp_get_selected_profile: Added +gnutls_srtp_get_profile_name: Added +gnutls_srtp_get_profile_id: Added +gnutls_srtp_get_keys: Added +gnutls_srtp_get_mki: Added +gnutls_srtp_set_mki: Added +gnutls_srtp_profile_t: Added +dane_cert_type_name: Added +dane_match_type_name: Added +dane_cert_usage_name: Added +dane_verification_status_print: Added +GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED: Added GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE: Added +GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE: Added +GNUTLS_CERT_UNEXPECTED_OWNER: Added +GNUTLS_VERIFY_DO_NOT_ALLOW_UNSORTED_CHAIN: Added -* Version 3.0.25 (released 2012-10-12) +* Version 3.1.3 (released 2012-10-12) + +** libgnutls: Added support for the OCSP Certificate Status +extension. + +** libgnutls: gnutls_certificate_verify_peers2() will use the OCSP +certificate status extension in verification. + +** libgnutls: Bug fixes in gnutls_x509_privkey_import_openssl(). + +** libgnutls: Increased maximum password length in the PKCS #12 +functions. ** libgnutls: Fixed the receipt of session tickets during session resumption. Reported by danblack at http://savannah.gnu.org/support/?108146 +** libgnutls: Added functions to export structures in an allocated buffer. + ** libgnutls: Added gnutls_ocsp_resp_check_crt() to check whether the OCSP response corresponds to the given certificate. +** libgnutls: In client side gnutls_init() enables the session ticket and +OCSP certificate status request extensions by default. The flag +GNUTLS_NO_EXTENSIONS can be used to prevent that. + ** libgnutls: Several updates in the OpenPGP code. The generating code is fully RFC6091 compliant and RFC5081 support is only supported in client mode. -** API and ABI modifications: -gnutls_ocsp_resp_check_crt: Added +** libgnutls-dane: Added. It is a library to provide DANE with DNSSEC +certificate verification. +** gnutls-cli: Added --dane option to enable DANE certificate verification. -* Version 3.0.24 (released 2012-09-26) +** danetool: Added tool to generate DANE TLSA Resource Records (RR). -** libgnutls: The %COMPAT keyword, if specified, will tolerate -key usage violation errors (they are far too common to ignore). +** API and ABI modifications: +gnutls_certificate_get_peers_subkey_id: Added +gnutls_certificate_set_ocsp_status_request_function: Added +gnutls_certificate_set_ocsp_status_request_file: Added +gnutls_ocsp_status_request_enable_client: Added +gnutls_ocsp_status_request_get: Added +gnutls_ocsp_resp_check_crt: Added +gnutls_dh_params_export2_pkcs3: Added +gnutls_pubkey_export2: Added +gnutls_x509_crt_export2: Added +gnutls_x509_dn_export2: Added +gnutls_x509_crl_export2: Added +gnutls_pkcs7_export2: Added +gnutls_x509_privkey_export2: Added +gnutls_x509_privkey_export2_pkcs8: Added +gnutls_x509_crq_export2: Added +gnutls_openpgp_crt_export2: Added +gnutls_openpgp_privkey_export2: Added +gnutls_pkcs11_obj_export2: Added +gnutls_pkcs12_export2: Added +gnutls_pubkey_import_openpgp_raw: Added +gnutls_pubkey_import_x509_raw: Added +dane_state_init: Added +dane_state_deinit: Added +dane_query_tlsa: Added +dane_query_status: Added +dane_query_entries: Added +dane_query_data: Added +dane_query_deinit: Added +dane_verify_session_crt: Added +dane_verify_crt: Added +dane_strerror: Added + + +* Version 3.1.2 (released 2012-09-26) + +** libgnutls: Fixed bug in gnutls_x509_trust_list_add_system_trust() +and gnutls_x509_trust_list_add_trust_mem() that prevented the loading +of certificates in the windows platform. ** libgnutls: Corrected bug in OpenPGP subpacket encoding. +** libgnutls: Added support for DTLS/TLS heartbeats by Olga Smolenchuk. +(the work was done during Google Summer of Code). + ** libgnutls: Added X.509 certificate verification flag GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. This flag allows the verification of unsorted certificate chains and is enabled by default for TLS certificate verification (if gnutls_certificate_set_verify_flags() does not override it). +** libgnutls: Prints warning on certificates that contain keys of +an insecure level. If the %COMPAT priority flag is not specified +the TLS connection fails. + ** libgnutls: Correctly restore gnutls_record_recv() in DTLS mode if interrupted during the retrasmition of handshake data. +** libgnutls: Better mingw32 support (patch by LRN). + +** libgnutls: The %COMPAT keyword, if specified, will tolerate +key usage violation errors (they are far too common to ignore). + ** libgnutls: Added GNUTLS_STATELESS_COMPRESSION flag to gnutls_init(), which provides a tool to counter compression-related attacks where parts of the data are controlled by the attacker _and_ are placed in @@ -131,23 +924,147 @@ separate records (use with care - do not use compression if not sure). ** libgnutls: Depends on libtasn1 2.14 or later. -** API and ABI modifications: -No changes since last version. +** certtool: Prints the number of bits of the public key algorithm +parameter in a private key. +** API and ABI modifications: +gnutls_x509_privkey_get_pk_algorithm2: Added +gnutls_heartbeat_ping: Added +gnutls_heartbeat_pong: Added +gnutls_heartbeat_allowed: Added +gnutls_heartbeat_enable: Added +gnutls_heartbeat_set_timeouts: Added +gnutls_heartbeat_get_timeout: Added +GNUTLS_SEC_PARAM_WEAK: Added +GNUTLS_SEC_PARAM_INSECURE: Added -* Version 3.0.23 (released 2012-09-02) +* Version 3.1.1 (released 2012-09-02) ** gnutls-serv: Listens on IPv6. Patch by Bernhard R. Link. +** certtool: Changes in password handling of certtool. +Ask password when required and only if the '--password' option is not +given. If the '--password' option is given during key generation then +assume the PKCS #8 file format, instead of ignoring the password. + +** tpmtool: No longer asks for key password in registered keys. + +** libgnutls: Elliptic curve code was optimized by Ilya Tumaykin. +wmNAF is now used for point multiplication and other optimizations. +(the major part of the work was done during Google Summer of Code). + +** libgnutls: The default pull_timeout_function only uses select +instead of a combination of select() and recv() to prevent issues +when used in stream sockets in some systems. + ** libgnutls: Be tolerant in ECDSA signature violations (e.g. using SHA256 with a SECP384 curve instead of SHA-384), to interoperate with openssl. -** libgnutls: Fixed DSA and ECDSA signature generation in -smart cards. +** libgnutls: Fixed DSA and ECDSA signature generation in smart +cards. Thanks to Andreas Schwier from cardcontact.de for providing +me with ECDSA capable smart cards. ** API and ABI modifications: -No changes since last version. +gnutls_sign_algorithm_get: Added +gnutls_sign_get_hash_algorithm: Added +gnutls_sign_get_pk_algorithm: Added + + +* Version 3.1.0 (released 2012-08-15) + +** libgnutls: Added direct support for TPM as a cryptographic module +in gnutls/tpm.h. TPM keys can be used in functions accepting files +using URLs of the following types: + tpmkey:file=/path/to/file + tpmkey:uuid=7f468c16-cb7f-11e1-824d-b3a4f4b20343;storage=user + +** libgnutls: Priority string level keywords can be combined. +For example the string "SECURE256:+SUITEB128" is now allowed. + +** libgnutls: requires libnettle 2.5. + +** libgnutls: Use the PKCS #1 1.5 encoding provided by nettle (2.5) +for encryption and signatures. + +** libgnutls: Added GNUTLS_CERT_SIGNATURE_FAILURE to differentiate between +generic errors and signature verification errors in the verification +functions. + +** libgnutls: Added gnutls_pkcs12_simple_parse() as a helper function +to simplify parsing in most PKCS #12 use cases. + +** libgnutls: gnutls_certificate_set_x509_simple_pkcs12_file() adds +the whole certificate chain (if any) to the credentials structure, instead +of only the end-user certificate. + +** libgnutls: Key import functions such as gnutls_pkcs12_simple_parse() +and gnutls_x509_privkey_import_pkcs8(), return consistently +GNUTLS_E_DECRYPTION_FAILED if the input structure is encrypted but no +password was provided. + +** libgnutls: Added gnutls_handshake_set_timeout() a function that +allows to set the maximum time spent in a handshake. + +** libgnutlsxx: Added session::set_transport_vec_push_function. Patch +by Alexandre Bique. + +** tpmtool: Added. It is a tool to generate private keys in the +TPM. + +** gnutls-cli: --benchmark-tls was split to --benchmark-tls-kx +and --benchmark-tls-ciphers + +** certtool: generated PKCS #12 structures may hold more than one +private key. Patch by Lucas Fisher. + +** certtool: Added option --null-password to generate/decrypt keys +that use a NULL password (in schemas that distinguish between NULL +an empty passwords). + +** minitasn1: Upgraded to libtasn1 version 2.13. + +** API and ABI modifications: +GNUTLS_CERT_SIGNATURE_FAILURE: Added +GNUTLS_CAMELLIA_192_CBC: Added +GNUTLS_PKCS_NULL_PASSWORD: Added +gnutls_url_is_supported: Added +gnutls_pkcs11_obj_list_import_url2: Added +gnutls_pkcs11_obj_set_pin_function: Added +gnutls_pkcs11_privkey_set_pin_function: Added +gnutls_pkcs11_get_pin_function: Added +gnutls_privkey_import_tpm_raw: Added +gnutls_privkey_import_tpm_url: Added +gnutls_privkey_import_pkcs11_url: Added +gnutls_privkey_import_openpgp_raw: Added +gnutls_privkey_import_x509_raw: Added +gnutls_privkey_import_ext2: Added +gnutls_privkey_import_url: Added +gnutls_privkey_set_pin_function: Added +gnutls_tpm_privkey_generate: Added +gnutls_tpm_key_list_deinit: Added +gnutls_tpm_key_list_get_url: Added +gnutls_tpm_get_registered: Added +gnutls_tpm_privkey_delete: Added +gnutls_pubkey_import_tpm_raw: Added +gnutls_pubkey_import_tpm_url: Added +gnutls_pubkey_import_url: Added +gnutls_pubkey_verify_hash2: Added +gnutls_pubkey_set_pin_function: Added +gnutls_x509_privkey_import2: Added +gnutls_x509_privkey_import_openssl: Added +gnutls_x509_crt_set_pin_function: Added +gnutls_load_file: Added +gnutls_pkcs12_simple_parse: Added +gnutls_certificate_set_x509_system_trust: Added +gnutls_certificate_set_pin_function: Added +gnutls_x509_trust_list_add_system_trust: Added +gnutls_x509_trust_list_add_trust_file: Added +gnutls_x509_trust_list_add_trust_mem: Added +gnutls_pk_to_sign: Added +gnutls_handshake_set_timeout: Added +gnutls_pubkey_verify_hash: Deprecated (use gnutls_pubkey_verify_hash2) +gnutls_pubkey_verify_data: Deprecated (use gnutls_pubkey_verify_data2) * Version 3.0.22 (released 2012-08-04) @@ -362,7 +1279,7 @@ No changes since last version. ** gnutls-cli: added the --ocsp option which will verify the peer's certificate with OCSP. -** gnutls-cli: added the --tofu and if specified, gnutls-cli +** gnutls-cli: added the --tofu option and if specified, gnutls-cli will use an ssh-style authentication method. ** gnutls-cli: if no --x509cafile is provided a default is diff --git a/README b/README index 5e24f57..637e5de 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ See the end of this document for copying conditions. GnuTLS implements the TLS/SSL (Transport Layer Security aka Secure Sockets Layer) protocol. GnuTLS is a GNU project. Additional -information can be found at +information can be found at and . @@ -14,7 +14,7 @@ This README is targeted for users of the library who build from sources but do not necessarily develop. If you are interested in developing and contributing to the GnuTLS project, please see README-alpha and visit -http://www.gnu.org/software/gnutls/manual/html_node/Contributing.html. +http://www.gnutls.org/manual/html_node/Contributing.html. COMPILATION @@ -26,16 +26,32 @@ by running './configure --help'. cd gnutls- ./configure --prefix=/usr make + make check sudo make install The commands above build and install the static archive (libgnutls.a), the shared object (libgnutls.so), and additional binaries such as certtool and gnutls-cli. -The library depends on libnettle and p11-kit. Versions -2.10.3 and prior used libgcrypt as the default cryptographic library. -Nettle can be found at http://www.gnu.org/software/nettle/, while -p11-kit can be found at . +The library depends on libnettle and gmplib. + * gmplib: for big number arithmetic + http://gmplib.org/ + * nettle: for cryptographic algorithms + http://www.lysator.liu.se/~nisse/nettle/ + +Versions 2.10.3 and prior used libgcrypt as the default cryptographic library. + +Optionally it may use the following libraries: + * libtasn1: For ASN.1 parsing (a copy is included, if not found) + http://www.gnu.org/software/libtasn1/ + * p11-kit: for smart card support + http://p11-glue.freedesktop.org/p11-kit.html + * libtspi: for Trusted Platform Module (TPM) support, + http://trousers.sourceforge.net/ + * libunbound: For DNSSEC/DANE support, + http://unbound.net/ + * libz: For compression support. + http://www.zlib.net/ To configure libnettle for installation and use by GnuTLS, a typical command sequence would be: @@ -60,13 +76,13 @@ and zlib, may be required. DOCUMENTATION ------------- See the documentation in doc/ and online at -http://www.gnu.org/software/gnutls/manual. +http://www.gnutls.org/manual. EXAMPLES -------- See the examples in doc/examples/ and online at 'How To Use GnuTLS in -Applications' at http://www.gnu.org/software/gnutls/manual. +Applications' at http://www.gnutls.org/manual. SECURITY ADVISORIES @@ -75,19 +91,27 @@ The project collects and publishes information on past security incidents and vulnerabilities. Open information exchange, including information which is [sometimes] suppressed in non-open or non-free projects, is one of the goals of the GnuTLS project. Please visit -http://www.gnu.org/software/gnutls/security.html. +http://www.gnutls.org/security.html. MAILING LISTS ------------- The GnuTLS project maintains mailing lists for users, developers, and -commits. Please see http://www.gnu.org/software/gnutls/lists.html. +commits. Please see http://www.gnutls.org/lists.html. LICENSING --------- -Since GnuTLS version 3.0.0, the core library has been released under -the GNU Lesser General Public License (LGPL) version 3 or later. +Since GnuTLS version 3.1.10, the core library has been released under +the GNU Lesser General Public License (LGPL) version 2.1 or later. + +Note, however, that version 6.0.0 and later of the gmplib library used +by GnuTLS are distributed under a LGPLv3+ or GPLv2+ dual license, and +as such binaries of this library need to be distributed under either +LGPLv3+ or GPLv2+ license. If this is undesirable older versions +of the gmplib which are under LGPLv2.1 (e.g., version 4.2.1) may be +used instead. (gmplib versions between 4.2.2 through 5.1.3 were +licensed under LGPLv3+ only). The GNU LGPL applies to the main GnuTLS library, while the included applications as well as gnutls-openssl @@ -106,9 +130,8 @@ developers do not have access to a particular piece of hardware or configuration to reproduce a scenario. Notifying the developers about a possible bug will greatly help the project. -If you believe you have found a bug, please report it to bug-gnutls@gnu.org -together with any applicable information. A web interface for the system -is available at http://savannah.gnu.org/support/?group=gnutls. +If you believe you have found a bug, please report it to bugs@gnutls.org +together with any applicable information. Applicable information would include why the issue is a GnuTLS bug (if not readily apparent), output from 'uname -a', the version of the library or diff --git a/THANKS b/THANKS index 123c733..1e469b9 100644 --- a/THANKS +++ b/THANKS @@ -51,7 +51,7 @@ Daniel Stenberg *daniel [at] haxx.se* Jouni Malinen *jkmaline [at] cc.hut.fi* Evgeny Legerov *admin [at] gleg.net* John Heiden *JHeiden [at] UTNet.UToledo.Edu* -Andreas Metzler *ametzler [at] downhill.at.eu.org* +Andreas Metzler *ametzler [at] bebt.de* Mario Lenz *mario.lenz [at] gmx.net* Jefferson Ogata *Jefferson.Ogata [at] noaa.gov* Sascha Ziemann *sascha.ziemann [at] secunet.com* @@ -128,6 +128,39 @@ Eli Zaretskii *eliz [at] gnu.org* Patrick Pelletier *code [at] funwithsoftware.org* Sean Buckheister *s_buckhe [at] cs.uni-kl.de* Matthew Hall *mhall [at] mhcomputing.net* +Lucas Fisher *lucas.fisher [at] gmail.com* +Kikuchi Masashi *kikuchi [at] lepidum.co.jp* +Bartosz Brachaczek *b.brachaczek [at] gmail.com* +Bernhard R. Link *brlink [at] debian.org* +Rob McMahon *robmcmahoncv [at] gmail.com* +Mann Ern Kang *mann.ern.kang [at] gmail.com* +Daniel Mierswa *impulze [at] impulze.org* +B. Scott Michel *scottm [at] aero.org* +Bruce Korb *bkorb [at] gnu.org* +Nadhem Alfardan *Nadhem.Alfardan.2009 [at] live.rhul.ac.uk* +Pino Toscano *pino [at] debian.org* +Somchai Smythe *buraphalinuxserver [at] gmail.com* +Cedric Arbogast *arbogast.cedric [at] gmail.com* +Pavan Konjarla *pavan.konjarla [at] hp.com* +Bill Randle *billr [at] neocat.org* +Boyan Kasarov *bkasarov [at] gmail.com* +Michael Weiser *michael [at] weiser.dinsnail.net* +Emile van Bergen *emile [at] e-advies.nl* +David Marin Carreno *davefx [at] gmail.com* +Ruslan Ijbulatov (LRN) *lrn1986 [at] gmail.com* +Olga Smolenchuk *olyasib12 [at] gmail.com* +Ilya Tumaykin *itumaykin [at] gmail.com* +Frank Morgner *morgner [at] informatik.hu-berlin.de* +Jason Spafford *nullprogrammer [at] gmail.com* +Jared Wong *jaredlwong [at] gmail.com* +Alexandre Bique *bique.alexandre [at] gmail.com* +Alfredo Pironti *alfredo [at] pironti.eu* +Raj Raman *rajramanca [at] gmail.com* +Kurt Roeckx *kurt [at] roeckx.be* +Attila Molnar *attilamolnar [at] hush.com* +Giuseppe Scrivano *gscrivano [at] gnu.org* +Gustavo Zacarias *gustavo [at] zacarias.com.ar* + ---------------------------------------------------------------------- Copying and distribution of this file, with or without modification, diff --git a/TODO b/TODO deleted file mode 100644 index 915935c..0000000 --- a/TODO +++ /dev/null @@ -1,2 +0,0 @@ -* greek certificates -* upgrade in doc diff --git a/aclocal.m4 b/aclocal.m4 index d78102a..ac7c4f6 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,8 +1,7 @@ -# generated automatically by aclocal 1.11.6 -*- Autoconf -*- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, -# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,33 +11,31 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' +[am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.6], [], +m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -54,21 +51,79 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.6])dnl +[AM_AUTOMAKE_VERSION([1.14.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_AR([ACT-IF-FAIL]) +# ------------------------- +# Try to determine the archiver interface, and trigger the ar-lib wrapper +# if it is needed. If the detection of archiver interface fails, run +# ACT-IF-FAIL (default is to abort configure with a proper error message). +AC_DEFUN([AM_PROG_AR], +[AC_BEFORE([$0], [LT_INIT])dnl +AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([ar-lib])dnl +AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) +: ${AR=ar} + +AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], + [AC_LANG_PUSH([C]) + am_cv_ar_interface=ar + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], + [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([am_ar_try]) + if test "$ac_status" -eq 0; then + am_cv_ar_interface=ar + else + am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([am_ar_try]) + if test "$ac_status" -eq 0; then + am_cv_ar_interface=lib + else + am_cv_ar_interface=unknown + fi + fi + rm -f conftest.lib libconftest.a + ]) + AC_LANG_POP([C])]) + +case $am_cv_ar_interface in +ar) + ;; +lib) + # Microsoft lib, so override with the ar-lib wrapper script. + # FIXME: It is wrong to rewrite AR. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__AR in this case, + # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something + # similar. + AR="$am_aux_dir/ar-lib $AR" + ;; +unknown) + m4_default([$1], + [AC_MSG_ERROR([could not determine $AR interface])]) + ;; +esac +AC_SUBST([AR])dnl +]) + # Figure out how to run the assembler. -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 - # AM_PROG_AS # ---------- AC_DEFUN([AM_PROG_AS], @@ -83,17 +138,15 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and @@ -112,7 +165,7 @@ _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you +# harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, @@ -138,22 +191,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl @@ -172,16 +222,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, -# 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 12 -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing @@ -191,7 +239,7 @@ fi])]) # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -204,12 +252,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], @@ -217,8 +266,8 @@ AC_CACHE_CHECK([dependency style of $depcc], # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -258,16 +307,16 @@ AC_CACHE_CHECK([dependency style of $depcc], : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -276,8 +325,8 @@ AC_CACHE_CHECK([dependency style of $depcc], test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -285,7 +334,7 @@ AC_CACHE_CHECK([dependency style of $depcc], fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -333,7 +382,7 @@ AM_CONDITIONAL([am__fastdep$1], [ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl @@ -343,9 +392,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' @@ -360,20 +413,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -386,7 +437,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -398,21 +449,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -430,7 +479,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will +# is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], @@ -440,18 +489,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 16 - # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -464,7 +516,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl +[AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -493,31 +545,40 @@ AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl @@ -528,34 +589,79 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi ]) -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -577,15 +683,12 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. @@ -599,16 +702,14 @@ if test x"${install_sh}" != xset; then install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -624,14 +725,12 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -649,7 +748,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -674,52 +773,14 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -dnl Make sure AC_PROG_CC is never called again, or it will override our -dnl setting of CC. -m4_define([AC_PROG_CC], - [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -]) - # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -727,11 +788,10 @@ AC_DEFUN([AM_MISSING_PROG], $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) - # AM_MISSING_HAS_RUN # ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl @@ -744,29 +804,32 @@ if test x"${MISSING+set}" != xset; then esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) + AC_MSG_WARN(['missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_MKDIR_P # --------------- -# Check for `mkdir -p'. +# Check for 'mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl FIXME we are no longer going to remove this! adjust warning +dnl FIXME message accordingly. +AC_DIAGNOSE([obsolete], +[$0: this macro is deprecated, and will soon be removed. +You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, +and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. @@ -783,15 +846,12 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], @@ -801,7 +861,7 @@ AC_DEFUN([_AM_MANGLE_OPTION], # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ @@ -815,24 +875,82 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Check to make sure that the build environment is sane. -*- Autoconf -*- +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -843,32 +961,40 @@ case `pwd` in esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -878,31 +1004,50 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) -# Copyright (C) 2009, 2011 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). +# ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl -dnl A few `make' implementations (e.g., NonStop OS and NextStep) +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} @@ -920,7 +1065,7 @@ else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then - dnl Using `$V' instead of `$(V)' breaks IRIX make. + dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else @@ -937,44 +1082,40 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize +# always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. +# Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. @@ -988,18 +1129,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. +# Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory @@ -1009,231 +1148,226 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar +# AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. + +# We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([src/gl/m4/arpa_inet_h.m4]) +m4_include([src/gl/m4/bison.m4]) +m4_include([src/gl/m4/clock_time.m4]) +m4_include([src/gl/m4/close.m4]) +m4_include([src/gl/m4/dup2.m4]) +m4_include([src/gl/m4/eealloc.m4]) +m4_include([src/gl/m4/environ.m4]) +m4_include([src/gl/m4/error.m4]) +m4_include([src/gl/m4/fseek.m4]) +m4_include([src/gl/m4/getaddrinfo.m4]) +m4_include([src/gl/m4/getpass.m4]) +m4_include([src/gl/m4/gettime.m4]) +m4_include([src/gl/m4/gnulib-comp.m4]) +m4_include([src/gl/m4/hostent.m4]) +m4_include([src/gl/m4/inet_ntop.m4]) +m4_include([src/gl/m4/inet_pton.m4]) +m4_include([src/gl/m4/malloca.m4]) +m4_include([src/gl/m4/mktime.m4]) +m4_include([src/gl/m4/parse-datetime.m4]) +m4_include([src/gl/m4/select.m4]) +m4_include([src/gl/m4/servent.m4]) +m4_include([src/gl/m4/setenv.m4]) +m4_include([src/gl/m4/signal_h.m4]) +m4_include([src/gl/m4/socketlib.m4]) +m4_include([src/gl/m4/sockets.m4]) +m4_include([src/gl/m4/strdup.m4]) +m4_include([src/gl/m4/strerror.m4]) +m4_include([src/gl/m4/sys_select_h.m4]) +m4_include([src/gl/m4/timespec.m4]) +m4_include([src/gl/m4/tm_gmtoff.m4]) +m4_include([src/gl/m4/xalloc.m4]) m4_include([src/libopts/m4/libopts.m4]) m4_include([gl/m4/00gnulib.m4]) +m4_include([gl/m4/absolute-header.m4]) m4_include([gl/m4/alloca.m4]) -m4_include([gl/m4/alphasort.m4]) -m4_include([gl/m4/argp.m4]) -m4_include([gl/m4/arpa_inet_h.m4]) m4_include([gl/m4/base64.m4]) m4_include([gl/m4/byteswap.m4]) -m4_include([gl/m4/clock_time.m4]) -m4_include([gl/m4/close.m4]) -m4_include([gl/m4/closedir.m4]) -m4_include([gl/m4/dirent_h.m4]) -m4_include([gl/m4/dirname.m4]) -m4_include([gl/m4/double-slash-root.m4]) -m4_include([gl/m4/dup2.m4]) -m4_include([gl/m4/eealloc.m4]) -m4_include([gl/m4/environ.m4]) m4_include([gl/m4/errno_h.m4]) -m4_include([gl/m4/error.m4]) m4_include([gl/m4/exponentd.m4]) -m4_include([gl/m4/exponentf.m4]) -m4_include([gl/m4/exponentl.m4]) m4_include([gl/m4/extensions.m4]) m4_include([gl/m4/extern-inline.m4]) m4_include([gl/m4/fcntl_h.m4]) m4_include([gl/m4/fdopen.m4]) m4_include([gl/m4/float_h.m4]) m4_include([gl/m4/fpieee.m4]) -m4_include([gl/m4/frexp.m4]) -m4_include([gl/m4/frexpl.m4]) -m4_include([gl/m4/fseek.m4]) m4_include([gl/m4/fseeko.m4]) -m4_include([gl/m4/fseterr.m4]) m4_include([gl/m4/fstat.m4]) m4_include([gl/m4/ftell.m4]) m4_include([gl/m4/ftello.m4]) -m4_include([gl/m4/ftruncate.m4]) m4_include([gl/m4/func.m4]) -m4_include([gl/m4/getaddrinfo.m4]) -m4_include([gl/m4/getcwd.m4]) m4_include([gl/m4/getdelim.m4]) -m4_include([gl/m4/getdtablesize.m4]) m4_include([gl/m4/getline.m4]) -m4_include([gl/m4/getopt.m4]) m4_include([gl/m4/getpagesize.m4]) -m4_include([gl/m4/getpass.m4]) -m4_include([gl/m4/getsubopt.m4]) -m4_include([gl/m4/gettime.m4]) m4_include([gl/m4/gettimeofday.m4]) m4_include([gl/m4/gnulib-common.m4]) m4_include([gl/m4/gnulib-comp.m4]) -m4_include([gl/m4/hostent.m4]) m4_include([gl/m4/include_next.m4]) -m4_include([gl/m4/inet_ntop.m4]) -m4_include([gl/m4/inet_pton.m4]) m4_include([gl/m4/intmax_t.m4]) m4_include([gl/m4/inttypes.m4]) -m4_include([gl/m4/ioctl.m4]) -m4_include([gl/m4/isnand.m4]) -m4_include([gl/m4/isnanf.m4]) -m4_include([gl/m4/isnanl.m4]) m4_include([gl/m4/largefile.m4]) m4_include([gl/m4/ld-output-def.m4]) m4_include([gl/m4/ld-version-script.m4]) -m4_include([gl/m4/ldexpl.m4]) m4_include([gl/m4/lseek.m4]) -m4_include([gl/m4/lstat.m4]) m4_include([gl/m4/malloc.m4]) -m4_include([gl/m4/malloca.m4]) m4_include([gl/m4/manywarnings.m4]) -m4_include([gl/m4/math_h.m4]) m4_include([gl/m4/memchr.m4]) m4_include([gl/m4/memmem.m4]) -m4_include([gl/m4/mempcpy.m4]) m4_include([gl/m4/minmax.m4]) m4_include([gl/m4/mmap-anon.m4]) -m4_include([gl/m4/mode_t.m4]) m4_include([gl/m4/msvc-inval.m4]) m4_include([gl/m4/msvc-nothrow.m4]) m4_include([gl/m4/multiarch.m4]) m4_include([gl/m4/netdb_h.m4]) m4_include([gl/m4/netinet_in_h.m4]) -m4_include([gl/m4/nocrash.m4]) m4_include([gl/m4/off_t.m4]) m4_include([gl/m4/onceonly_2_57.m4]) -m4_include([gl/m4/open.m4]) -m4_include([gl/m4/opendir.m4]) -m4_include([gl/m4/pathmax.m4]) -m4_include([gl/m4/perror.m4]) -m4_include([gl/m4/pipe.m4]) -m4_include([gl/m4/printf-frexp.m4]) -m4_include([gl/m4/printf-frexpl.m4]) m4_include([gl/m4/printf.m4]) -m4_include([gl/m4/putenv.m4]) -m4_include([gl/m4/rawmemchr.m4]) m4_include([gl/m4/read-file.m4]) -m4_include([gl/m4/readdir.m4]) m4_include([gl/m4/realloc.m4]) -m4_include([gl/m4/scandir.m4]) -m4_include([gl/m4/select.m4]) -m4_include([gl/m4/servent.m4]) -m4_include([gl/m4/setenv.m4]) -m4_include([gl/m4/signal_h.m4]) -m4_include([gl/m4/signbit.m4]) -m4_include([gl/m4/sleep.m4]) m4_include([gl/m4/snprintf.m4]) -m4_include([gl/m4/socketlib.m4]) -m4_include([gl/m4/sockets.m4]) m4_include([gl/m4/socklen.m4]) m4_include([gl/m4/sockpfaf.m4]) m4_include([gl/m4/ssize_t.m4]) -m4_include([gl/m4/stat.m4]) m4_include([gl/m4/stdalign.m4]) -m4_include([gl/m4/stdarg.m4]) m4_include([gl/m4/stdbool.m4]) m4_include([gl/m4/stddef_h.m4]) m4_include([gl/m4/stdint.m4]) m4_include([gl/m4/stdio_h.m4]) m4_include([gl/m4/stdlib_h.m4]) m4_include([gl/m4/strcase.m4]) -m4_include([gl/m4/strchrnul.m4]) -m4_include([gl/m4/strdup.m4]) -m4_include([gl/m4/strerror.m4]) -m4_include([gl/m4/strerror_r.m4]) m4_include([gl/m4/string_h.m4]) m4_include([gl/m4/strings_h.m4]) m4_include([gl/m4/strndup.m4]) m4_include([gl/m4/strnlen.m4]) m4_include([gl/m4/strtok_r.m4]) m4_include([gl/m4/strverscmp.m4]) -m4_include([gl/m4/symlink.m4]) -m4_include([gl/m4/sys_ioctl_h.m4]) -m4_include([gl/m4/sys_select_h.m4]) m4_include([gl/m4/sys_socket_h.m4]) m4_include([gl/m4/sys_stat_h.m4]) m4_include([gl/m4/sys_time_h.m4]) m4_include([gl/m4/sys_types_h.m4]) m4_include([gl/m4/sys_uio_h.m4]) -m4_include([gl/m4/sysexits.m4]) m4_include([gl/m4/time_h.m4]) m4_include([gl/m4/time_r.m4]) -m4_include([gl/m4/timer_time.m4]) -m4_include([gl/m4/timespec.m4]) m4_include([gl/m4/ungetc.m4]) m4_include([gl/m4/unistd_h.m4]) m4_include([gl/m4/valgrind-tests.m4]) m4_include([gl/m4/vasnprintf.m4]) m4_include([gl/m4/vasprintf.m4]) -m4_include([gl/m4/version-etc.m4]) -m4_include([gl/m4/vfprintf-posix.m4]) -m4_include([gl/m4/vprintf-posix.m4]) m4_include([gl/m4/vsnprintf.m4]) m4_include([gl/m4/warn-on-use.m4]) m4_include([gl/m4/warnings.m4]) @@ -1251,7 +1385,6 @@ m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) -m4_include([m4/lock.m4]) m4_include([m4/longlong.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) @@ -1263,7 +1396,6 @@ m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) m4_include([m4/size_max.m4]) m4_include([m4/stdint_h.m4]) -m4_include([m4/threadlib.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/xsize.m4]) diff --git a/build-aux/ar-lib b/build-aux/ar-lib index c0286a4..fe2301e 100755 --- a/build-aux/ar-lib +++ b/build-aux/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-01-30.22; # UTC +scriptversion=2012-03-01.08; # UTC -# Copyright (C) 2010, 2012 Free Software Foundation, Inc. +# Copyright (C) 2010-2013 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -153,7 +153,9 @@ action=${action#-} delete= extract= list= +quick= replace= +index= create= while test -n "$action" @@ -162,7 +164,10 @@ do d*) delete=yes ;; x*) extract=yes ;; t*) list=yes ;; + q*) quick=yes ;; r*) replace=yes ;; + s*) index=yes ;; + S*) ;; # the index is always updated implicitly c*) create=yes ;; u*) ;; # TODO: don't ignore the update modifier v*) ;; # TODO: don't ignore the verbose modifier @@ -173,8 +178,8 @@ do action=${action#?} done -case $delete$extract$list$replace in - yes) +case $delete$extract$list$quick$replace,$index in + yes,* | ,yes) ;; yesyes*) func_error "more than one action specified" @@ -225,7 +230,7 @@ elif test -n "$extract"; then done fi -elif test -n "$replace"; then +elif test -n "$quick$replace"; then if test ! -f "$orig_archive"; then if test -z "$create"; then echo "$me: creating $orig_archive" diff --git a/build-aux/compile b/build-aux/compile index 862a14e..531136b 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,10 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-03-05.13; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free -# Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -113,6 +112,11 @@ func_cl_dashl () lib=$dir/$lib.lib break fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi done IFS=$save_IFS diff --git a/build-aux/config.guess b/build-aux/config.guess index d622a44..b79252d 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-02-10' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -22,19 +20,17 @@ timestamp='2012-02-10' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -54,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -801,6 +820,9 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; @@ -852,21 +874,21 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -879,59 +901,54 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -950,54 +967,63 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + or1k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1201,6 +1227,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1227,19 +1256,21 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1256,7 +1287,7 @@ EOF NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1330,9 +1361,6 @@ EOF exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c <, 1996 # diff --git a/build-aux/config.sub b/build-aux/config.sub index 6205f84..9633db7 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2012-04-18' +timestamp='2013-08-10' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . @@ -26,11 +20,12 @@ timestamp='2012-04-18' # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. +Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -123,7 +116,7 @@ esac maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) @@ -156,7 +149,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -259,10 +252,12 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | be32 | be64 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -273,7 +268,7 @@ case $basic_machine in | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -291,16 +286,17 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -370,13 +366,13 @@ case $basic_machine in | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -389,7 +385,8 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -407,12 +404,13 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ @@ -788,11 +786,15 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -828,7 +830,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i386-pc + basic_machine=i686-pc os=-msys ;; mvs) @@ -1019,7 +1021,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1346,21 +1352,21 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1492,9 +1498,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1543,6 +1546,9 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; hexagon-*) os=-elf ;; @@ -1586,6 +1592,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/build-aux/depcomp b/build-aux/depcomp index 25a39e6..4ebd5b3 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2012-03-27.16; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC case $1 in '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -57,11 +56,65 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + # A tabulation character. tab=' ' # A newline character. nl=' ' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 @@ -75,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -86,32 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 fi if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. - gccflag=-qmakedep=gcc,-MF - depmode=gcc + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -134,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -143,13 +198,17 @@ gcc3) ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then @@ -157,15 +216,14 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. + # The second -e expression handles DOS-style file names with drive + # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. @@ -174,15 +232,15 @@ gcc) ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' "$nl" < "$tmpdepfile" | ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -200,8 +258,7 @@ sgi) "$@" -MDupdate "$tmpdepfile" fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -209,7 +266,6 @@ sgi) if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in @@ -217,19 +273,15 @@ sgi) # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr "$nl" ' ' >> "$depfile" + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" - # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" ;; @@ -247,9 +299,8 @@ aix) # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -262,9 +313,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -273,65 +322,113 @@ aix) do test -f "$tmpdepfile" && break done - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependent.h'. - # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; -icc) - # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. - # However on - # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\': + # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... - # tcc 0.9.26 (FIXME still under development at the moment of writing) - # will emit a similar output, but also prepend the continuation lines - # with horizontal tabulation characters. - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" - # Each line is of the form 'foo.o: dependent.h', - # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ - < "$tmpdepfile" > "$depfile" - sed ' - s/[ '"$tab"'][ '"$tab"']*/ /g - s/^ *// - s/ *\\*$// - s/^[^:]*: *// - /^$/d - /:$/d - s/$/ :/ - ' < "$tmpdepfile" >> "$depfile" + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -342,9 +439,8 @@ hp2) # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -355,8 +451,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -366,76 +461,61 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; msvc7) if test "$libtool" = yes; then @@ -446,8 +526,7 @@ msvc7) "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -473,6 +552,7 @@ $ { G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; @@ -524,13 +604,14 @@ dashmstdout) # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' "$nl" < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -583,10 +664,12 @@ makedepend) # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -622,10 +705,10 @@ cpp) esac done - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -657,15 +740,15 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh index e4bfc9f..f9ec9df 100755 --- a/build-aux/gendocs.sh +++ b/build-aux/gendocs.sh @@ -2,7 +2,7 @@ # gendocs.sh -- generate a GNU manual in many formats. This script is # mentioned in maintain.texi. See the help message below for usage details. -scriptversion=2013-02-03.15 +scriptversion=2013-10-10.09 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 # Free Software Foundation, Inc. @@ -272,6 +272,7 @@ mkdir -p "$outdir/" cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" echo "Generating info... ($cmd)" +rm -f $PACKAGE.info* # get rid of any strays eval "$cmd" tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info* ls -l "$outdir/$PACKAGE.info.tar.gz" @@ -307,6 +308,7 @@ if $generate_ascii; then ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz" fi +# Split HTML at level $1. Used for texi2html. html_split() { opt="--split=$1 --node-files $commonarg $htmlarg" @@ -339,7 +341,16 @@ if test -z "$use_texi2html"; then mv $PACKAGE.html "$outdir/" ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz" - opt="--html -o $PACKAGE.html --split=$split $commonarg $htmlarg" + # Before Texinfo 5.0, makeinfo did not accept a --split=HOW option, + # it just always split by node. So if we're splitting by node anyway, + # leave it out. + if test "x$split" = xnode; then + split_arg= + else + split_arg=--split=$split + fi + # + opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg" cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" printf "\nGenerating html by $split... ($cmd)\n" eval "$cmd" diff --git a/build-aux/install-sh b/build-aux/install-sh index a9244eb..377bb86 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written @@ -156,7 +156,7 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac @@ -202,7 +202,7 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi @@ -240,7 +240,7 @@ fi for src do - # Protect names problematic for `test' and other utilities. + # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac @@ -354,7 +354,7 @@ do if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. + # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh index 499e473..9fe8f59 100644 --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -70,7 +70,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.2 +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.6 # automake: $automake_version # autoconf: $autoconf_version # @@ -80,7 +80,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.2" +VERSION="2.4.2 Debian-2.4.2-1.6" TIMESTAMP="" package_revision=1.3337 diff --git a/build-aux/mdate-sh b/build-aux/mdate-sh index 60dc485..b3719cf 100755 --- a/build-aux/mdate-sh +++ b/build-aux/mdate-sh @@ -3,8 +3,7 @@ scriptversion=2010-08-21.06; # UTC -# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010 -# Free Software Foundation, Inc. +# Copyright (C) 1995-2013 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -40,7 +39,7 @@ fi case $1 in '') - echo "$0: No file. Try \`$0 --help' for more information." 1>&2 + echo "$0: No file. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) @@ -76,7 +75,7 @@ LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE -# variable. Since we cannot assume `unset' works, revert this +# variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso @@ -96,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi -# A `ls -l' line looks as follows on OS/2. +# A 'ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a -# user named `Jan', or `Feb', etc. However, it's unlikely that `/' +# user named "Jan", or "Feb", etc. However, it's unlikely that '/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. @@ -116,7 +115,7 @@ month= command= until test $month do - test $# -gt 0 || error "failed parsing \`$ls_command /' output" + test $# -gt 0 || error "failed parsing '$ls_command /' output" shift # Add another shift to the command. command="$command shift;" @@ -136,7 +135,7 @@ do esac done -test -n "$month" || error "failed parsing \`$ls_command /' output" +test -n "$month" || error "failed parsing '$ls_command /' output" # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\\\$save_arg1\""` diff --git a/build-aux/missing b/build-aux/missing index 86a8fc3..db98974 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-01-06.13; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to ." exit $? @@ -99,228 +70,141 @@ Send bug reports to ." ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" ;; -esac - -exit 0 + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/build-aux/pmccabe2html b/build-aux/pmccabe2html index 863c73e..81dd932 100644 --- a/build-aux/pmccabe2html +++ b/build-aux/pmccabe2html @@ -1,6 +1,6 @@ # pmccabe2html - AWK script to convert pmccabe output to html -*- awk -*- -# Copyright (C) 2007-2013 Free Software Foundation, Inc. +# Copyright (C) 2007-2014 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -47,6 +47,10 @@ # Prologue & configuration BEGIN { + # Portable lookup of present time. + "date +%s" | getline epoch_time + "date" | getline chronos_time + section_global_stats_p = 1 section_function_cyclo_p = 1 @@ -69,7 +73,7 @@ BEGIN { Copyright (c) 2007, 2008 Free Software Foundation, Inc." html_doctype = "" - html_comment = "" + html_comment = "" html_title = "Cyclomatic Complexity report for " package_name # Wiki options @@ -211,7 +215,7 @@ function html_header () print cssline } print "-->" - print "" + print "" close(css) } print "" @@ -418,9 +422,9 @@ function html_fnc (nfun, while ((getline codeline < (fname nfun "_fn.txt")) > 0) { - sub(/\\/, ">", codeline) - sub(/&/, "&", codeline) + gsub(/&/, "\&", codeline) # Must come first. + gsub(//, "\>", codeline) print codeline } @@ -852,12 +856,12 @@ END { if (output_lang == "html") { print "
" package_name " Cyclomatic Complexity Report
" - print "

Report generated at: " strftime() "

" + print "

Report generated at: " chronos_time "

" } if (output_lang == "wiki") { print "==" package_name " Cyclomatic Complexity Report==" - print "Report generated at: '''" strftime() "'''" + print "Report generated at: '''" chronos_time "'''" } if (section_global_stats_p) diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h index 8ea2a47..9ee8b15 100644 --- a/build-aux/snippet/arg-nonnull.h +++ b/build-aux/snippet/arg-nonnull.h @@ -1,5 +1,5 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2013 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h index b35b933..67b1233 100644 --- a/build-aux/snippet/c++defs.h +++ b/build-aux/snippet/c++defs.h @@ -1,5 +1,5 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h index 1736a1b..1c4d7bd 100644 --- a/build-aux/snippet/warn-on-use.h +++ b/build-aux/snippet/warn-on-use.h @@ -1,5 +1,5 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published diff --git a/build-aux/test-driver b/build-aux/test-driver new file mode 100755 index 0000000..d306056 --- /dev/null +++ b/build-aux/test-driver @@ -0,0 +1,139 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index 85b68e7..85f184c 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2012-03-11.15} +\def\texinfoversion{2013-02-01.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -24,13 +24,14 @@ % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) +% restriction. This Exception is an additional permission under section 7 +% of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org). +% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% http://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % @@ -594,7 +595,7 @@ \def\:{\spacefactor=1000 } % @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} +\def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak @@ -1117,7 +1118,7 @@ where each line of input produces a line of output.} % #1 is a control sequence in which to do the replacements, % which we \xdef. \def\txiescapepdf#1{% - \ifx\pdfescapestring\relax + \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. \else @@ -1367,9 +1368,8 @@ output) for that.)} \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 \fi \nextsp} \def\getfilename#1{% @@ -1475,9 +1475,6 @@ output) for that.)} \def\ttsl{\setfontstyle{ttsl}} -% Default leading. -\newdimen\textleading \textleading = 13.2pt - % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. @@ -1489,6 +1486,7 @@ output) for that.)} % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % +\newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 @@ -1761,18 +1759,24 @@ end \fi\fi -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). +% Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). +% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). +% Example: +% #1 = \textrm +% #2 = \rmshape +% #3 = 10 +% #4 = \mainmagstep +% #5 = OT1 +% \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble -% emacs-page end of cmaps +% +% (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix @@ -1782,7 +1786,7 @@ end \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold +\def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} @@ -1797,8 +1801,7 @@ end \def\scshape{csc} \def\scbshape{csc} -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. +% Definitions for a main text size of 11pt. (The default in Texinfo.) % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). @@ -1923,7 +1926,7 @@ end \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm -} % end of 11pt text font size definitions +} % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with @@ -2055,7 +2058,7 @@ end \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm -} % end of 10pt text font size definitions +} % end of 10pt text font size definitions, \definetextfontsizex % We provide the user-level command @@ -2270,8 +2273,6 @@ end \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft @@ -2280,6 +2281,9 @@ end \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % +\let\markupsetuplqkbd \markupsetcodequoteleft +\let\markupsetuprqkbd \markupsetcodequoteright +% \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % @@ -2289,8 +2293,6 @@ end \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it @@ -2380,8 +2382,7 @@ end \aftersmartic } -% like \smartslanted except unconditionally uses \ttsl, and no ic. -% @var is set to this for defun arguments. +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want @@ -2446,34 +2447,12 @@ end % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} +% @indicateurl is \samp, that is, with quotes. +\let\indicateurl=\samp -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} - -% ctrl is no longer a Texinfo command. -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. +% @code (and similar) prints in typewriter, but with spaces the same +% size as normal in the surrounding text, without hyphenation, etc. +% This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. @@ -2498,7 +2477,7 @@ end % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. - +% % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) @@ -2517,7 +2496,7 @@ end \let-\codedash \let_\codeunder \else - \let-\realdash + \let-\normaldash \let_\realunder \fi \codex @@ -2526,7 +2505,7 @@ end \def\codex #1{\tclose{#1}\endgroup} -\def\realdash{-} +\def\normaldash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ @@ -2541,9 +2520,9 @@ end } % An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue @@ -2562,6 +2541,13 @@ end \fi\fi } +% For @command, @env, @file, @option quotes seem unnecessary, +% so use \code rather than \samp. +\let\command=\code +\let\env=\code +\let\file=\code +\let\option=\code + % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url @@ -2708,10 +2694,6 @@ end \let\email=\uref \fi -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} - % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). @@ -2735,16 +2717,36 @@ end % Default is `distinct'. \kbdinputstyle distinct +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + \def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +} -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. If the current font is already +% monospace, don't change it; that way, we respect @kbdinputstyle. But +% if it isn't monospace, then use \tt. +% +\def\key#1{{\setupmarkupstyle{key}% + \nohyphenation + \ifmonospace\else\tt\fi + #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} @@ -2852,6 +2854,9 @@ end } } +% ctrl is no longer a Texinfo command, but leave this definition for fun. +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. @@ -3142,12 +3147,17 @@ end % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \ifmonospace + % typewriter: + \font\thisecfont = ectt\ecsize \space at \nominalsize \else - % regular: - \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi \fi \thisecfont } @@ -3260,6 +3270,20 @@ end \finishedtitlepagetrue } +% Settings used for typesetting titles: no hyphenation, no indentation, +% don't worry much about spacing, ragged right. This should be used +% inside a \vbox, and fonts need to be set appropriately first. Because +% it is always used for titles, nothing else, we call \rmisbold. \par +% should be specified before the end of the \vbox, since a vbox is a group. +% +\def\raggedtitlesettings{% + \rmisbold + \hyphenpenalty=10000 + \parindent=0pt + \tolerance=5000 + \ptexraggedright +} + % Macros to be used within @titlepage: \let\subtitlerm=\tenrm @@ -3267,7 +3291,7 @@ end \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rmisbold #1} + \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -4164,7 +4188,7 @@ end % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore + \let-\normaldash \let_\normalunderscore } } @@ -4204,7 +4228,7 @@ end } \def\ifsetfail{\doignore{ifset}} -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the @@ -4215,6 +4239,35 @@ end \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} +% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written +% without the @) is in fact defined. We can only feasibly check at the +% TeX level, so something like `mathcode' is going to considered +% defined even though it is not a Texinfo command. +% +\makecond{ifcommanddefined} +\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} +% +\def\doifcmddefined#1#2{{% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname #2\endcsname\relax + #1% If not defined, \let\next as above. + \fi + \expandafter + }\next +} +\def\ifcmddefinedfail{\doignore{ifcommanddefined}} + +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. +\makecond{ifcommandnotdefined} +\def\ifcommandnotdefined{% + \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} +\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} + +% Set the `txicommandconditionals' variable, so documents have a way to +% test if the @ifcommand...defined conditionals are available. +\set txicommandconditionals + % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment @@ -4451,6 +4504,7 @@ end \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright + \definedummyword\lbracechar \definedummyword\leq \definedummyword\minus \definedummyword\ogonek @@ -4463,6 +4517,7 @@ end \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase + \definedummyword\rbracechar \definedummyword\result \definedummyword\textdegree % @@ -4514,6 +4569,7 @@ end \definedummyword\t % % Commands that take arguments. + \definedummyword\abbr \definedummyword\acronym \definedummyword\anchor \definedummyword\cite @@ -4525,7 +4581,9 @@ end \definedummyword\emph \definedummyword\env \definedummyword\file + \definedummyword\image \definedummyword\indicateurl + \definedummyword\inforef \definedummyword\kbd \definedummyword\key \definedummyword\math @@ -4572,7 +4630,10 @@ end % content at all. So for index sorting, we map @{ and @} to strings % starting with |, since that ASCII character is between ASCII { and }. \def\{{|a}% + \def\lbracechar{|a}% + % \def\}{|b}% + \def\rbracechar{|b}% % % Non-English letters. \def\AA{AA}% @@ -5533,14 +5594,6 @@ end % Define @majorheading, @heading and @subheading -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -5548,10 +5601,8 @@ end \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}% - \bigskip \par\penalty 200\relax + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip \nobreak \suppressfirstparagraphindent } @@ -5710,8 +5761,7 @@ end % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright - \hangindent=\wd0 \centerparametersmaybe + \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title @@ -5733,18 +5783,18 @@ end \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% + \nobreak\bigskip \nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -6510,16 +6560,9 @@ end \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax \fi \parsearg\quotationlabel } @@ -6545,6 +6588,32 @@ end \fi } +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, @@ -7023,7 +7092,10 @@ end \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 @@ -7807,7 +7879,7 @@ end \fi\fi } - +% % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -7817,16 +7889,21 @@ end \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} % -\newbox\topbox +\newbox\toprefbox \newbox\printedrefnamebox +\newbox\infofilenamebox \newbox\printedmanualbox % \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces % + % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% % + \def\infofilename{\ignorespaces #4}% + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % \def\printedmanual{\ignorespaces #5}% \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% % @@ -7861,11 +7938,18 @@ end \turnoffactive \makevalueexpandable % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. \edef\pdfxrefdest{#1}% - \txiescapepdf\pdfxrefdest + \ifx\pdfxrefdest\empty + \def\pdfxrefdest{Top}% no empty targets + \else + \txiescapepdf\pdfxrefdest % escape PDF special chars + \fi % \leavevmode \startlink attr{/Border [0 0 0]}% @@ -7898,7 +7982,7 @@ end \printedrefname \fi % - % if the user also gave the printed manual name (fifth arg), append + % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% @@ -7913,32 +7997,20 @@ end % this is a loss. Therefore, we give the text of the node name % again, so it is as if TeX is seeing it for the first time. % - % Cross-manual reference. Only include the "Section ``foo'' in" if - % the foo is neither missing or Top. Thus, @xref{,,,foo,The Foo Manual} - % outputs simply "see The Foo Manual". \ifdim \wd\printedmanualbox > 0pt - % What is the 7sp about? The idea is that we also want to omit - % the Section part if we would be printing "Top", since they are - % clearly trying to refer to the whole manual. But, this being - % TeX, we can't easily compare strings while ignoring the possible - % spaces before and after in the input. By adding the arbitrary - % 7sp, we make it much less likely that a real node name would - % happen to have the same width as "Top" (e.g., in a monospaced font). - % I hope it will never happen in practice. + % Cross-manual reference with a printed manual name. % - % For the same basic reason, we retypeset the "Top" at every - % reference, since the current font is indeterminate. + \crossmanualxref{\cite{\printedmanual\unskip}}% + % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. % - \setbox\topbox = \hbox{Top\kern7sp}% - \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% - \ifdim \wd2 > 7sp - \ifdim \wd2 = \wd\topbox \else - \putwordSection{} ``\printedrefname'' \putwordin{}\space - \fi - \fi - \cite{\printedmanual}% + \crossmanualxref{\code{\infofilename\unskip}}% + % \else - % Reference in this manual. + % Reference within this manual. % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand @@ -7959,11 +8031,37 @@ end % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi + \fi\fi \fi \endlink \endgroup} +% Output a cross-manual xref to #1. Used just above (twice). +% +% Only include the text "Section ``foo'' in" if the foo is neither +% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply +% "see The Foo Manual", the idea being to refer to the whole manual. +% +% But, this being TeX, we can't easily compare our node name against the +% string "Top" while ignoring the possible spaces before and after in +% the input. By adding the arbitrary 7sp below, we make it much less +% likely that a real node name would have the same width as "Top" (e.g., +% in a monospaced font). Hopefully it will never happen in practice. +% +% For the same basic reason, we retypeset the "Top" at every +% reference, since the current font is indeterminate. +% +\def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% + \ifdim \wd2 > 7sp % nonempty? + \ifdim \wd2 = \wd\toprefbox \else % same as Top? + \putwordSection{} ``\printedrefname'' \putwordin{}\space + \fi + \fi + #1% +} + % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly @@ -9895,22 +9993,26 @@ directory should work if nowhere else does.} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater - @let\=@normalbackslash - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let~=@normaltilde - @markupsetuplqdefault - @markupsetuprqdefault - @unsepspaces +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let\=@normalbackslash + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @markupsetuplqdefault + @markupsetuprqdefault + @unsepspaces + } } % Make _ and + \other characters, temporarily. diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free index 663347a..4c76c75 100755 --- a/build-aux/useless-if-before-free +++ b/build-aux/useless-if-before-free @@ -10,7 +10,7 @@ my $VERSION = '2012-01-06 07:23'; # UTC # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2008-2013 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files index 7ec335f..b2bca54 100755 --- a/build-aux/vc-list-files +++ b/build-aux/vc-list-files @@ -4,7 +4,7 @@ # Print a version string. scriptversion=2011-05-16.22; # UTC -# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/build-aux/ylwrap b/build-aux/ylwrap new file mode 100755 index 0000000..8f072a8 --- /dev/null +++ b/build-aux/ylwrap @@ -0,0 +1,247 @@ +#! /bin/sh +# ylwrap - wrapper for lex/yacc invocations. + +scriptversion=2013-01-12.17; # UTC + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +get_dirname () +{ + case $1 in + */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; + # Otherwise, we want the empty string (not "."). + esac +} + +# guard FILE +# ---------- +# The CPP macro used to guard inclusion of FILE. +guard () +{ + printf '%s\n' "$1" \ + | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' \ + -e 's/__*/_/g' +} + +# quote_for_sed [STRING] +# ---------------------- +# Return STRING (or stdin) quoted to be used as a sed pattern. +quote_for_sed () +{ + case $# in + 0) cat;; + 1) printf '%s\n' "$1";; + esac \ + | sed -e 's|[][\\.*]|\\&|g' +} + +case "$1" in + '') + echo "$0: No files given. Try '$0 --help' for more information." 1>&2 + exit 1 + ;; + --basedir) + basedir=$2 + shift 2 + ;; + -h|--h*) + cat <<\EOF +Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... + +Wrapper for lex/yacc invocations, renaming files as desired. + + INPUT is the input file + OUTPUT is one file PROG generates + DESIRED is the file we actually want instead of OUTPUT + PROGRAM is program to run + ARGS are passed to PROG + +Any number of OUTPUT,DESIRED pairs may be used. + +Report bugs to . +EOF + exit $? + ;; + -v|--v*) + echo "ylwrap $scriptversion" + exit $? + ;; +esac + + +# The input. +input=$1 +shift +# We'll later need for a correct munging of "#line" directives. +input_sub_rx=`get_dirname "$input" | quote_for_sed` +case $input in + [\\/]* | ?:[\\/]*) + # Absolute path; do nothing. + ;; + *) + # Relative path. Make it absolute. + input=`pwd`/$input + ;; +esac +input_rx=`get_dirname "$input" | quote_for_sed` + +# Since DOS filename conventions don't allow two dots, +# the DOS version of Bison writes out y_tab.c instead of y.tab.c +# and y_tab.h instead of y.tab.h. Test to see if this is the case. +y_tab_nodot=false +if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot=true +fi + +# The parser itself, the first file, is the destination of the .y.c +# rule in the Makefile. +parser=$1 + +# A sed program to s/FROM/TO/g for all the FROM/TO so that, for +# instance, we rename #include "y.tab.h" into #include "parse.h" +# during the conversion from y.tab.c to parse.c. +sed_fix_filenames= + +# Also rename header guards, as Bison 2.7 for instance uses its header +# guard in its implementation file. +sed_fix_header_guards= + +while test $# -ne 0; do + if test x"$1" = x"--"; then + shift + break + fi + from=$1 + # Handle y_tab.c and y_tab.h output by DOS + if $y_tab_nodot; then + case $from in + "y.tab.c") from=y_tab.c;; + "y.tab.h") from=y_tab.h;; + esac + fi + shift + to=$1 + shift + sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;" + sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;" +done + +# The program to run. +prog=$1 +shift +# Make any relative path in $prog absolute. +case $prog in + [\\/]* | ?:[\\/]*) ;; + *[\\/]*) prog=`pwd`/$prog ;; +esac + +dirname=ylwrap$$ +do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' +trap "ret=129; $do_exit" 1 +trap "ret=130; $do_exit" 2 +trap "ret=141; $do_exit" 13 +trap "ret=143; $do_exit" 15 +mkdir $dirname || exit 1 + +cd $dirname + +case $# in + 0) "$prog" "$input" ;; + *) "$prog" "$@" "$input" ;; +esac +ret=$? + +if test $ret -eq 0; then + for from in * + do + to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"` + if test -f "$from"; then + # If $2 is an absolute path name, then just use that, + # otherwise prepend '../'. + case $to in + [\\/]* | ?:[\\/]*) target=$to;; + *) target=../$to;; + esac + + # Do not overwrite unchanged header files to avoid useless + # recompilations. Always update the parser itself: it is the + # destination of the .y.c rule in the Makefile. Divert the + # output of all other files to a temporary file so we can + # compare them to existing versions. + if test $from != $parser; then + realtarget=$target + target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` + fi + + # Munge "#line" or "#" directives. Don't let the resulting + # debug information point at an absolute srcdir. Use the real + # output file name, not yy.lex.c for instance. Adjust the + # include guards too. + sed -e "/^#/!b" \ + -e "s|$input_rx|$input_sub_rx|" \ + -e "$sed_fix_filenames" \ + -e "$sed_fix_header_guards" \ + "$from" >"$target" || ret=$? + + # Check whether files must be updated. + if test "$from" != "$parser"; then + if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then + echo "$to is unchanged" + rm -f "$target" + else + echo "updating $to" + mv -f "$target" "$realtarget" + fi + fi + else + # A missing file is only an error for the parser. This is a + # blatant hack to let us support using "yacc -d". If -d is not + # specified, don't fail when the header file is "missing". + if test "$from" = "$parser"; then + ret=1 + fi + fi + done +fi + +# Remove the directory. +cd .. +rm -rf $dirname + +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/cfg.mk b/cfg.mk index a84f772..527e5f8 100644 --- a/cfg.mk +++ b/cfg.mk @@ -20,10 +20,12 @@ WFLAGS ?= --enable-gcc-warnings ADDFLAGS ?= -CFGFLAGS ?= --enable-gtk-doc --enable-gtk-doc-pdf $(ADDFLAGS) $(WFLAGS) +CFGFLAGS ?= --enable-gtk-doc --enable-gtk-doc-pdf --enable-gtk-doc-html $(ADDFLAGS) $(WFLAGS) PACKAGE ?= gnutls -INDENT_SOURCES = `find . -name \*.[ch] -o -name gnutls.h.in | grep -v -e ^./build-aux/ -e ^./lib/minitasn1/ -e ^./lib/build-aux/ -e ^./gl/ -e ^./src/libopts/ -e -gaa.[ch] -e asn1_tab.c -e ^./tests/suite/` +.PHONY: config + +INDENT_SOURCES = `find . -name \*.[ch] -o -name gnutls.h.in | grep -v -e ^./build-aux/ -e ^./lib/minitasn1/ -e ^./lib/build-aux/ -e ^./gl/ -e ^./src/libopts/ -e -args.[ch] -e asn1_tab.c -e ^./tests/suite/` ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) .DEFAULT_GOAL := bootstrap @@ -70,13 +72,21 @@ update-po: refresh-po git add $(PODIR)/*.po.in git commit -m "Sync with TP." $(PODIR)/LINGUAS $(PODIR)/*.po.in -bootstrap: autoreconf +config: ./configure $(CFGFLAGS) +.submodule.stamp: + git submodule init + git submodule update + touch $@ + +bootstrap: autoreconf .submodule.stamp + # The only non-lgpl modules used are: gettime progname timespec. Those # are not used (and must not be used) in the library) glimport: - gnulib-tool --add-import + ../gnulib/gnulib-tool --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gl/tests --aux-dir=build-aux --add-import --lgpl=2 + ../gnulib/gnulib-tool --dir=. --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --add-import # Code Coverage @@ -115,7 +125,7 @@ clang-upload: # Release ChangeLog: - git log --pretty --numstat --summary --since="2010 November 07" -- | git2cl > ChangeLog + git log --pretty --numstat --summary --since="2012 November 07" -- | git2cl > ChangeLog cat .clcopying >> ChangeLog tag = $(PACKAGE)_`echo $(VERSION) | sed 's/\./_/g'` @@ -131,22 +141,23 @@ prepare: git commit -m Generated. ChangeLog git tag -u b565716f! -m $(VERSION) $(tag) -upload: +upload-tarballs: git push git push --tags - build-aux/gnupload --to alpha.gnu.org:$(PACKAGE) $(distdir).tar.bz2 - scp $(distdir).tar.bz2 $(distdir).tar.bz2.sig igloo.linux.gr:~ftp/pub/gnutls/devel/ - ssh igloo.linux.gr 'cd ~ftp/pub/gnutls/devel/ && sha1sum *.tar.bz2 > CHECKSUMS' - cp $(distdir).tar.bz2 $(distdir).tar.bz2.sig ../releases/$(PACKAGE)/ + build-aux/gnupload --to alpha.gnu.org:$(PACKAGE) $(distdir).tar.xz + build-aux/gnupload --to alpha.gnu.org:$(PACKAGE) $(distdir).tar.lz + cp $(distdir).tar.xz $(distdir).tar.xz.sig ../releases/$(PACKAGE)/ + cp $(distdir).tar.lz $(distdir).tar.lz.sig ../releases/$(PACKAGE)/ web: echo generating documentation for $(PACKAGE) - cd doc && $(SHELL) ../build-aux/gendocs.sh \ - --html "--css-include=./texinfo.css" \ - -o ../$(htmldir)/manual/ $(PACKAGE) "$(PACKAGE_NAME)" - -cd doc && make gnutls.epub && cp gnutls.epub ../$(htmldir)/manual/ + make -C doc gnutls.html + cd doc && cp gnutls.html *.png ../$(htmldir)/manual/ + cd doc && makeinfo --html --split=node -o ../$(htmldir)/manual/html_node/ --css-include=./texinfo.css gnutls.texi cd doc && cp *.png ../$(htmldir)/manual/html_node/ + sed 's/\@VERSION\@/$(VERSION)/g' -i $(htmldir)/manual/html_node/*.html $(htmldir)/manual/gnutls.html + -cd doc && make gnutls.epub && cp gnutls.epub ../$(htmldir)/manual/ cd doc/latex && make gnutls.pdf && cp gnutls.pdf ../../$(htmldir)/manual/ #cd doc/doxygen && doxygen && cd ../.. && cp -v doc/doxygen/html/* $(htmldir)/devel/doxygen/ && cd doc/doxygen/latex && make refman.pdf && cd ../../../ && cp doc/doxygen/latex/refman.pdf $(htmldir)/devel/doxygen/$(PACKAGE).pdf -cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.devhelp doc/reference/html/*.css $(htmldir)/reference/ @@ -157,129 +168,75 @@ upload-web: cvs commit -m "Update." manual/ reference/ \ doxygen/ devel/ cyclo/ -ASM_SOURCES:= \ - lib/accelerated/x86/elf/cpuid-x86-64.s \ - lib/accelerated/x86/elf/cpuid-x86.s \ - lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s \ - lib/accelerated/x86/elf/appro-aes-x86-64.s \ - lib/accelerated/x86/elf/appro-aes-x86.s \ - lib/accelerated/x86/elf/padlock-x86-64.s \ - lib/accelerated/x86/elf/padlock-x86.s \ - lib/accelerated/x86/coff/cpuid-x86-coff.s \ - lib/accelerated/x86/coff/cpuid-x86-64-coff.s \ - lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s \ - lib/accelerated/x86/coff/appro-aes-x86-64-coff.s \ - lib/accelerated/x86/coff/appro-aes-x86-coff.s \ - lib/accelerated/x86/coff/padlock-x86-64-coff.s \ - lib/accelerated/x86/coff/padlock-x86-coff.s \ - lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s \ - lib/accelerated/x86/macosx/cpuid-x86-macosx.s \ - lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s \ - lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s \ - lib/accelerated/x86/macosx/appro-aes-x86-macosx.s \ - lib/accelerated/x86/macosx/padlock-x86-64-macosx.s \ - lib/accelerated/x86/macosx/padlock-x86-macosx.s - -asm-sources: $(ASM_SOURCES) +ASM_SOURCES_XXX := \ + lib/accelerated/x86/XXX/cpuid-x86_64.s \ + lib/accelerated/x86/XXX/cpuid-x86.s \ + lib/accelerated/x86/XXX/ghash-x86_64.s \ + lib/accelerated/x86/XXX/aesni-x86_64.s \ + lib/accelerated/x86/XXX/aesni-x86.s \ + lib/accelerated/x86/XXX/e_padlock-x86_64.s \ + lib/accelerated/x86/XXX/e_padlock-x86.s \ + lib/accelerated/x86/XXX/sha1-ssse3-x86.s \ + lib/accelerated/x86/XXX/sha1-ssse3-x86_64.s \ + lib/accelerated/x86/XXX/sha256-ssse3-x86.s \ + lib/accelerated/x86/XXX/sha512-ssse3-x86.s \ + lib/accelerated/x86/XXX/sha512-ssse3-x86_64.s \ + lib/accelerated/x86/XXX/aes-ssse3-x86.s \ + lib/accelerated/x86/XXX/aes-ssse3-x86_64.s + +ASM_SOURCES_ELF := $(subst XXX,elf,$(ASM_SOURCES_XXX)) +ASM_SOURCES_COFF := $(subst XXX,coff,$(ASM_SOURCES_XXX)) +ASM_SOURCES_MACOSX := $(subst XXX,macosx,$(ASM_SOURCES_XXX)) + +asm-sources: $(ASM_SOURCES_ELF) $(ASM_SOURCES_COFF) $(ASM_SOURCES_MACOSX) lib/accelerated/x86/files.mk asm-sources-clean: - rm -f $(ASM_SOURCES) - -lib/accelerated/x86/elf/cpuid-x86-64.s: devel/perlasm/cpuid-x86_64.pl - cat devel/perlasm/license-gnutls.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - - -lib/accelerated/x86/elf/cpuid-x86.s: devel/perlasm/cpuid-x86.pl - cat devel/perlasm/license-gnutls.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - -lib/accelerated/x86/elf/appro-aes-gcm-x86-64.s: devel/perlasm/ghash-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - -lib/accelerated/x86/elf/appro-aes-x86-64.s: devel/perlasm/aesni-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - -lib/accelerated/x86/elf/appro-aes-x86.s: devel/perlasm/aesni-x86.pl - cat devel/perlasm/license.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - -lib/accelerated/x86/elf/padlock-x86-64.s: devel/perlasm/e_padlock-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< elf >> $@ - echo "" >> $@ - echo ".section .note.GNU-stack,\"\",%progbits" >> $@ - -lib/accelerated/x86/elf/padlock-x86.s: devel/perlasm/e_padlock-x86.pl - cat devel/perlasm/license.txt > $@ + rm -f $(ASM_SOURCES_ELF) $(ASM_SOURCES_COFF) $(ASM_SOURCES_MACOSX) lib/accelerated/x86/files.mk + +X86_FILES=XXX/aesni-x86.s XXX/cpuid-x86.s XXX/e_padlock-x86.s XXX/sha1-ssse3-x86.s \ + XXX/sha256-ssse3-x86.s XXX/sha512-ssse3-x86.s XXX/aes-ssse3-x86.s + +X86_64_FILES=XXX/aesni-x86_64.s XXX/cpuid-x86_64.s XXX/e_padlock-x86_64.s XXX/ghash-x86_64.s \ + XXX/sha1-ssse3-x86_64.s XXX/sha512-ssse3-x86_64.s XXX/aes-ssse3-x86_64.s + +X86_FILES_ELF := $(subst XXX,elf,$(X86_FILES)) +X86_FILES_COFF := $(subst XXX,coff,$(X86_FILES)) +X86_FILES_MACOSX := $(subst XXX,macosx,$(X86_FILES)) +X86_64_FILES_ELF := $(subst XXX,elf,$(X86_64_FILES)) +X86_64_FILES_COFF := $(subst XXX,coff,$(X86_64_FILES)) +X86_64_FILES_MACOSX := $(subst XXX,macosx,$(X86_64_FILES)) + +lib/accelerated/x86/files.mk: $(ASM_SOURCES_ELF) + echo X86_FILES_ELF=$(X86_FILES_ELF) > $@.tmp + echo X86_FILES_COFF=$(X86_FILES_COFF) >> $@.tmp + echo X86_FILES_MACOSX=$(X86_FILES_MACOSX) >> $@.tmp + echo X86_64_FILES_ELF=$(X86_64_FILES_ELF) >> $@.tmp + echo X86_64_FILES_COFF=$(X86_64_FILES_COFF) >> $@.tmp + echo X86_64_FILES_MACOSX=$(X86_64_FILES_MACOSX) >> $@.tmp + mv $@.tmp $@ + +# Appro's code +lib/accelerated/x86/elf/%.s: devel/perlasm/%.pl .submodule.stamp + cat $<.license > $@ perl $< elf >> $@ echo "" >> $@ echo ".section .note.GNU-stack,\"\",%progbits" >> $@ + sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ -lib/accelerated/x86/coff/appro-aes-gcm-x86-64-coff.s: devel/perlasm/ghash-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< mingw64 >> $@ - -lib/accelerated/x86/coff/appro-aes-x86-64-coff.s: devel/perlasm/aesni-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< mingw64 >> $@ - -lib/accelerated/x86/coff/appro-aes-x86-coff.s: devel/perlasm/aesni-x86.pl - cat devel/perlasm/license.txt > $@ - perl $< coff >> $@ - -lib/accelerated/x86/coff/padlock-x86-64-coff.s: devel/perlasm/e_padlock-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< mingw64 >> $@ - -lib/accelerated/x86/coff/padlock-x86-coff.s: devel/perlasm/e_padlock-x86.pl - cat devel/perlasm/license.txt > $@ +lib/accelerated/x86/coff/%-x86.s: devel/perlasm/%-x86.pl .submodule.stamp + cat $<.license > $@ perl $< coff >> $@ + echo "" >> $@ + sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ -lib/accelerated/x86/coff/cpuid-x86-64-coff.s: devel/perlasm/cpuid-x86_64.pl - cat devel/perlasm/license-gnutls.txt > $@ +lib/accelerated/x86/coff/%-x86_64.s: devel/perlasm/%-x86_64.pl .submodule.stamp + cat $<.license > $@ perl $< mingw64 >> $@ + echo "" >> $@ + sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ -lib/accelerated/x86/coff/cpuid-x86-coff.s: devel/perlasm/cpuid-x86.pl - cat devel/perlasm/license-gnutls.txt > $@ - perl $< coff >> $@ - -lib/accelerated/x86/macosx/appro-aes-gcm-x86-64-macosx.s: devel/perlasm/ghash-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/appro-aes-x86-64-macosx.s: devel/perlasm/aesni-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/appro-aes-x86-macosx.s: devel/perlasm/aesni-x86.pl - cat devel/perlasm/license.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/padlock-x86-64-macosx.s: devel/perlasm/e_padlock-x86_64.pl - cat devel/perlasm/license.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/padlock-x86-macosx.s: devel/perlasm/e_padlock-x86.pl - cat devel/perlasm/license.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/cpuid-x86-64-macosx.s: devel/perlasm/cpuid-x86_64.pl - cat devel/perlasm/license-gnutls.txt > $@ - perl $< macosx >> $@ - -lib/accelerated/x86/macosx/cpuid-x86-macosx.s: devel/perlasm/cpuid-x86.pl - cat devel/perlasm/license-gnutls.txt > $@ +lib/accelerated/x86/macosx/%.s: devel/perlasm/%.pl .submodule.stamp + cat $<.license > $@ perl $< macosx >> $@ + echo "" >> $@ + sed -i 's/OPENSSL_ia32cap_P/_gnutls_x86_cpuid_s/g' $@ diff --git a/config.h.in b/config.h.in index 1f664cd..6ded4d8 100644 --- a/config.h.in +++ b/config.h.in @@ -21,10 +21,6 @@ /* C99 macros are supported */ #undef C99_MACROS -/* Define if you wish *printf() functions that have a safe handling of - non-IEEE-754 'long double' values. */ -#undef CHECK_PRINTF_SAFE - /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ @@ -40,11 +36,8 @@ /* Define as the word index where to find the exponent of 'double'. */ #undef DBL_EXPBIT0_WORD -/* Define as the bit index in the word where to find the sign of 'double'. */ -#undef DBL_SIGNBIT_BIT - -/* Define as the word index where to find the sign of 'double'. */ -#undef DBL_SIGNBIT_WORD +/* use the given certificate blacklist file */ +#undef DEFAULT_BLACKLIST_FILE /* use the given CRL file */ #undef DEFAULT_CRL_FILE @@ -55,8 +48,8 @@ /* use the given pkcs11 uri as default trust store */ #undef DEFAULT_TRUST_STORE_PKCS11 -/* Define to 1 if // is a file system root distinct from /. */ -#undef DOUBLE_SLASH_IS_DISTINCT_ROOT +/* enable ALPN support */ +#undef ENABLE_ALPN /* enable anonymous authentication */ #undef ENABLE_ANON @@ -64,10 +57,27 @@ /* Enable cryptodev support */ #undef ENABLE_CRYPTODEV -/* Define to 1 if translation of program messages to the user's native - language is requested. */ +/* enable DHE */ +#undef ENABLE_DHE + +/* enable DTLS-SRTP support */ +#undef ENABLE_DTLS_SRTP + +/* enable DHE */ +#undef ENABLE_ECDHE + +/* Enable FIPS140-2 mode */ +#undef ENABLE_FIPS140 + +/* enable heartbeat support */ +#undef ENABLE_HEARTBEAT + +/* nls support in libopts */ #undef ENABLE_NLS +/* Enable all curves */ +#undef ENABLE_NON_SUITEB_CURVES + /* enable OCSP support */ #undef ENABLE_OCSP @@ -80,21 +90,17 @@ /* enable PSK authentication */ #undef ENABLE_PSK -/* enable SRP authentication */ -#undef ENABLE_SRP - -/* Define as the bit index in the word where to find bit 0 of the exponent of - 'float'. */ -#undef FLT_EXPBIT0_BIT +/* enable RSA-EXPORT */ +#undef ENABLE_RSA_EXPORT -/* Define as the word index where to find the exponent of 'float'. */ -#undef FLT_EXPBIT0_WORD +/* Self checks are included in the library */ +#undef ENABLE_SELF_CHECKS -/* Define as the bit index in the word where to find the sign of 'float'. */ -#undef FLT_SIGNBIT_BIT +/* enable session tickets support */ +#undef ENABLE_SESSION_TICKETS -/* Define as the word index where to find the sign of 'float'. */ -#undef FLT_SIGNBIT_WORD +/* enable SRP authentication */ +#undef ENABLE_SRP /* fopen(3) accepts a 'b' in the mode flag */ #undef FOPEN_BINARY_FLAG @@ -120,22 +126,6 @@ #undef GNULIB_FSCANF /* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module lock shall be considered present. */ -#undef GNULIB_LOCK - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module malloc-gnu shall be considered present. */ -#undef GNULIB_MALLOC_GNU - -/* Define to 1 to add extern declaration of program_invocation_name to argp.h - */ -#undef GNULIB_PROGRAM_INVOCATION_NAME - -/* Define to 1 to add extern declaration of program_invocation_short_name to - argp.h */ -#undef GNULIB_PROGRAM_INVOCATION_SHORT_NAME - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module scanf shall be considered present. */ #undef GNULIB_SCANF @@ -150,18 +140,12 @@ /* Define to 1 when the gnulib module accept should be tested. */ #undef GNULIB_TEST_ACCEPT -/* Define to 1 when the gnulib module alphasort should be tested. */ -#undef GNULIB_TEST_ALPHASORT - /* Define to 1 when the gnulib module bind should be tested. */ #undef GNULIB_TEST_BIND /* Define to 1 when the gnulib module close should be tested. */ #undef GNULIB_TEST_CLOSE -/* Define to 1 when the gnulib module closedir should be tested. */ -#undef GNULIB_TEST_CLOSEDIR - /* Define to 1 when the gnulib module connect should be tested. */ #undef GNULIB_TEST_CONNECT @@ -174,12 +158,6 @@ /* Define to 1 when the gnulib module fdopen should be tested. */ #undef GNULIB_TEST_FDOPEN -/* Define to 1 when the gnulib module frexp should be tested. */ -#undef GNULIB_TEST_FREXP - -/* Define to 1 when the gnulib module frexpl should be tested. */ -#undef GNULIB_TEST_FREXPL - /* Define to 1 when the gnulib module fseek should be tested. */ #undef GNULIB_TEST_FSEEK @@ -195,51 +173,30 @@ /* Define to 1 when the gnulib module ftello should be tested. */ #undef GNULIB_TEST_FTELLO -/* Define to 1 when the gnulib module ftruncate should be tested. */ -#undef GNULIB_TEST_FTRUNCATE - /* Define to 1 when the gnulib module getaddrinfo should be tested. */ #undef GNULIB_TEST_GETADDRINFO -/* Define to 1 when the gnulib module getcwd should be tested. */ -#undef GNULIB_TEST_GETCWD - /* Define to 1 when the gnulib module getdelim should be tested. */ #undef GNULIB_TEST_GETDELIM -/* Define to 1 when the gnulib module getdtablesize should be tested. */ -#undef GNULIB_TEST_GETDTABLESIZE - /* Define to 1 when the gnulib module getline should be tested. */ #undef GNULIB_TEST_GETLINE -/* Define to 1 when the gnulib module getopt-gnu should be tested. */ -#undef GNULIB_TEST_GETOPT_GNU - /* Define to 1 when the gnulib module getpagesize should be tested. */ #undef GNULIB_TEST_GETPAGESIZE /* Define to 1 when the gnulib module getpeername should be tested. */ #undef GNULIB_TEST_GETPEERNAME -/* Define to 1 when the gnulib module getsubopt should be tested. */ -#undef GNULIB_TEST_GETSUBOPT - /* Define to 1 when the gnulib module gettimeofday should be tested. */ #undef GNULIB_TEST_GETTIMEOFDAY -/* Define to 1 when the gnulib module ioctl should be tested. */ -#undef GNULIB_TEST_IOCTL - /* Define to 1 when the gnulib module listen should be tested. */ #undef GNULIB_TEST_LISTEN /* Define to 1 when the gnulib module lseek should be tested. */ #undef GNULIB_TEST_LSEEK -/* Define to 1 when the gnulib module lstat should be tested. */ -#undef GNULIB_TEST_LSTAT - /* Define to 1 when the gnulib module malloc-posix should be tested. */ #undef GNULIB_TEST_MALLOC_POSIX @@ -249,29 +206,8 @@ /* Define to 1 when the gnulib module memmem should be tested. */ #undef GNULIB_TEST_MEMMEM -/* Define to 1 when the gnulib module mempcpy should be tested. */ -#undef GNULIB_TEST_MEMPCPY - -/* Define to 1 when the gnulib module open should be tested. */ -#undef GNULIB_TEST_OPEN - -/* Define to 1 when the gnulib module opendir should be tested. */ -#undef GNULIB_TEST_OPENDIR - -/* Define to 1 when the gnulib module perror should be tested. */ -#undef GNULIB_TEST_PERROR - -/* Define to 1 when the gnulib module pipe should be tested. */ -#undef GNULIB_TEST_PIPE - -/* Define to 1 when the gnulib module putenv should be tested. */ -#undef GNULIB_TEST_PUTENV - -/* Define to 1 when the gnulib module rawmemchr should be tested. */ -#undef GNULIB_TEST_RAWMEMCHR - -/* Define to 1 when the gnulib module readdir should be tested. */ -#undef GNULIB_TEST_READDIR +/* Define to 1 when the gnulib module mktime should be tested. */ +#undef GNULIB_TEST_MKTIME /* Define to 1 when the gnulib module realloc-posix should be tested. */ #undef GNULIB_TEST_REALLOC_POSIX @@ -282,9 +218,6 @@ /* Define to 1 when the gnulib module recvfrom should be tested. */ #undef GNULIB_TEST_RECVFROM -/* Define to 1 when the gnulib module scandir should be tested. */ -#undef GNULIB_TEST_SCANDIR - /* Define to 1 when the gnulib module select should be tested. */ #undef GNULIB_TEST_SELECT @@ -303,33 +236,18 @@ /* Define to 1 when the gnulib module shutdown should be tested. */ #undef GNULIB_TEST_SHUTDOWN -/* Define to 1 when the gnulib module signbit should be tested. */ -#undef GNULIB_TEST_SIGNBIT - -/* Define to 1 when the gnulib module sleep should be tested. */ -#undef GNULIB_TEST_SLEEP - /* Define to 1 when the gnulib module snprintf should be tested. */ #undef GNULIB_TEST_SNPRINTF /* Define to 1 when the gnulib module socket should be tested. */ #undef GNULIB_TEST_SOCKET -/* Define to 1 when the gnulib module stat should be tested. */ -#undef GNULIB_TEST_STAT - -/* Define to 1 when the gnulib module strchrnul should be tested. */ -#undef GNULIB_TEST_STRCHRNUL - /* Define to 1 when the gnulib module strdup should be tested. */ #undef GNULIB_TEST_STRDUP /* Define to 1 when the gnulib module strerror should be tested. */ #undef GNULIB_TEST_STRERROR -/* Define to 1 when the gnulib module strerror_r should be tested. */ -#undef GNULIB_TEST_STRERROR_R - /* Define to 1 when the gnulib module strndup should be tested. */ #undef GNULIB_TEST_STRNDUP @@ -342,9 +260,6 @@ /* Define to 1 when the gnulib module strverscmp should be tested. */ #undef GNULIB_TEST_STRVERSCMP -/* Define to 1 when the gnulib module symlink should be tested. */ -#undef GNULIB_TEST_SYMLINK - /* Define to 1 when the gnulib module time_r should be tested. */ #undef GNULIB_TEST_TIME_R @@ -354,12 +269,6 @@ /* Define to 1 when the gnulib module vasprintf should be tested. */ #undef GNULIB_TEST_VASPRINTF -/* Define to 1 when the gnulib module vfprintf-posix should be tested. */ -#undef GNULIB_TEST_VFPRINTF_POSIX - -/* Define to 1 when the gnulib module vprintf-posix should be tested. */ -#undef GNULIB_TEST_VPRINTF_POSIX - /* Define to 1 when the gnulib module vsnprintf should be tested. */ #undef GNULIB_TEST_VSNPRINTF @@ -384,8 +293,8 @@ */ #undef HAVE_ALLOCA_H -/* Define to 1 if you have the `alphasort' function. */ -#undef HAVE_ALPHASORT +/* Define to 1 if you have the `argp_usage' function. */ +#undef HAVE_ARGP_USAGE /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H @@ -402,9 +311,6 @@ /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME -/* Define to 1 if you have the `catgets' function. */ -#undef HAVE_CATGETS - /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT @@ -416,29 +322,14 @@ /* Define to 1 if you have the `chmod' function. */ #undef HAVE_CHMOD -/* Define to 1 if you have the `chsize' function. */ -#undef HAVE_CHSIZE - /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME /* Define to 1 if you have the `clock_settime' function. */ #undef HAVE_CLOCK_SETTIME -/* Define to 1 if you have the `closedir' function. */ -#undef HAVE_CLOSEDIR - -/* Define if the copysignf function is declared in and available in - libc. */ -#undef HAVE_COPYSIGNF_IN_LIBC - -/* Define if the copysignl function is declared in and available in - libc. */ -#undef HAVE_COPYSIGNL_IN_LIBC - -/* Define if the copysign function is declared in and available in - libc. */ -#undef HAVE_COPYSIGN_IN_LIBC +/* Define if you have compound literals. */ +#undef HAVE_COMPOUND_LITERALS /* Define to 1 if you have the header file. */ #undef HAVE_CPUID_H @@ -446,6 +337,9 @@ /* Define to 1 if you have the `daemon' function. */ #undef HAVE_DAEMON +/* Enable the DANE library */ +#undef HAVE_DANE + /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT @@ -454,54 +348,18 @@ */ #undef HAVE_DECL_ALARM -/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_CLEARERR_UNLOCKED - -/* Define to 1 if you have the declaration of `copysign', and to 0 if you - don't. */ -#undef HAVE_DECL_COPYSIGN - -/* Define to 1 if you have the declaration of `copysignf', and to 0 if you - don't. */ -#undef HAVE_DECL_COPYSIGNF - -/* Define to 1 if you have the declaration of `copysignl', and to 0 if you - don't. */ -#undef HAVE_DECL_COPYSIGNL - -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you - don't. */ -#undef HAVE_DECL_FEOF_UNLOCKED - -/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FERROR_UNLOCKED - /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FGETS_UNLOCKED - /* Define to 1 if you have the declaration of `flockfile', and to 0 if you don't. */ #undef HAVE_DECL_FLOCKFILE -/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FPUTC_UNLOCKED - /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTS_UNLOCKED -/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FREAD_UNLOCKED - /* Define to 1 if you have the declaration of `freeaddrinfo', and to 0 if you don't. */ #undef HAVE_DECL_FREEADDRINFO @@ -518,10 +376,6 @@ don't. */ #undef HAVE_DECL_FUNLOCKFILE -/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FWRITE_UNLOCKED - /* Define to 1 if you have the declaration of `gai_strerror', and to 0 if you don't. */ #undef HAVE_DECL_GAI_STRERROR @@ -534,10 +388,6 @@ don't. */ #undef HAVE_DECL_GETADDRINFO -/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_GETCHAR_UNLOCKED - /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED @@ -546,10 +396,6 @@ don't. */ #undef HAVE_DECL_GETDELIM -/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. - */ -#undef HAVE_DECL_GETENV - /* Define to 1 if you have the declaration of `getline', and to 0 if you don't. */ #undef HAVE_DECL_GETLINE @@ -586,10 +432,6 @@ and to 0 if you don't. */ #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME -/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_PUTCHAR_UNLOCKED - /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED @@ -598,10 +440,6 @@ */ #undef HAVE_DECL_SETENV -/* Define to 1 if you have the declaration of `sleep', and to 0 if you don't. - */ -#undef HAVE_DECL_SLEEP - /* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ #undef HAVE_DECL_SNPRINTF @@ -630,6 +468,10 @@ don't. */ #undef HAVE_DECL_STRTOK_R +/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. + */ +#undef HAVE_DECL_TZNAME + /* Define to 1 if you have the declaration of `unsetenv', and to 0 if you don't. */ #undef HAVE_DECL_UNSETENV @@ -638,10 +480,6 @@ don't. */ #undef HAVE_DECL_VSNPRINTF -/* Define to 1 if you have the declaration of `_putenv', and to 0 if you - don't. */ -#undef HAVE_DECL__PUTENV - /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF @@ -653,7 +491,8 @@ /* Define this if /dev/zero is readable device */ #undef HAVE_DEV_ZERO -/* Define to 1 if you have the header file. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_DIRENT_H /* Define to 1 if you have the header file. */ @@ -689,45 +528,30 @@ /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK -/* Define if the frexpl function is available in libc. */ -#undef HAVE_FREXPL_IN_LIBC - -/* Define if the frexp function is available in libc. */ -#undef HAVE_FREXP_IN_LIBC - /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO /* Define to 1 if you have the `fstat' function. */ #undef HAVE_FSTAT -/* Define to 1 if you have the `ftruncate' function. */ -#undef HAVE_FTRUNCATE - /* Define to 1 if you have the `funlockfile' function. */ #undef HAVE_FUNLOCKFILE /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM -/* Define to 1 if you have the `getdtablesize' function. */ -#undef HAVE_GETDTABLESIZE - /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME -/* Define to 1 if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the `getopt_long_only' function. */ -#undef HAVE_GETOPT_LONG_ONLY - /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the `getpass' function. */ #undef HAVE_GETPASS +/* Define to 1 if you have the `getpid' function. */ +#undef HAVE_GETPID + /* Define to 1 if you have the `getpwuid_r' function. */ #undef HAVE_GETPWUID_R @@ -737,9 +561,6 @@ /* Define to 1 if you have the `getservbyname' function. */ #undef HAVE_GETSERVBYNAME -/* Define to 1 if you have the `getsubopt' function. */ -#undef HAVE_GETSUBOPT - /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT @@ -777,32 +598,17 @@ declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX -/* Define to 1 if you have the `ioctl' function. */ -#undef HAVE_IOCTL - /* Define to 1 if defines AF_INET. */ #undef HAVE_IPV4 /* Define to 1 if defines AF_INET6. */ #undef HAVE_IPV6 -/* Define if the isnan(double) function is available in libc. */ -#undef HAVE_ISNAND_IN_LIBC - -/* Define if the isnan(float) function is available in libc. */ -#undef HAVE_ISNANF_IN_LIBC - -/* Define if the isnan(long double) function is available in libc. */ -#undef HAVE_ISNANL_IN_LIBC - /* Define to 1 if you have the `kqueue' function. */ #undef HAVE_KQUEUE -/* Define if the ldexpl function is available in libc. */ -#undef HAVE_LDEXPL_IN_LIBC - -/* Define if the ldexp function is available in libc. */ -#undef HAVE_LDEXP_IN_LIBC +/* Define if you have the libdl library. */ +#undef HAVE_LIBDL /* Define to 1 if you have the `gen' library (-lgen). */ #undef HAVE_LIBGEN @@ -810,20 +616,32 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LIBGEN_H -/* Define if you have the libnettle library. */ +/* Define if you have the libiconv library. */ +#undef HAVE_LIBICONV + +/* Define to 1 if you have the `intl' library (-lintl). */ +#undef HAVE_LIBINTL + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIBINTL_H + +/* nettle is enabled */ #undef HAVE_LIBNETTLE /* Define if you have the libpthread library. */ #undef HAVE_LIBPTHREAD +/* Define if you have the librt library. */ +#undef HAVE_LIBRT + /* Define if you have the libz library. */ #undef HAVE_LIBZ /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H -/* Define to 1 if you have the header file. */ -#undef HAVE_LINEWRAP_H +/* Define to 1 if you have the `localtime' function. */ +#undef HAVE_LOCALTIME /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R @@ -831,13 +649,6 @@ /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT -/* Define to 1 if you have the `lstat' function. */ -#undef HAVE_LSTAT - -/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC_GNU - /* Define if the 'malloc' function is POSIX compliant. */ #undef HAVE_MALLOC_POSIX @@ -845,9 +656,6 @@ config.h and . */ #undef HAVE_MAP_ANONYMOUS -/* Define to 1 if you have the header file. */ -#undef HAVE_MATH_H - /* Define to 1 if you have the `mbrtowc' function. */ #undef HAVE_MBRTOWC @@ -860,9 +668,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H -/* Define to 1 if you have the `mempcpy' function. */ -#undef HAVE_MEMPCPY - /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET @@ -885,6 +690,9 @@ /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP +/* Define to 1 if you have the `nanosleep' function. */ +#undef HAVE_NANOSLEEP + /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME @@ -897,12 +705,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H -/* Define to 1 if you have the `nl_langinfo' function. */ -#undef HAVE_NL_LANGINFO - -/* Define to 1 if you have the `opendir' function. */ -#undef HAVE_OPENDIR - /* Define to 1 if you have the header file. */ #undef HAVE_OS_H @@ -912,54 +714,18 @@ /* Define to 1 if the system has the type `pid_t'. */ #undef HAVE_PID_T -/* Define to 1 if you have the `pipe' function. */ -#undef HAVE_PIPE - -/* Define if program_invocation_name is defined */ -#undef HAVE_PROGRAM_INVOCATION_NAME - -/* Define if program_invocation_short_name is defined */ -#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME - -/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ -#undef HAVE_PTHREAD_MUTEX_RECURSIVE - -/* Define if the POSIX multithreading library has read/write locks. */ -#undef HAVE_PTHREAD_RWLOCK +/* Define to 1 if you have the `pthread_mutex_lock' function. */ +#undef HAVE_PTHREAD_MUTEX_LOCK /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV -/* Define to 1 if you have the `rawmemchr' function. */ -#undef HAVE_RAWMEMCHR - /* Define to 1 if accept is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ACCEPT /* Define to 1 if accept4 is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ACCEPT4 -/* Define to 1 if acosf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ACOSF - -/* Define to 1 if acosl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ACOSL - -/* Define to 1 if alphasort is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ALPHASORT - -/* Define to 1 if asinf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ASINF - -/* Define to 1 if asinl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ASINL - -/* Define to 1 if atanf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ATANF - -/* Define to 1 if atanl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ATANL - /* Define to 1 if atoll is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ATOLL @@ -973,54 +739,15 @@ macros. */ #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME -/* Define to 1 if cbrt is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CBRT - -/* Define to 1 if cbrtf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CBRTF - -/* Define to 1 if cbrtl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CBRTL - -/* Define to 1 if ceilf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CEILF - -/* Define to 1 if ceill is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CEILL - /* Define to 1 if chdir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CHDIR /* Define to 1 if chown is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CHOWN -/* Define to 1 if closedir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_CLOSEDIR - /* Define to 1 if connect is declared even after undefining macros. */ #undef HAVE_RAW_DECL_CONNECT -/* Define to 1 if copysign is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COPYSIGN - -/* Define to 1 if copysignf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COPYSIGNF - -/* Define to 1 if copysignl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COPYSIGNL - -/* Define to 1 if cosf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COSF - -/* Define to 1 if coshf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COSHF - -/* Define to 1 if cosl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_COSL - -/* Define to 1 if dirfd is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_DIRFD - /* Define to 1 if dprintf is declared even after undefining macros. */ #undef HAVE_RAW_DECL_DPRINTF @@ -1042,36 +769,6 @@ /* Define to 1 if euidaccess is declared even after undefining macros. */ #undef HAVE_RAW_DECL_EUIDACCESS -/* Define to 1 if exp2 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXP2 - -/* Define to 1 if exp2f is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXP2F - -/* Define to 1 if exp2l is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXP2L - -/* Define to 1 if expf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXPF - -/* Define to 1 if expl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXPL - -/* Define to 1 if expm1 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXPM1 - -/* Define to 1 if expm1f is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXPM1F - -/* Define to 1 if expm1l is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_EXPM1L - -/* Define to 1 if fabsf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FABSF - -/* Define to 1 if fabsl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FABSL - /* Define to 1 if faccessat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FACCESSAT @@ -1090,9 +787,6 @@ /* Define to 1 if fdatasync is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FDATASYNC -/* Define to 1 if fdopendir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FDOPENDIR - /* Define to 1 if ffs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FFS @@ -1102,42 +796,12 @@ /* Define to 1 if ffsll is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FFSLL -/* Define to 1 if floorf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FLOORF - -/* Define to 1 if floorl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FLOORL - -/* Define to 1 if fma is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMA - -/* Define to 1 if fmaf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMAF - -/* Define to 1 if fmal is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMAL - -/* Define to 1 if fmod is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMOD - -/* Define to 1 if fmodf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMODF - -/* Define to 1 if fmodl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FMODL - /* Define to 1 if fpurge is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FPURGE /* Define to 1 if freeaddrinfo is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FREEADDRINFO -/* Define to 1 if frexpf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FREXPF - -/* Define to 1 if frexpl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_FREXPL - /* Define to 1 if fseeko is declared even after undefining macros. */ #undef HAVE_RAW_DECL_FSEEKO @@ -1228,21 +892,6 @@ /* Define to 1 if group_member is declared even after undefining macros. */ #undef HAVE_RAW_DECL_GROUP_MEMBER -/* Define to 1 if hypotf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_HYPOTF - -/* Define to 1 if hypotl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_HYPOTL - -/* Define to 1 if ilogb is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ILOGB - -/* Define to 1 if ilogbf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ILOGBF - -/* Define to 1 if ilogbl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ILOGBL - /* Define to 1 if imaxabs is declared even after undefining macros. */ #undef HAVE_RAW_DECL_IMAXABS @@ -1261,9 +910,6 @@ /* Define to 1 if initstate_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_INITSTATE_R -/* Define to 1 if ioctl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_IOCTL - /* Define to 1 if isatty is declared even after undefining macros. */ #undef HAVE_RAW_DECL_ISATTY @@ -1273,12 +919,6 @@ /* Define to 1 if lchown is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LCHOWN -/* Define to 1 if ldexpf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LDEXPF - -/* Define to 1 if ldexpl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LDEXPL - /* Define to 1 if link is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LINK @@ -1288,51 +928,6 @@ /* Define to 1 if listen is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LISTEN -/* Define to 1 if log is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG - -/* Define to 1 if log10 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG10 - -/* Define to 1 if log10f is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG10F - -/* Define to 1 if log10l is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG10L - -/* Define to 1 if log1p is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG1P - -/* Define to 1 if log1pf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG1PF - -/* Define to 1 if log1pl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG1PL - -/* Define to 1 if log2 is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG2 - -/* Define to 1 if log2f is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG2F - -/* Define to 1 if log2l is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOG2L - -/* Define to 1 if logb is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOGB - -/* Define to 1 if logbf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOGBF - -/* Define to 1 if logbl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOGBL - -/* Define to 1 if logf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOGF - -/* Define to 1 if logl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_LOGL - /* Define to 1 if lseek is declared even after undefining macros. */ #undef HAVE_RAW_DECL_LSEEK @@ -1393,21 +988,9 @@ /* Define to 1 if mkstemps is declared even after undefining macros. */ #undef HAVE_RAW_DECL_MKSTEMPS -/* Define to 1 if modf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MODF - -/* Define to 1 if modff is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MODFF - -/* Define to 1 if modfl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_MODFL - /* Define to 1 if openat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_OPENAT -/* Define to 1 if opendir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_OPENDIR - /* Define to 1 if pclose is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PCLOSE @@ -1423,9 +1006,6 @@ /* Define to 1 if posix_openpt is declared even after undefining macros. */ #undef HAVE_RAW_DECL_POSIX_OPENPT -/* Define to 1 if powf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_POWF - /* Define to 1 if pread is declared even after undefining macros. */ #undef HAVE_RAW_DECL_PREAD @@ -1453,9 +1033,6 @@ /* Define to 1 if rawmemchr is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RAWMEMCHR -/* Define to 1 if readdir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_READDIR - /* Define to 1 if readlink is declared even after undefining macros. */ #undef HAVE_RAW_DECL_READLINK @@ -1471,48 +1048,15 @@ /* Define to 1 if recvfrom is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RECVFROM -/* Define to 1 if remainder is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_REMAINDER - -/* Define to 1 if remainderf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_REMAINDERF - -/* Define to 1 if remainderl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_REMAINDERL - /* Define to 1 if renameat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RENAMEAT -/* Define to 1 if rewinddir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_REWINDDIR - -/* Define to 1 if rint is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RINT - -/* Define to 1 if rintf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RINTF - -/* Define to 1 if rintl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_RINTL - /* Define to 1 if rmdir is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RMDIR -/* Define to 1 if round is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ROUND - -/* Define to 1 if roundf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ROUNDF - -/* Define to 1 if roundl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_ROUNDL - /* Define to 1 if rpmatch is declared even after undefining macros. */ #undef HAVE_RAW_DECL_RPMATCH -/* Define to 1 if scandir is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SCANDIR - /* Define to 1 if secure_getenv is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SECURE_GETENV @@ -1570,15 +1114,6 @@ /* Define to 1 if sigprocmask is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SIGPROCMASK -/* Define to 1 if sinf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SINF - -/* Define to 1 if sinhf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SINHF - -/* Define to 1 if sinl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SINL - /* Define to 1 if sleep is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SLEEP @@ -1588,12 +1123,6 @@ /* Define to 1 if socket is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SOCKET -/* Define to 1 if sqrtf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SQRTF - -/* Define to 1 if sqrtl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_SQRTL - /* Define to 1 if srandom is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SRANDOM @@ -1672,27 +1201,9 @@ /* Define to 1 if symlinkat is declared even after undefining macros. */ #undef HAVE_RAW_DECL_SYMLINKAT -/* Define to 1 if tanf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TANF - -/* Define to 1 if tanhf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TANHF - -/* Define to 1 if tanl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TANL - /* Define to 1 if tmpfile is declared even after undefining macros. */ #undef HAVE_RAW_DECL_TMPFILE -/* Define to 1 if trunc is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TRUNC - -/* Define to 1 if truncf is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TRUNCF - -/* Define to 1 if truncl is declared even after undefining macros. */ -#undef HAVE_RAW_DECL_TRUNCL - /* Define to 1 if ttyname_r is declared even after undefining macros. */ #undef HAVE_RAW_DECL_TTYNAME_R @@ -1822,9 +1333,6 @@ /* Define to 1 if _Exit is declared even after undefining macros. */ #undef HAVE_RAW_DECL__EXIT -/* Define to 1 if you have the `readdir' function. */ -#undef HAVE_READDIR - /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX @@ -1837,9 +1345,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_RUNETYPE_H -/* Define to 1 if 'long double' and 'double' have the same representation. */ -#undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE - /* Define to 1 if the system has the type `sa_family_t'. */ #undef HAVE_SA_FAMILY_T @@ -1855,6 +1360,9 @@ /* Define to 1 if you have the `select' function. */ #undef HAVE_SELECT +/* Define to 1 if you have the `setdtablesize' function. */ +#undef HAVE_SETDTABLESIZE + /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV @@ -1879,9 +1387,6 @@ /* Define to 1 if the system has the type `size_t'. */ #undef HAVE_SIZE_T -/* Define to 1 if you have the `sleep' function. */ -#undef HAVE_SLEEP - /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF @@ -1918,9 +1423,6 @@ /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR -/* Define to 1 if you have the `strchrnul' function. */ -#undef HAVE_STRCHRNUL - /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP @@ -1975,12 +1477,12 @@ /* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ #undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ +#undef HAVE_STRUCT_TM_TM_ZONE + /* Define to 1 if you have the `strverscmp' function. */ #undef HAVE_STRVERSCMP -/* Define to 1 if you have the `symlink' function. */ -#undef HAVE_SYMLINK - /* Define to 1 if you have the header file. */ #undef HAVE_SYSEXITS_H @@ -1994,9 +1496,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_LIMITS_H @@ -2055,12 +1554,23 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H -/* Define to 1 if you have the `timer_settime' function. */ -#undef HAVE_TIMER_SETTIME +/* Define if struct tm has the tm_gmtoff member. */ +#undef HAVE_TM_GMTOFF + +/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use + `HAVE_STRUCT_TM_TM_ZONE' instead. */ +#undef HAVE_TM_ZONE + +/* Enable TPM */ +#undef HAVE_TROUSERS /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH +/* Define to 1 if you don't have `tm_zone' but do have the external array + `tzname'. */ +#undef HAVE_TZNAME + /* Define to 1 if the system has the type `uint16_t'. */ #undef HAVE_UINT16_T @@ -2118,7 +1628,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H -/* Define if you have the 'wchar_t' type. */ +/* Define to 1 if the system has the type `wchar_t'. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcrtomb' function. */ @@ -2133,7 +1643,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H -/* Define if you have the 'wint_t' type. */ +/* Define to 1 if the system has the type `wint_t'. */ #undef HAVE_WINT_T /* Define to 1 if `fork' works. */ @@ -2166,36 +1676,15 @@ /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ #undef HAVE__SET_INVALID_PARAMETER_HANDLER -/* Define to 1 if you have the `__fseterr' function. */ -#undef HAVE___FSETERR - /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING -/* Define to 1 if you have the `__xpg_strerror_r' function. */ -#undef HAVE___XPG_STRERROR_R - -/* Define as the bit index in the word where to find bit 0 of the exponent of - 'long double'. */ -#undef LDBL_EXPBIT0_BIT - -/* Define as the word index where to find the exponent of 'long double'. */ -#undef LDBL_EXPBIT0_WORD - -/* Define as the bit index in the word where to find the sign of 'long - double'. */ -#undef LDBL_SIGNBIT_BIT - -/* Define as the word index where to find the sign of 'long double'. */ -#undef LDBL_SIGNBIT_WORD +/* Define as const if the declaration of iconv() needs const. */ +#undef ICONV_CONST /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN -/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing - slash. */ -#undef LSTAT_FOLLOWS_SLASHED_SYMLINK - /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR @@ -2206,66 +1695,12 @@ /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ #undef MAP_ANONYMOUS -/* Define if the vasnprintf implementation needs special code for the 'a' and - 'A' directives. */ -#undef NEED_PRINTF_DIRECTIVE_A - -/* Define if the vasnprintf implementation needs special code for the 'F' - directive. */ -#undef NEED_PRINTF_DIRECTIVE_F - -/* Define if the vasnprintf implementation needs special code for the 'ls' - directive. */ -#undef NEED_PRINTF_DIRECTIVE_LS - -/* Define if the vasnprintf implementation needs special code for 'double' - arguments. */ -#undef NEED_PRINTF_DOUBLE - -/* Define if the vasnprintf implementation needs special code for surviving - out-of-memory conditions. */ -#undef NEED_PRINTF_ENOMEM - -/* Define if the vasnprintf implementation needs special code for the ' flag. - */ -#undef NEED_PRINTF_FLAG_GROUPING - -/* Define if the vasnprintf implementation needs special code for the '-' - flag. */ -#undef NEED_PRINTF_FLAG_LEFTADJUST - -/* Define if the vasnprintf implementation needs special code for the 0 flag. - */ -#undef NEED_PRINTF_FLAG_ZERO - -/* Define if the vasnprintf implementation needs special code for infinite - 'double' arguments. */ -#undef NEED_PRINTF_INFINITE_DOUBLE - -/* Define if the vasnprintf implementation needs special code for infinite - 'long double' arguments. */ -#undef NEED_PRINTF_INFINITE_LONG_DOUBLE - -/* Define if the vasnprintf implementation needs special code for 'long - double' arguments. */ -#undef NEED_PRINTF_LONG_DOUBLE - -/* Define if the vasnprintf implementation needs special code for supporting - large precisions without arbitrary bounds. */ -#undef NEED_PRINTF_UNBOUNDED_PRECISION - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Define this if optional arguments are disallowed */ #undef NO_OPTIONAL_OPT_ARGS /* no ssize_t type was found */ #undef NO_SSIZE_T -/* Define to 1 if open() fails to recognize a trailing slash. */ -#undef OPEN_TRAILING_SLASH_BUG - /* Name of package */ #undef PACKAGE @@ -2275,15 +1710,6 @@ /* Define to the full name of this package. */ #undef PACKAGE_NAME -/* String identifying the packager of this software */ -#undef PACKAGE_PACKAGER - -/* Packager info for bug reports (URL/e-mail/...) */ -#undef PACKAGE_PACKAGER_BUG_REPORTS - -/* Packager-specific version information */ -#undef PACKAGE_PACKAGER_VERSION - /* Define to the full name and version of this package. */ #undef PACKAGE_STRING @@ -2302,13 +1728,6 @@ /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN -/* Define to the type that is the result of default argument promotions of - type mode_t. */ -#undef PROMOTED_MODE_T - -/* Define if the pthread_in_use() detection is hard. */ -#undef PTHREAD_IN_USE_DETECTION_HARD - /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX @@ -2316,28 +1735,12 @@ /* name of regex header file */ #undef REGEX_HEADER -/* Define to 1 if stat needs help when passed a directory name with a trailing - slash */ -#undef REPLACE_FUNC_STAT_DIR - -/* Define to 1 if stat needs help when passed a file name with a trailing - slash */ -#undef REPLACE_FUNC_STAT_FILE - /* Define to 1 if strerror(0) does not return a message implying success. */ #undef REPLACE_STRERROR_0 /* Define if vasnprintf exists but is overridden by gnulib. */ #undef REPLACE_VASNPRINTF -/* Define if vfprintf is overridden by a POSIX compliant gnulib - implementation. */ -#undef REPLACE_VFPRINTF_POSIX - -/* Define if vprintf is overridden by a POSIX compliant gnulib implementation. - */ -#undef REPLACE_VPRINTF_POSIX - /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE @@ -2405,26 +1808,17 @@ /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P -/* Define if the POSIX multithreading library can be used. */ -#undef USE_POSIX_THREADS - -/* Define if references to the POSIX multithreading library should be made - weak. */ -#undef USE_POSIX_THREADS_WEAK +/* The system priority file */ +#undef SYSTEM_PRIORITY_FILE -/* Define if the GNU Pth multithreading library can be used. */ -#undef USE_PTH_THREADS +/* Define to 1 if all 'time_t' values fit in a 'long int'. */ +#undef TIME_T_FITS_IN_LONG_INT -/* Define if references to the GNU Pth multithreading library should be made - weak. */ -#undef USE_PTH_THREADS_WEAK +/* Define to 1 if your declares `struct tm'. */ +#undef TM_IN_SYS_TIME -/* Define if the old Solaris multithreading library can be used. */ -#undef USE_SOLARIS_THREADS - -/* Define if references to the old Solaris multithreading library should be - made weak. */ -#undef USE_SOLARIS_THREADS_WEAK +/* The DNSSEC root key file */ +#undef UNBOUND_ROOT_KEY_FILE /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE @@ -2458,9 +1852,6 @@ #endif -/* Define if the Win32 multithreading API can be used. */ -#undef USE_WIN32_THREADS - /* Version number of package */ #undef VERSION @@ -2540,22 +1931,10 @@ /* Define to 1 if you need to in order for 'stat' and other things to work. */ #undef _POSIX_SOURCE -/* Define to rpl_ if the getopt replacement functions and variables should be - used. */ -#undef __GETOPT_PREFIX - /* Define as a replacement for the ISO C99 __func__ variable. */ #undef __func__ -/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. - _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. - _GL_INLINE_HEADER_BEGIN contains useful stuff to put - in an include file, before uses of _GL_INLINE. - It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, - when FOO is an inline function in the header; see - . - _GL_INLINE_HEADER_END contains useful stuff to put - in the same include file, after uses of _GL_INLINE. +/* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see . @@ -2566,26 +1945,41 @@ 'reference to static identifier "f" in extern inline function'. This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. - Suppress the use of extern inline on Apple's platforms, as Libc at least - through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., + Suppress the use of extern inline on problematic Apple configurations. + OS X 10.8 and earlier mishandle it; see, e.g., . + OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and + for clang but remains for g++; see . Perhaps Apple will fix this some day. */ +#if (defined __APPLE__ \ + && (defined __header_inline \ + ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ + && ! defined __clang__) \ + : ((! defined _DONT_USE_CTYPE_INLINE_ \ + && (defined __GNUC__ || defined __cplusplus)) \ + || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ + && defined __GNUC__ && ! defined __cplusplus)))) +# define _GL_EXTERN_INLINE_APPLE_BUG +#endif #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ : (199901L <= __STDC_VERSION__ \ && !defined __HP_cc \ && !(defined __SUNPRO_C && __STDC__))) \ - && !defined __APPLE__) + && !defined _GL_EXTERN_INLINE_APPLE_BUG) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline -#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ -# if __GNUC_GNU_INLINE__ +# define _GL_EXTERN_INLINE_IN_USE +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined _GL_EXTERN_INLINE_APPLE_BUG) +# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) # else # define _GL_INLINE extern inline # endif # define _GL_EXTERN_INLINE extern +# define _GL_EXTERN_INLINE_IN_USE #else # define _GL_INLINE static _GL_UNUSED # define _GL_EXTERN_INLINE static _GL_UNUSED @@ -2598,6 +1992,10 @@ # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ @@ -2616,12 +2014,6 @@ /* Define to `int' if doesn't define. */ #undef gid_t -/* A replacement for va_copy, if needed. */ -#define gl_va_copy(a,b) ((a) = (b)) - -/* Define to rpl_gmtime if the replacement function should be used. */ -#undef gmtime - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus @@ -2641,9 +2033,6 @@ # define __GNUC_STDC_INLINE__ 1 #endif -/* Define to rpl_localtime if the replacement function should be used. */ -#undef localtime - /* Define to `int' if does not define. */ #undef mode_t @@ -2716,8 +2105,5 @@ #endif -/* Define as a macro for copying va_list variables. */ -#undef va_copy - /* Define as `fork' if `vfork' does not work. */ #undef vfork diff --git a/configure b/configure index c3c82d5..3b20877 100755 --- a/configure +++ b/configure @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GnuTLS 3.0.30. +# Generated by GNU Autoconf 2.69 for GnuTLS 3.3.5. # -# Report bugs to . +# Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -274,7 +274,7 @@ fi $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-gnutls@gnu.org + $as_echo "$0: Please tell bug-autoconf@gnu.org and bugs@gnutls.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do @@ -590,9 +590,9 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GnuTLS' PACKAGE_TARNAME='gnutls' -PACKAGE_VERSION='3.0.30' -PACKAGE_STRING='GnuTLS 3.0.30' -PACKAGE_BUGREPORT='bug-gnutls@gnu.org' +PACKAGE_VERSION='3.3.5' +PACKAGE_STRING='GnuTLS 3.3.5' +PACKAGE_BUGREPORT='bugs@gnutls.org' PACKAGE_URL='' # Factoring default headers for most tests. @@ -631,13 +631,14 @@ ac_includes_default="\ # include #endif" -gl_use_threads_default= gl_header_list= gt_needs= gl_func_list= -gl_getopt_required=POSIX -gl_getopt_required=POSIX -ac_subst_vars='gltests_LTLIBOBJS +ac_subst_vars='ggltests_LTLIBOBJS +ggltests_LIBOBJS +ggl_LTLIBOBJS +ggl_LIBOBJS +gltests_LTLIBOBJS gltests_LIBOBJS gl_LTLIBOBJS gl_LIBOBJS @@ -646,10 +647,13 @@ am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +YEAR ENABLE_CRYWRAP_FALSE ENABLE_CRYWRAP_TRUE LIBIDN_LIBS LIBIDN_CFLAGS +NEEDS_LIBRT_FALSE +NEEDS_LIBRT_TRUE LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS HAVE_GUILE_FALSE @@ -662,6 +666,41 @@ GUILE_TOOLS GUILE_CONFIG GUILE guile_snarf +GNUTLS_REQUIRES_PRIVATE +LIBZ_PREFIX +LTLIBZ +LIBZ +HAVE_LIBZ +DEFINE_SSIZE_T +LIBOPTS_DIR +LIBOPTS_CFLAGS +LIBOPTS_LDADD +NEED_LIBOPTS_FALSE +NEED_LIBOPTS_TRUE +INSTALL_LIBOPTS_FALSE +INSTALL_LIBOPTS_TRUE +POSIX_SHELL +ENABLE_TROUSERS_FALSE +ENABLE_TROUSERS_TRUE +TSS_CFLAGS +TSS_LIBS +ENABLE_PKCS11_FALSE +ENABLE_PKCS11_TRUE +P11_KIT_LIBS +P11_KIT_CFLAGS +ENABLE_DANE_FALSE +ENABLE_DANE_TRUE +UNBOUND_CFLAGS +UNBOUND_LIBS +ENABLE_SELF_CHECKS_FALSE +ENABLE_SELF_CHECKS_TRUE +FIPS140_LIBS +LIBDL_PREFIX +LTLIBDL +LIBDL +HAVE_LIBDL +ENABLE_FIPS140_FALSE +ENABLE_FIPS140_TRUE CXXCPP OTOOL64 OTOOL @@ -669,25 +708,63 @@ LIPO NMEDIT DSYMUTIL MANIFEST_TOOL -ac_ct_AR +DLLTOOL +OBJDUMP NM ac_ct_DUMPBIN DUMPBIN LD FGREP LIBTOOL -OBJDUMP -DLLTOOL -AS LN_S WERROR_CFLAGS WARN_CFLAGS WSTACK_CFLAGS +ggltests_WITNESS +NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H +NEXT_SIGNAL_H +REPLACE_RAISE +REPLACE_PTHREAD_SIGMASK +HAVE_SIGHANDLER_T +HAVE_TYPE_VOLATILE_SIG_ATOMIC_T +HAVE_STRUCT_SIGACTION_SA_SIGACTION +HAVE_SIGACTION +HAVE_SIGINFO_T +HAVE_SIGSET_T +HAVE_RAISE +HAVE_PTHREAD_SIGMASK +HAVE_POSIX_SIGNALBLOCKING +GNULIB_SIGACTION +GNULIB_SIGPROCMASK +GNULIB_SIGNAL_H_SIGPIPE +GNULIB_RAISE +GNULIB_PTHREAD_SIGMASK +LIB_SELECT +HAVE_SYS_SELECT_H +NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H +NEXT_SYS_SELECT_H +REPLACE_SELECT +REPLACE_PSELECT +HAVE_PSELECT +GNULIB_SELECT +GNULIB_PSELECT +INET_PTON_LIB +GETADDRINFO_LIB +INET_NTOP_LIB +SERVENT_LIB +HOSTENT_LIB +LIB_CLOCK_GETTIME +NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H +NEXT_ARPA_INET_H +HAVE_ARPA_INET_H +REPLACE_INET_PTON +REPLACE_INET_NTOP +HAVE_DECL_INET_PTON +HAVE_DECL_INET_NTOP +GNULIB_INET_PTON +GNULIB_INET_NTOP LIBTESTS_LIBDEPS abs_aux_dir -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H -NEXT_SYS_IOCTL_H -HAVE_SYS_IOCTL_H NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H NEXT_INTTYPES_H UINT64_MAX_EQ_ULONG_MAX @@ -696,6 +773,7 @@ PRIPTR_PREFIX PRI_MACROS_BROKEN INT64_MAX_EQ_LONG_MAX INT32_MAX_LT_INTMAX_MAX +REPLACE_STRTOUMAX REPLACE_STRTOIMAX HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX @@ -811,16 +889,18 @@ GNULIB_MBRTOWC GNULIB_MBSINIT GNULIB_WCTOB GNULIB_BTOWC +HAVE_FEATURES_H VALGRIND HAVE_UNISTD_H NEXT_AS_FIRST_DIRECTIVE_UNISTD_H NEXT_UNISTD_H -LIB_TIMER_TIME PTHREAD_H_DEFINES_STRUCT_TIMESPEC SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_AS_FIRST_DIRECTIVE_TIME_H NEXT_TIME_H +REPLACE_LOCALTIME +REPLACE_GMTIME REPLACE_TIMEGM REPLACE_NANOSLEEP REPLACE_MKTIME @@ -834,22 +914,32 @@ GNULIB_TIMEGM GNULIB_STRPTIME GNULIB_NANOSLEEP GNULIB_MKTIME -LTLIBMULTITHREAD -LIBMULTITHREAD -LTLIBTHREAD -LIBTHREAD -LIBPTH_PREFIX -LTLIBPTH -LIBPTH -GL_GENERATE_SYSEXITS_H_FALSE -GL_GENERATE_SYSEXITS_H_TRUE -SYSEXITS_H -HAVE_SYSEXITS_H -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H -NEXT_SYSEXITS_H HAVE_SYS_UIO_H NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H NEXT_SYS_UIO_H +HAVE_WS2TCPIP_H +HAVE_SYS_SOCKET_H +NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H +NEXT_SYS_SOCKET_H +HAVE_ACCEPT4 +HAVE_SA_FAMILY_T +HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY +HAVE_STRUCT_SOCKADDR_STORAGE +GNULIB_ACCEPT4 +GNULIB_SHUTDOWN +GNULIB_SETSOCKOPT +GNULIB_SENDTO +GNULIB_RECVFROM +GNULIB_SEND +GNULIB_RECV +GNULIB_LISTEN +GNULIB_GETSOCKOPT +GNULIB_GETSOCKNAME +GNULIB_GETPEERNAME +GNULIB_BIND +GNULIB_ACCEPT +GNULIB_CONNECT +GNULIB_SOCKET HAVE_STRINGS_H NEXT_AS_FIRST_DIRECTIVE_STRINGS_H NEXT_STRINGS_H @@ -900,41 +990,9 @@ HAVE__BOOL GL_GENERATE_STDBOOL_H_FALSE GL_GENERATE_STDBOOL_H_TRUE STDBOOL_H -GL_GENERATE_STDARG_H_FALSE -GL_GENERATE_STDARG_H_TRUE -STDARG_H -NEXT_AS_FIRST_DIRECTIVE_STDARG_H -NEXT_STDARG_H GL_GENERATE_STDALIGN_H_FALSE GL_GENERATE_STDALIGN_H_TRUE STDALIGN_H -NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H -NEXT_SIGNAL_H -REPLACE_RAISE -REPLACE_PTHREAD_SIGMASK -HAVE_SIGHANDLER_T -HAVE_TYPE_VOLATILE_SIG_ATOMIC_T -HAVE_STRUCT_SIGACTION_SA_SIGACTION -HAVE_SIGACTION -HAVE_SIGINFO_T -HAVE_SIGSET_T -HAVE_RAISE -HAVE_PTHREAD_SIGMASK -HAVE_POSIX_SIGNALBLOCKING -GNULIB_SIGACTION -GNULIB_SIGPROCMASK -GNULIB_SIGNAL_H_SIGPIPE -GNULIB_RAISE -GNULIB_PTHREAD_SIGMASK -LIB_SELECT -HAVE_SYS_SELECT_H -NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H -NEXT_SYS_SELECT_H -REPLACE_SELECT -REPLACE_PSELECT -HAVE_PSELECT -GNULIB_SELECT -GNULIB_PSELECT PMCCABE GL_GENERATE_NETINET_IN_H_FALSE GL_GENERATE_NETINET_IN_H_TRUE @@ -942,6 +1000,16 @@ NETINET_IN_H HAVE_NETINET_IN_H NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H NEXT_NETINET_IN_H +HAVE_NETDB_H +NEXT_AS_FIRST_DIRECTIVE_NETDB_H +NEXT_NETDB_H +REPLACE_GAI_STRERROR +HAVE_DECL_GETNAMEINFO +HAVE_DECL_GETADDRINFO +HAVE_DECL_GAI_STRERROR +HAVE_DECL_FREEADDRINFO +HAVE_STRUCT_ADDRINFO +GNULIB_GETADDRINFO APPLE_UNIVERSAL_BUILD UNDEFINE_STRTOK_R REPLACE_STRTOK_R @@ -1016,21 +1084,6 @@ GNULIB_MEMMEM GNULIB_MEMCHR GNULIB_FFSLL GNULIB_FFSL -NEXT_AS_FIRST_DIRECTIVE_MATH_H -NEXT_MATH_H -HAVE_LD_VERSION_SCRIPT_FALSE -HAVE_LD_VERSION_SCRIPT_TRUE -HAVE_LD_OUTPUT_DEF_FALSE -HAVE_LD_OUTPUT_DEF_TRUE -INET_PTON_LIB -NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H -NEXT_SYS_TIME_H -REPLACE_STRUCT_TIMEVAL -REPLACE_GETTIMEOFDAY -HAVE_SYS_TIME_H -HAVE_STRUCT_TIMEVAL -HAVE_GETTIMEOFDAY -GNULIB_GETTIMEOFDAY REPLACE_WCTOMB REPLACE_UNSETENV REPLACE_STRTOD @@ -1107,61 +1160,19 @@ GNULIB_CANONICALIZE_FILE_NAME GNULIB_CALLOC_POSIX GNULIB_ATOLL GNULIB__EXIT -GNULIB_GL_UNISTD_H_GETOPT -GETOPT_H -HAVE_GETOPT_H -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H -NEXT_GETOPT_H -GETADDRINFO_LIB -INET_NTOP_LIB -SERVENT_LIB -HOSTENT_LIB -HAVE_NETDB_H -NEXT_AS_FIRST_DIRECTIVE_NETDB_H -NEXT_NETDB_H -REPLACE_GAI_STRERROR -HAVE_DECL_GETNAMEINFO -HAVE_DECL_GETADDRINFO -HAVE_DECL_GAI_STRERROR -HAVE_DECL_FREEADDRINFO -HAVE_STRUCT_ADDRINFO -GNULIB_GETADDRINFO -WINDOWS_64_BIT_ST_SIZE -NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H -NEXT_SYS_STAT_H -REPLACE_UTIMENSAT -REPLACE_STAT -REPLACE_MKNOD -REPLACE_MKFIFO -REPLACE_MKDIR -REPLACE_LSTAT -REPLACE_FUTIMENS -REPLACE_FSTATAT -REPLACE_FSTAT -HAVE_UTIMENSAT -HAVE_MKNODAT -HAVE_MKNOD -HAVE_MKFIFOAT -HAVE_MKFIFO -HAVE_MKDIRAT -HAVE_LSTAT -HAVE_LCHMOD -HAVE_FUTIMENS -HAVE_FSTATAT -HAVE_FCHMODAT -GNULIB_UTIMENSAT -GNULIB_STAT -GNULIB_MKNODAT -GNULIB_MKNOD -GNULIB_MKFIFOAT -GNULIB_MKFIFO -GNULIB_MKDIRAT -GNULIB_LSTAT -GNULIB_LCHMOD -GNULIB_FUTIMENS -GNULIB_FSTATAT -GNULIB_FSTAT -GNULIB_FCHMODAT +SED +HAVE_LD_VERSION_SCRIPT_FALSE +HAVE_LD_VERSION_SCRIPT_TRUE +HAVE_LD_OUTPUT_DEF_FALSE +HAVE_LD_OUTPUT_DEF_TRUE +NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H +NEXT_SYS_TIME_H +REPLACE_STRUCT_TIMEVAL +REPLACE_GETTIMEOFDAY +HAVE_SYS_TIME_H +HAVE_STRUCT_TIMEVAL +HAVE_GETTIMEOFDAY +GNULIB_GETTIMEOFDAY WINDOWS_64_BIT_OFF_T NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H NEXT_SYS_TYPES_H @@ -1266,261 +1277,43 @@ GNULIB_FFLUSH GNULIB_FDOPEN GNULIB_FCLOSE GNULIB_DPRINTF -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE -REPLACE_TRUNCL -REPLACE_TRUNCF -REPLACE_TRUNC -REPLACE_SQRTL -REPLACE_SIGNBIT_USING_GCC -REPLACE_SIGNBIT -REPLACE_ROUNDL -REPLACE_ROUNDF -REPLACE_ROUND -REPLACE_REMAINDERL -REPLACE_REMAINDERF -REPLACE_REMAINDER -REPLACE_NAN -REPLACE_MODFL -REPLACE_MODFF -REPLACE_MODF -REPLACE_LOGBL -REPLACE_LOGBF -REPLACE_LOGB -REPLACE_LOG2L -REPLACE_LOG2F -REPLACE_LOG2 -REPLACE_LOG1PL -REPLACE_LOG1PF -REPLACE_LOG1P -REPLACE_LOG10L -REPLACE_LOG10F -REPLACE_LOG10 -REPLACE_LOGL -REPLACE_LOGF -REPLACE_LOG -REPLACE_LDEXPL -REPLACE_ISNAN -REPLACE_ISINF -REPLACE_ISFINITE -REPLACE_ILOGBF -REPLACE_ILOGB -REPLACE_HYPOTL -REPLACE_HYPOTF -REPLACE_HYPOT -REPLACE_HUGE_VAL -REPLACE_FREXPL -REPLACE_FREXP -REPLACE_FREXPF -REPLACE_FMODL -REPLACE_FMODF -REPLACE_FMOD -REPLACE_FMAL -REPLACE_FMAF -REPLACE_FMA -REPLACE_FLOORL -REPLACE_FLOORF -REPLACE_FLOOR -REPLACE_FABSL -REPLACE_EXP2L -REPLACE_EXP2 -REPLACE_EXPM1F -REPLACE_EXPM1 -REPLACE_CEILL -REPLACE_CEILF -REPLACE_CEIL -REPLACE_CBRTL -REPLACE_CBRTF -HAVE_DECL_TRUNCL -HAVE_DECL_TRUNCF -HAVE_DECL_TRUNC -HAVE_DECL_TANL -HAVE_DECL_SQRTL -HAVE_DECL_SINL -HAVE_DECL_ROUNDL -HAVE_DECL_ROUNDF -HAVE_DECL_ROUND -HAVE_DECL_RINTF -HAVE_DECL_REMAINDERL -HAVE_DECL_REMAINDER -HAVE_DECL_LOGB -HAVE_DECL_LOG2L -HAVE_DECL_LOG2F -HAVE_DECL_LOG2 -HAVE_DECL_LOG10L -HAVE_DECL_LOGL -HAVE_DECL_LDEXPL -HAVE_DECL_FREXPL -HAVE_DECL_FLOORL -HAVE_DECL_FLOORF -HAVE_DECL_EXPM1L -HAVE_DECL_EXP2L -HAVE_DECL_EXP2F -HAVE_DECL_EXP2 -HAVE_DECL_EXPL -HAVE_DECL_COSL -HAVE_DECL_COPYSIGNF -HAVE_DECL_CEILL -HAVE_DECL_CEILF -HAVE_DECL_CBRTL -HAVE_DECL_CBRTF -HAVE_DECL_ATANL -HAVE_DECL_ASINL -HAVE_DECL_ACOSL -HAVE_TANHF -HAVE_TANL -HAVE_TANF -HAVE_SQRTL -HAVE_SQRTF -HAVE_SINHF -HAVE_SINL -HAVE_SINF -HAVE_RINTL -HAVE_RINT -HAVE_REMAINDERF -HAVE_REMAINDER -HAVE_POWF -HAVE_MODFL -HAVE_MODFF -HAVE_LOGBL -HAVE_LOGBF -HAVE_LOG1PL -HAVE_LOG1PF -HAVE_LOG1P -HAVE_LOG10L -HAVE_LOG10F -HAVE_LOGL -HAVE_LOGF -HAVE_LDEXPF -HAVE_ISNANL -HAVE_ISNAND -HAVE_ISNANF -HAVE_ILOGBL -HAVE_ILOGBF -HAVE_ILOGB -HAVE_HYPOTL -HAVE_HYPOTF -HAVE_FREXPF -HAVE_FMODL -HAVE_FMODF -HAVE_FMAL -HAVE_FMAF -HAVE_FMA -HAVE_FABSL -HAVE_FABSF -HAVE_EXPM1F -HAVE_EXPM1 -HAVE_EXPL -HAVE_EXPF -HAVE_COSHF -HAVE_COSL -HAVE_COSF -HAVE_COPYSIGNL -HAVE_COPYSIGN -HAVE_CBRTL -HAVE_CBRTF -HAVE_CBRT -HAVE_ATAN2F -HAVE_ATANL -HAVE_ATANF -HAVE_ASINL -HAVE_ASINF -HAVE_ACOSL -HAVE_ACOSF -GNULIB_TRUNCL -GNULIB_TRUNCF -GNULIB_TRUNC -GNULIB_TANHF -GNULIB_TANL -GNULIB_TANF -GNULIB_SQRTL -GNULIB_SQRTF -GNULIB_SINHF -GNULIB_SINL -GNULIB_SINF -GNULIB_SIGNBIT -GNULIB_ROUNDL -GNULIB_ROUNDF -GNULIB_ROUND -GNULIB_RINTL -GNULIB_RINTF -GNULIB_RINT -GNULIB_REMAINDERL -GNULIB_REMAINDERF -GNULIB_REMAINDER -GNULIB_POWF -GNULIB_MODFL -GNULIB_MODFF -GNULIB_MODF -GNULIB_LOGBL -GNULIB_LOGBF -GNULIB_LOGB -GNULIB_LOG2L -GNULIB_LOG2F -GNULIB_LOG2 -GNULIB_LOG1PL -GNULIB_LOG1PF -GNULIB_LOG1P -GNULIB_LOG10L -GNULIB_LOG10F -GNULIB_LOG10 -GNULIB_LOGL -GNULIB_LOGF -GNULIB_LOG -GNULIB_LDEXPL -GNULIB_LDEXPF -GNULIB_ISNANL -GNULIB_ISNAND -GNULIB_ISNANF -GNULIB_ISNAN -GNULIB_ISINF -GNULIB_ISFINITE -GNULIB_ILOGBL -GNULIB_ILOGBF -GNULIB_ILOGB -GNULIB_HYPOTL -GNULIB_HYPOTF -GNULIB_HYPOT -GNULIB_FREXPL -GNULIB_FREXP -GNULIB_FREXPF -GNULIB_FMODL -GNULIB_FMODF -GNULIB_FMOD -GNULIB_FMAL -GNULIB_FMAF -GNULIB_FMA -GNULIB_FLOORL -GNULIB_FLOORF -GNULIB_FLOOR -GNULIB_FABSL -GNULIB_FABSF -GNULIB_EXPM1L -GNULIB_EXPM1F -GNULIB_EXPM1 -GNULIB_EXP2L -GNULIB_EXP2F -GNULIB_EXP2 -GNULIB_EXPL -GNULIB_EXPF -GNULIB_COSHF -GNULIB_COSL -GNULIB_COSF -GNULIB_COPYSIGNL -GNULIB_COPYSIGNF -GNULIB_COPYSIGN -GNULIB_CEILL -GNULIB_CEILF -GNULIB_CEIL -GNULIB_CBRTL -GNULIB_CBRTF -GNULIB_CBRT -GNULIB_ATAN2F -GNULIB_ATANL -GNULIB_ATANF -GNULIB_ASINL -GNULIB_ASINF -GNULIB_ACOSL -GNULIB_ACOSF +WINDOWS_64_BIT_ST_SIZE +NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H +NEXT_SYS_STAT_H +HAVE_MSVC_INVALID_PARAMETER_HANDLER +REPLACE_UTIMENSAT +REPLACE_STAT +REPLACE_MKNOD +REPLACE_MKFIFO +REPLACE_MKDIR +REPLACE_LSTAT +REPLACE_FUTIMENS +REPLACE_FSTATAT +REPLACE_FSTAT +HAVE_UTIMENSAT +HAVE_MKNODAT +HAVE_MKNOD +HAVE_MKFIFOAT +HAVE_MKFIFO +HAVE_MKDIRAT +HAVE_LSTAT +HAVE_LCHMOD +HAVE_FUTIMENS +HAVE_FSTATAT +HAVE_FCHMODAT +GNULIB_UTIMENSAT +GNULIB_STAT +GNULIB_MKNODAT +GNULIB_MKNOD +GNULIB_MKFIFOAT +GNULIB_MKFIFO +GNULIB_MKDIRAT +GNULIB_LSTAT +GNULIB_LCHMOD +GNULIB_FUTIMENS +GNULIB_FSTATAT +GNULIB_FSTAT +GNULIB_FCHMODAT REPLACE_ITOLD GL_GENERATE_FLOAT_H_FALSE GL_GENERATE_FLOAT_H_TRUE @@ -1538,103 +1331,30 @@ GL_GENERATE_ERRNO_H_TRUE ERRNO_H NEXT_AS_FIRST_DIRECTIVE_ERRNO_H NEXT_ERRNO_H -HAVE_DIRENT_H -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H -NEXT_DIRENT_H -HAVE_MSVC_INVALID_PARAMETER_HANDLER -LIB_CLOCK_GETTIME +PRAGMA_COLUMNS +PRAGMA_SYSTEM_HEADER +INCLUDE_NEXT_AS_FIRST_DIRECTIVE +INCLUDE_NEXT GL_GENERATE_BYTESWAP_H_FALSE GL_GENERATE_BYTESWAP_H_TRUE BYTESWAP_H -HAVE_FEATURES_H -NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H -NEXT_ARPA_INET_H -HAVE_ARPA_INET_H -REPLACE_INET_PTON -REPLACE_INET_NTOP -HAVE_DECL_INET_PTON -HAVE_DECL_INET_NTOP -GNULIB_INET_PTON -GNULIB_INET_NTOP -REPLACE_FDOPENDIR -REPLACE_DIRFD -REPLACE_CLOSEDIR -REPLACE_OPENDIR -HAVE_ALPHASORT -HAVE_SCANDIR -HAVE_FDOPENDIR -HAVE_DECL_FDOPENDIR -HAVE_DECL_DIRFD -HAVE_CLOSEDIR -HAVE_REWINDDIR -HAVE_READDIR -HAVE_OPENDIR -GNULIB_ALPHASORT -GNULIB_SCANDIR -GNULIB_FDOPENDIR -GNULIB_DIRFD -GNULIB_CLOSEDIR -GNULIB_REWINDDIR -GNULIB_READDIR -GNULIB_OPENDIR GL_GENERATE_ALLOCA_H_FALSE GL_GENERATE_ALLOCA_H_TRUE ALLOCA_H ALLOCA LTALLOCA -HAVE_WS2TCPIP_H -HAVE_SYS_SOCKET_H -NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H -NEXT_SYS_SOCKET_H -PRAGMA_COLUMNS -PRAGMA_SYSTEM_HEADER -INCLUDE_NEXT_AS_FIRST_DIRECTIVE -INCLUDE_NEXT -HAVE_ACCEPT4 -HAVE_SA_FAMILY_T -HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY -HAVE_STRUCT_SOCKADDR_STORAGE -GNULIB_ACCEPT4 -GNULIB_SHUTDOWN -GNULIB_SETSOCKOPT -GNULIB_SENDTO -GNULIB_RECVFROM -GNULIB_SEND -GNULIB_RECV -GNULIB_LISTEN -GNULIB_GETSOCKOPT -GNULIB_GETSOCKNAME -GNULIB_GETPEERNAME -GNULIB_BIND -GNULIB_ACCEPT -GNULIB_CONNECT -GNULIB_SOCKET GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE -GNUTLS_ZLIB_LIBS_PRIVATE -GNUTLS_REQUIRES_PRIVATE -LIBZ_PREFIX -LTLIBZ -LIBZ -HAVE_LIBZ -DEFINE_SSIZE_T -LIBOPTS_DIR -LIBOPTS_CFLAGS -LIBOPTS_LDADD -NEED_LIBOPTS_FALSE -NEED_LIBOPTS_TRUE -INSTALL_LIBOPTS_FALSE -INSTALL_LIBOPTS_TRUE -POSIX_SHELL -SED -ENABLE_PKCS11_FALSE -ENABLE_PKCS11_TRUE -P11_KIT_LIBS -P11_KIT_CFLAGS +LIBICONV_PREFIX +HAVE_LIBICONV LIBPTHREAD_PREFIX LTLIBPTHREAD LIBPTHREAD HAVE_LIBPTHREAD +LIBRT_PREFIX +LTLIBRT +LIBRT +HAVE_LIBRT HAVE_FORK_FALSE HAVE_FORK_TRUE POSUB @@ -1668,12 +1388,12 @@ HTML_DIR GTKDOC_MKPDF GTKDOC_REBASE GTKDOC_CHECK +ENABLE_TESTS_FALSE +ENABLE_TESTS_TRUE +ENABLE_DOC_FALSE +ENABLE_DOC_TRUE LIBSOCKET HAVE_WINSOCK2_H -REPLACE_IOCTL -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS -SYS_IOCTL_H_HAVE_WINSOCK2_H -GNULIB_IOCTL UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS UNISTD_H_HAVE_WINSOCK2_H REPLACE_WRITE @@ -1696,6 +1416,7 @@ REPLACE_ISATTY REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETLOGIN_R +REPLACE_GETDTABLESIZE REPLACE_GETDOMAINNAME REPLACE_GETCWD REPLACE_FTRUNCATE @@ -1796,32 +1517,54 @@ GNULIB_CHOWN GNULIB_CHDIR ENABLE_OPENSSL_FALSE ENABLE_OPENSSL_TRUE +ENABLE_SESSION_TICKETS_FALSE +ENABLE_SESSION_TICKETS_TRUE ENABLE_OCSP_FALSE ENABLE_OCSP_TRUE ENABLE_OPENPGP_FALSE ENABLE_OPENPGP_TRUE +ENABLE_ECDHE_FALSE +ENABLE_ECDHE_TRUE +ENABLE_DHE_FALSE +ENABLE_DHE_TRUE ENABLE_ANON_FALSE ENABLE_ANON_TRUE ENABLE_PSK_FALSE ENABLE_PSK_TRUE ENABLE_SRP_FALSE ENABLE_SRP_TRUE +ENABLE_HEARTBEAT_FALSE +ENABLE_HEARTBEAT_TRUE +ENABLE_RSA_EXPORT_FALSE +ENABLE_RSA_EXPORT_TRUE +ENABLE_ALPN_FALSE +ENABLE_ALPN_TRUE +ENABLE_DTLS_SRTP_FALSE +ENABLE_DTLS_SRTP_TRUE ENABLE_MINITASN1_FALSE ENABLE_MINITASN1_TRUE LIBTASN1_LIBS LIBTASN1_CFLAGS -PKG_CONFIG +GMP_LIBS +GMP_CFLAGS ENABLE_NETTLE_FALSE ENABLE_NETTLE_TRUE -LIBNETTLE_PREFIX -LTLIBNETTLE -LIBNETTLE -HAVE_LIBNETTLE +HOGWEED_LIBS +HOGWEED_CFLAGS +NETTLE_LIBS +NETTLE_CFLAGS +PKG_CONFIG DLL_VERSION CRYWRAP_PATCHLEVEL CXX_LT_AGE CXX_LT_REVISION CXX_LT_CURRENT +LT_XSSL_AGE +LT_XSSL_REVISION +LT_XSSL_CURRENT +LT_DANE_AGE +LT_DANE_REVISION +LT_DANE_CURRENT LT_SSL_AGE LT_SSL_REVISION LT_SSL_CURRENT @@ -1852,12 +1595,16 @@ NUMBER_VERSION PATCH_VERSION MINOR_VERSION MAJOR_VERSION +AUTOGEN +YFLAGS +YACC am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX +ac_ct_AR am__fastdepCCAS_FALSE am__fastdepCCAS_TRUE CCASDEPMODE @@ -1965,29 +1712,55 @@ enable_option_checking enable_silent_rules enable_dependency_tracking enable_largefile -enable_threads enable_cxx enable_hardware_acceleration -with_gnu_ld -enable_rpath -with_libnettle_prefix +with_nettle_mini with_included_libtasn1 +enable_dtls_srtp_support +enable_alpn_support +enable_rsa_export +enable_heartbeat_support enable_srp_authentication enable_psk_authentication enable_anon_authentication +enable_dhe +enable_ecdhe enable_openpgp_authentication enable_cryptodev enable_ocsp +enable_session_tickets enable_openssl_compatibility +enable_doc +enable_tests with_html_dir enable_gtk_doc enable_gtk_doc_html enable_gtk_doc_pdf enable_nls +with_gnu_ld +enable_rpath with_libiconv_prefix with_libintl_prefix +with_librt_prefix with_libpthread_prefix +enable_ld_version_script +enable_valgrind_tests +enable_gcc_warnings +enable_static +enable_shared +with_pic +enable_fast_install +with_sysroot +enable_libtool_lock +enable_self_checks +enable_fips140_mode +with_libdl_prefix +enable_non_suiteb_curves +enable_libdane +with_unbound_root_key_file +with_system_priority_file with_p11_kit +with_tpm enable_local_libopts enable_libopts_install with_autoopts_config @@ -1998,24 +1771,12 @@ with_libregex_libs enable_optional_args with_zlib with_libz_prefix -enable_ld_version_script -with_libpth_prefix -enable_valgrind_tests -with_packager -with_packager_version -with_packager_bug_reports -enable_gcc_warnings -enable_shared -enable_static -with_pic -enable_fast_install -with_sysroot -enable_libtool_lock with_default_trust_store_pkcs11 -with_default_crl_file with_default_trust_store_file +with_default_crl_file +with_default_blacklist_file enable_guile -with___with_guile_site_dir +with_guile_site_dir enable_crywrap ' ac_precious_vars='build_alias @@ -2032,12 +1793,20 @@ CCASFLAGS CXX CXXFLAGS CCC +YACC +YFLAGS PKG_CONFIG +NETTLE_CFLAGS +NETTLE_LIBS +HOGWEED_CFLAGS +HOGWEED_LIBS +GMP_CFLAGS +GMP_LIBS LIBTASN1_CFLAGS LIBTASN1_LIBS +CXXCPP P11_KIT_CFLAGS P11_KIT_LIBS -CXXCPP LIBIDN_CFLAGS LIBIDN_LIBS' @@ -2580,7 +2349,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GnuTLS 3.0.30 to adapt to many kinds of systems. +\`configure' configures GnuTLS 3.3.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2650,7 +2419,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GnuTLS 3.0.30:";; + short | recursive ) echo "Configuration of GnuTLS 3.3.5:";; esac cat <<\_ACEOF @@ -2658,48 +2427,66 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build --disable-largefile omit support for large files - --enable-threads={posix|solaris|pth|win32} - specify multithreading API - --disable-threads build without multithread safety --disable-cxx unconditionally disable the C++ library --disable-hardware-acceleration unconditionally disable hardware acceleration - --disable-rpath do not hardcode runtime library paths + --disable-dtls-srtp-support + disable support for the DTLS-SRTP extension + --disable-alpn-support disable support for the Application Layer Protocol + Negotiation (ALPN) extension + --disable-rsa-export disable the RSA-EXPORT support + --disable-heartbeat-support + disable support for the heartbeat extension --disable-srp-authentication disable the SRP authentication support --disable-psk-authentication disable the PSK authentication support --disable-anon-authentication disable the anonymous authentication support + --disable-dhe disable the DHE support + --disable-ecdhe disable the ECDHE support --disable-openpgp-authentication disable the OpenPGP authentication support --enable-cryptodev enable cryptodev support --disable-ocsp disable OCSP support + --disable-session-tickets + disable session tickets support --disable-openssl-compatibility disable the OpenSSL compatibility support + --disable-doc don't generate any documentation + --disable-tests don't compile or run any tests --enable-gtk-doc use gtk-doc to build documentation [[default=no]] --enable-gtk-doc-html build documentation in html format [[default=yes]] --enable-gtk-doc-pdf build documentation in pdf format [[default=no]] --disable-nls do not use Native Language Support - --enable-local-libopts Use the supplied libopts tearoff code - --enable-libopts-install - Install libopts with client installation - --disable-optional-args not wanting optional option args + --disable-rpath do not hardcode runtime library paths --enable-ld-version-script enable linker version script (default is enabled when possible) --enable-valgrind-tests run self tests under valgrind --enable-gcc-warnings turn on lots of GCC warnings (for developers) + --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --enable-self-checks enable self checking functionality + --enable-fips140-mode enable FIPS140-2 mode (implies self checks) + --disable-non-suiteb-curves + disable curves not in SuiteB + --disable-libdane disable the built of libdane + --disable-nls disable nls support in libopts + --enable-local-libopts Use the supplied libopts tearoff code + --enable-libopts-install + Install libopts with client installation + --disable-optional-args not wanting optional option args --enable-guile build GNU Guile bindings --disable-crywrap unconditionally disable the crywrap TLS proxy service @@ -2707,19 +2494,32 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libnettle-prefix[=DIR] search for libnettle in DIR/include and DIR/lib - --without-libnettle-prefix don't search for libnettle in includedir and libdir + --with-nettle-mini Link against a mini-nettle (that includes mini-gmp) --with-included-libtasn1 use the included libtasn1 --with-html-dir=PATH path to installed docs + --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir + --with-librt-prefix[=DIR] search for librt in DIR/include and DIR/lib + --without-librt-prefix don't search for librt in includedir and libdir --with-libpthread-prefix[=DIR] search for libpthread in DIR/include and DIR/lib --without-libpthread-prefix don't search for libpthread in includedir and libdir + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot=DIR Search for dependent libraries within DIR + (or the compiler's sysroot if not specified). + --with-libdl-prefix[=DIR] search for libdl in DIR/include and DIR/lib + --without-libdl-prefix don't search for libdl in includedir and libdir + --with-unbound-root-key-file + specify the unbound root key file + --with-system-priority-file + specify the system priority file --without-p11-kit Build without p11-kit and PKCS#11 support + --without-tpm Disable TPM (trousers) support. --with-autoopts-config specify the config-info script --with-regex-header a reg expr header is specified --with-libregex libregex installation prefix @@ -2728,23 +2528,14 @@ Optional Packages: --without-zlib disable zlib compression support --with-libz-prefix[=DIR] search for libz in DIR/include and DIR/lib --without-libz-prefix don't search for libz in includedir and libdir - --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib - --without-libpth-prefix don't search for libpth in includedir and libdir - --with-packager String identifying the packager of this software - --with-packager-version Packager-specific version information - --with-packager-bug-reports - Packager info for bug reports (URL/e-mail/...) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). --with-default-trust-store-pkcs11=URI use the given pkcs11 uri as default trust store - --with-default-crl-file=FILE - use the given CRL file as default --with-default-trust-store-file=FILE use the given file default trust store + --with-default-crl-file=FILE + use the given CRL file as default + --with-default-blacklist-file=FILE + use the given certificate blacklist file as default --with-guile-site-dir use the given directory as the Guile site (use with care) @@ -2761,16 +2552,31 @@ Some influential environment variables: CCASFLAGS assembler compiler flags (defaults to CFLAGS) CXX C++ compiler command CXXFLAGS C++ compiler flags + YACC The `Yet Another Compiler Compiler' implementation to use. + Defaults to the first program found out of: `bison -y', `byacc', + `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. PKG_CONFIG path to pkg-config utility + NETTLE_CFLAGS + C compiler flags for NETTLE, overriding pkg-config + NETTLE_LIBS linker flags for NETTLE, overriding pkg-config + HOGWEED_CFLAGS + C compiler flags for HOGWEED, overriding pkg-config + HOGWEED_LIBS + linker flags for HOGWEED, overriding pkg-config + GMP_CFLAGS C compiler flags for gmp + GMP_LIBS linker flags for gmp LIBTASN1_CFLAGS C compiler flags for LIBTASN1, overriding pkg-config LIBTASN1_LIBS linker flags for LIBTASN1, overriding pkg-config + CXXCPP C++ preprocessor P11_KIT_CFLAGS C compiler flags for P11_KIT, overriding pkg-config P11_KIT_LIBS linker flags for P11_KIT, overriding pkg-config - CXXCPP C++ preprocessor LIBIDN_CFLAGS C compiler flags for LIBIDN, overriding pkg-config LIBIDN_LIBS linker flags for LIBIDN, overriding pkg-config @@ -2778,7 +2584,7 @@ Some influential environment variables: Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to . +Report bugs to . _ACEOF ac_status=$? fi @@ -2841,7 +2647,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GnuTLS configure 3.0.30 +GnuTLS configure 3.3.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3000,9 +2806,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## --------------------------------- ## -## Report this to bug-gnutls@gnu.org ## -## --------------------------------- ##" +( $as_echo "## ------------------------------ ## +## Report this to bugs@gnutls.org ## +## ------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac @@ -3482,6 +3288,52 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_type +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl + # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including @@ -3539,52 +3391,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_member -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl - # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. @@ -3671,7 +3477,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GnuTLS $as_me 3.0.30, which was +It was created by GnuTLS $as_me 3.3.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3953,60 +3759,37 @@ fi gl_header_list="$gl_header_list sys/socket.h" gt_needs="$gt_needs " -gl_func_list="$gl_func_list flockfile" -gl_func_list="$gl_func_list funlockfile" -gl_header_list="$gl_header_list features.h" -gl_header_list="$gl_header_list linewrap.h" -gl_header_list="$gl_header_list arpa/inet.h" gl_func_list="$gl_func_list _set_invalid_parameter_handler" -gl_header_list="$gl_header_list dirent.h" -gl_func_list="$gl_func_list __fseterr" gl_header_list="$gl_header_list sys/stat.h" -gl_header_list="$gl_header_list netdb.h" -gl_header_list="$gl_header_list netinet/in.h" gl_func_list="$gl_func_list getdelim" -gl_getopt_required=GNU -gl_header_list="$gl_header_list getopt.h" -gl_header_list="$gl_header_list stdio_ext.h" -gl_header_list="$gl_header_list termios.h" -gl_func_list="$gl_func_list __fsetlocking" -gl_func_list="$gl_func_list tcgetattr" -gl_func_list="$gl_func_list tcsetattr" -gl_func_list="$gl_func_list getsubopt" -gl_func_list="$gl_func_list gettimeofday" -gl_func_list="$gl_func_list nanotime" gl_header_list="$gl_header_list sys/time.h" +gl_func_list="$gl_func_list gettimeofday" gl_header_list="$gl_header_list unistd.h" -gl_header_list="$gl_header_list math.h" gl_header_list="$gl_header_list sys/mman.h" gl_func_list="$gl_func_list mprotect" -gl_printf_safe=yes -gl_header_list="$gl_header_list sys/select.h" -gl_func_list="$gl_func_list sleep" +gl_header_list="$gl_header_list netdb.h" +gl_header_list="$gl_header_list netinet/in.h" gl_func_list="$gl_func_list snprintf" gl_header_list="$gl_header_list wchar.h" gl_header_list="$gl_header_list stdint.h" -gl_func_list="$gl_func_list strdup" -gl_func_list="$gl_func_list strerror_r" -gl_func_list="$gl_func_list __xpg_strerror_r" gl_header_list="$gl_header_list strings.h" gl_func_list="$gl_func_list strndup" gl_header_list="$gl_header_list sys/uio.h" -gl_header_list="$gl_header_list sysexits.h" gl_func_list="$gl_func_list localtime_r" gl_func_list="$gl_func_list vasnprintf" -gl_func_list="$gl_func_list ftruncate" -gl_func_list="$gl_func_list getdtablesize" +gl_header_list="$gl_header_list features.h" gl_header_list="$gl_header_list inttypes.h" -gl_func_list="$gl_func_list lstat" -gl_header_list="$gl_header_list sys/param.h" -gl_func_list="$gl_func_list pipe" -gl_header_list="$gl_header_list sys/wait.h" -gl_func_list="$gl_func_list setenv" -gl_func_list="$gl_func_list catgets" -gl_func_list="$gl_func_list symlink" -gl_header_list="$gl_header_list sys/ioctl.h" gl_func_list="$gl_func_list shutdown" +gl_header_list="$gl_header_list arpa/inet.h" +gl_header_list="$gl_header_list stdio_ext.h" +gl_header_list="$gl_header_list termios.h" +gl_func_list="$gl_func_list __fsetlocking" +gl_func_list="$gl_func_list tcgetattr" +gl_func_list="$gl_func_list tcsetattr" +gl_func_list="$gl_func_list nanotime" +gl_header_list="$gl_header_list sys/select.h" +gl_func_list="$gl_func_list setenv" +gl_func_list="$gl_func_list strdup" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -4177,7 +3960,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -am__api_version='1.11' +am__api_version='1.14' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -4274,9 +4057,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -4287,32 +4067,40 @@ case `pwd` in esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then @@ -4324,6 +4112,16 @@ Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -4346,12 +4144,12 @@ if test x"${MISSING+set}" != xset; then esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then @@ -4363,10 +4161,10 @@ if test x"${install_sh}" != xset; then esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. +# will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. @@ -4505,12 +4303,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -4593,6 +4385,45 @@ else fi rmdir .tst 2>/dev/null +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." @@ -4615,7 +4446,7 @@ fi # Define the identity of the package. PACKAGE='gnutls' - VERSION='3.0.30' + VERSION='3.3.5' cat >>confdefs.h <<_ACEOF @@ -4643,27 +4474,80 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 @@ -5492,6 +5376,65 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -5511,7 +5454,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -5567,8 +5510,8 @@ else # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -5603,16 +5546,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -5621,8 +5564,8 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -5630,7 +5573,7 @@ else fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -6191,132 +6134,6 @@ fi fi -if test "x$CC" != xcc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : @@ -6865,397 +6682,30 @@ $as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h fi - case $ac_cv_prog_cc_stdc in #( - no) : - ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( - *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 -else - ac_cv_prog_cc_stdc=no -fi - -fi - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 -$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } - if ${ac_cv_prog_cc_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -fi - - case $ac_cv_prog_cc_stdc in #( - no) : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; #( - '') : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; #( - *) : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 -$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; -esac - - - - - # Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then : - enableval=$enable_threads; gl_use_threads=$enableval -else - if test -n "$gl_use_threads_default"; then - gl_use_threads="$gl_use_threads_default" - else - case "$host_os" in - osf*) gl_use_threads=no ;; - cygwin*) - case `uname -r` in - 1.[0-5].*) gl_use_threads=no ;; - *) gl_use_threads=yes ;; - esac - ;; - *) gl_use_threads=yes ;; - esac - fi - -fi - - if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then - # For using : - case "$host_os" in - osf*) - # On OSF/1, the compiler needs the flag -D_REENTRANT so that it - # groks . cc also understands the flag -pthread, but - # we don't use it because 1. gcc-2.95 doesn't understand -pthread, - # 2. putting a flag into CPPFLAGS that has an effect on the linker - # causes the AC_TRY_LINK test below to succeed unexpectedly, - # leading to wrong values of LIBTHREAD and LTLIBTHREAD. - CPPFLAGS="$CPPFLAGS -D_REENTRANT" - ;; - esac - # Some systems optimize for single-threaded programs by default, and - # need special flags to disable these optimizations. For example, the - # definition of 'errno' in . - case "$host_os" in - aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; - solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; - esac - fi - - - - - # Code from module accept: - # Code from module accept-tests: + # Code from module absolute-header: # Code from module alloca: # Code from module alloca-opt: # Code from module alloca-opt-tests: - # Code from module alphasort: - # Code from module argp: - # Code from module argp-tests: - # Code from module arpa_inet: - # Code from module arpa_inet-tests: # Code from module base64: # Code from module base64-tests: # Code from module binary-io: # Code from module binary-io-tests: - # Code from module bind: - # Code from module bind-tests: # Code from module byteswap: # Code from module byteswap-tests: # Code from module c-ctype: # Code from module c-ctype-tests: - # Code from module clock-time: - # Code from module close: - # Code from module close-tests: - # Code from module closedir: - # Code from module connect: - # Code from module connect-tests: - # Code from module dirent: - # Code from module dirent-tests: - # Code from module dirname-lgpl: - # Code from module dosname: - # Code from module double-slash-root: - # Code from module dup2: - # Code from module dup2-tests: - # Code from module environ: - # Code from module environ-tests: # Code from module errno: # Code from module errno-tests: - # Code from module error: # Code from module extensions: # Code from module extern-inline: # Code from module fcntl-h: # Code from module fcntl-h-tests: - # Code from module fd-hook: # Code from module fdopen: # Code from module fdopen-tests: # Code from module fgetc-tests: - # Code from module filename: # Code from module float: # Code from module float-tests: # Code from module fpieee: @@ -7263,17 +6713,6 @@ fi # Code from module fpucw: # Code from module fputc-tests: # Code from module fread-tests: - # Code from module frexp-nolibm: - # Code from module frexp-nolibm-tests: - # Code from module frexpl-nolibm: - # Code from module frexpl-nolibm-tests: - # Code from module fseek: - # Code from module fseek-tests: - # Code from module fseeko: - - # Code from module fseeko-tests: - # Code from module fseterr: - # Code from module fseterr-tests: # Code from module fstat: # Code from module fstat-tests: # Code from module ftell: @@ -7281,82 +6720,41 @@ fi # Code from module ftello: # Code from module ftello-tests: - # Code from module ftruncate: - # Code from module ftruncate-tests: # Code from module func: # Code from module func-tests: # Code from module fwrite-tests: # Code from module gendocs: - # Code from module getaddrinfo: - # Code from module getaddrinfo-tests: - # Code from module getcwd-lgpl: - # Code from module getcwd-lgpl-tests: # Code from module getdelim: # Code from module getdelim-tests: - # Code from module getdtablesize: - # Code from module getdtablesize-tests: # Code from module getline: # Code from module getline-tests: - # Code from module getopt-gnu: - # Code from module getopt-posix: - # Code from module getopt-posix-tests: # Code from module getpagesize: - # Code from module getpass: - # Code from module getpeername: - # Code from module getpeername-tests: - # Code from module getsubopt: # Code from module gettext: # Code from module gettext-h: - # Code from module gettime: # Code from module gettimeofday: # Code from module gettimeofday-tests: # Code from module gnumakefile: # Code from module hash-pjw-bare: # Code from module havelib: - # Code from module hostent: - # Code from module ignore-value: - # Code from module ignore-value-tests: + # Code from module iconv: + # Code from module iconv-tests: # Code from module include_next: - # Code from module inet_ntop: - # Code from module inet_ntop-tests: - # Code from module inet_pton: - # Code from module inet_pton-tests: # Code from module intprops: # Code from module intprops-tests: # Code from module inttypes: # Code from module inttypes-incomplete: # Code from module inttypes-tests: - # Code from module ioctl: - # Code from module ioctl-tests: - # Code from module isnand-nolibm: - # Code from module isnand-nolibm-tests: - # Code from module isnanf-nolibm: - # Code from module isnanf-nolibm-tests: - # Code from module isnanl-nolibm: - # Code from module isnanl-nolibm-tests: # Code from module largefile: # Code from module lib-msvc-compat: # Code from module lib-symbol-versions: - # Code from module listen: - # Code from module listen-tests: - # Code from module lock: # Code from module lseek: - # Code from module lstat: - # Code from module lstat-tests: # Code from module maintainer-makefile: - # Code from module malloc-gnu: - # Code from module malloc-gnu-tests: # Code from module malloc-posix: - # Code from module malloca: - # Code from module malloca-tests: # Code from module manywarnings: - # Code from module math: - # Code from module math-tests: # Code from module memchr: # Code from module memchr-tests: # Code from module memmem-simple: - # Code from module mempcpy: # Code from module minmax: # Code from module msvc-inval: # Code from module msvc-nothrow: @@ -7365,76 +6763,21 @@ fi # Code from module netdb-tests: # Code from module netinet_in: # Code from module netinet_in-tests: - # Code from module nocrash: - # Code from module open: - # Code from module open-tests: - # Code from module opendir: - # Code from module pathmax: - # Code from module pathmax-tests: - # Code from module perror: - # Code from module perror-tests: - # Code from module pipe-posix: - # Code from module pipe-posix-tests: # Code from module pmccabe2html: - # Code from module printf-frexp: - # Code from module printf-frexp-tests: - # Code from module printf-frexpl: - # Code from module printf-frexpl-tests: - # Code from module printf-safe: - # Code from module progname: - # Code from module putenv: - # Code from module rawmemchr: - # Code from module rawmemchr-tests: # Code from module read-file: # Code from module read-file-tests: - # Code from module readdir: # Code from module realloc-posix: - # Code from module recv: - # Code from module recv-tests: - # Code from module recvfrom: - # Code from module recvfrom-tests: - # Code from module same-inode: - # Code from module scandir: - # Code from module select: - # Code from module select-tests: - # Code from module send: - # Code from module send-tests: - # Code from module sendto: - # Code from module sendto-tests: - # Code from module servent: - # Code from module setenv: - # Code from module setenv-tests: - # Code from module setsockopt: - # Code from module setsockopt-tests: - # Code from module shutdown: - # Code from module shutdown-tests: - # Code from module signal-h: - # Code from module signal-h-tests: - # Code from module signbit: - # Code from module signbit-tests: # Code from module size_max: - # Code from module sleep: - # Code from module sleep-tests: # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: # Code from module snippet/c++defs: # Code from module snippet/warn-on-use: # Code from module snprintf: # Code from module snprintf-tests: - # Code from module socket: - # Code from module socketlib: - # Code from module sockets: - # Code from module sockets-tests: # Code from module socklen: # Code from module ssize_t: - # Code from module stat: - # Code from module stat-tests: # Code from module stdalign: # Code from module stdalign-tests: - # Code from module stdarg: - - - # Code from module stdbool: # Code from module stdbool-tests: # Code from module stddef: @@ -7446,14 +6789,6 @@ fi # Code from module stdlib: # Code from module stdlib-tests: # Code from module strcase: - # Code from module strchrnul: - # Code from module strchrnul-tests: - # Code from module strdup-posix: - # Code from module strerror: - # Code from module strerror-override: - # Code from module strerror-tests: - # Code from module strerror_r-posix: - # Code from module strerror_r-posix-tests: # Code from module string: # Code from module string-tests: # Code from module strings: @@ -7464,12 +6799,6 @@ fi # Code from module strtok_r: # Code from module strverscmp: # Code from module strverscmp-tests: - # Code from module symlink: - # Code from module symlink-tests: - # Code from module sys_ioctl: - # Code from module sys_ioctl-tests: - # Code from module sys_select: - # Code from module sys_select-tests: # Code from module sys_socket: # Code from module sys_socket-tests: # Code from module sys_stat: @@ -7480,25 +6809,15 @@ fi # Code from module sys_types-tests: # Code from module sys_uio: # Code from module sys_uio-tests: - # Code from module sysexits: - # Code from module sysexits-tests: # Code from module test-framework-sh: # Code from module test-framework-sh-tests: - # Code from module threadlib: - - - # Code from module time: # Code from module time-tests: # Code from module time_r: - # Code from module timer-time: - # Code from module timespec: # Code from module u64: # Code from module u64-tests: # Code from module unistd: # Code from module unistd-tests: - # Code from module unsetenv: - # Code from module unsetenv-tests: # Code from module useless-if-before-free: # Code from module valgrind-tests: # Code from module vasnprintf: @@ -7509,13 +6828,6 @@ fi # Code from module vc-list-files-tests: # Code from module verify: # Code from module verify-tests: - # Code from module version-etc: - # Code from module version-etc-fsf: - # Code from module version-etc-tests: - # Code from module vfprintf-posix: - # Code from module vfprintf-posix-tests: - # Code from module vprintf-posix: - # Code from module vprintf-posix-tests: # Code from module vsnprintf: # Code from module vsnprintf-tests: # Code from module warnings: @@ -7524,6 +6836,110 @@ fi # Code from module xsize: + + # Code from module absolute-header: + # Code from module accept: + # Code from module alloca: + # Code from module alloca-opt: + # Code from module arpa_inet: + # Code from module bind: + # Code from module c-ctype: + # Code from module clock-time: + # Code from module close: + # Code from module connect: + # Code from module dup2: + # Code from module environ: + # Code from module errno: + # Code from module error: + # Code from module exitfail: + # Code from module extensions: + + # Code from module extern-inline: + # Code from module fd-hook: + # Code from module float: + # Code from module fseek: + # Code from module fseeko: + + # Code from module fstat: + # Code from module getaddrinfo: + # Code from module getdelim: + # Code from module getline: + # Code from module getpass: + # Code from module getpeername: + # Code from module gettext-h: + # Code from module gettime: + # Code from module gettimeofday: + # Code from module hostent: + # Code from module include_next: + # Code from module inet_ntop: + # Code from module inet_pton: + # Code from module intprops: + # Code from module largefile: + + # Code from module listen: + # Code from module lseek: + # Code from module malloc-posix: + # Code from module malloca: + # Code from module memchr: + # Code from module mktime: + # Code from module msvc-inval: + # Code from module msvc-nothrow: + # Code from module multiarch: + # Code from module netdb: + # Code from module netinet_in: + # Code from module parse-datetime: + # Code from module progname: + # Code from module realloc-posix: + # Code from module recv: + # Code from module recvfrom: + # Code from module select: + # Code from module send: + # Code from module sendto: + # Code from module servent: + # Code from module setenv: + # Code from module setsockopt: + # Code from module shutdown: + # Code from module signal-h: + # Code from module size_max: + # Code from module snippet/_Noreturn: + # Code from module snippet/arg-nonnull: + # Code from module snippet/c++defs: + # Code from module snippet/warn-on-use: + # Code from module snprintf: + # Code from module socket: + # Code from module socketlib: + # Code from module sockets: + # Code from module socklen: + # Code from module ssize_t: + # Code from module stdalign: + # Code from module stdbool: + # Code from module stddef: + # Code from module stdint: + # Code from module stdio: + # Code from module stdlib: + # Code from module strdup-posix: + # Code from module strerror: + # Code from module strerror-override: + # Code from module string: + # Code from module sys_select: + # Code from module sys_socket: + # Code from module sys_stat: + # Code from module sys_time: + # Code from module sys_types: + # Code from module sys_uio: + # Code from module time: + # Code from module time_r: + # Code from module timespec: + # Code from module unistd: + # Code from module unsetenv: + # Code from module vasnprintf: + # Code from module verify: + # Code from module wchar: + # Code from module xalloc: + # Code from module xalloc-die: + # Code from module xalloc-oversized: + # Code from module xsize: + # By default we simply use the C compiler to build assembly code. test "${CCAS+set}" = set || CCAS=$CC @@ -7542,8 +6958,8 @@ else # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -7576,16 +6992,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -7594,8 +7010,8 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -7603,7 +7019,7 @@ else fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -7657,6 +7073,177 @@ else fi +if test -n "$ac_tool_prefix"; then + for ac_prog in ar lib "link -lib" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar lib "link -lib" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 +$as_echo_n "checking the archiver ($AR) interface... " >&6; } +if ${am_cv_ar_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + am_cv_ar_interface=ar + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int some_variable = 0; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 + (eval $am_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + am_cv_ar_interface=ar + else + am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 + (eval $am_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + am_cv_ar_interface=lib + else + am_cv_ar_interface=unknown + fi + fi + rm -f conftest.lib libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 +$as_echo "$am_cv_ar_interface" >&6; } + +case $am_cv_ar_interface in +ar) + ;; +lib) + # Microsoft lib, so override with the ar-lib wrapper script. + # FIXME: It is wrong to rewrite AR. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__AR in this case, + # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something + # similar. + AR="$am_aux_dir/ar-lib $AR" + ;; +unknown) + as_fn_error $? "could not determine $AR interface" "$LINENO" 5 + ;; +esac + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -7925,8 +7512,8 @@ else # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -7961,16 +7548,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -7979,8 +7566,8 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -7988,7 +7575,7 @@ else fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -8043,12 +7630,106 @@ fi +for ac_prog in 'bison -y' byacc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_YACC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_YACC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +$as_echo "$YACC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + +# Extract the first word of "autogen", so it can be a program name with args. +set dummy autogen; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AUTOGEN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AUTOGEN"; then + ac_cv_prog_AUTOGEN="$AUTOGEN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AUTOGEN="autogen" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_AUTOGEN" && ac_cv_prog_AUTOGEN="/bin/true" +fi +fi +AUTOGEN=$ac_cv_prog_AUTOGEN +if test -n "$AUTOGEN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AUTOGEN" >&5 +$as_echo "$AUTOGEN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +if test x"$AUTOGEN" = "x/bin/true"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** autogen not found. Will not link against libopts. +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** autogen not found. Will not link against libopts. +*** " >&2;} +enable_local_libopts=yes +fi + # For includes/gnutls/gnutls.h.in. MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'` MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'` -PATCH_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'` +PATCH_VERSION=`echo $PACKAGE_VERSION | sed 's/.*\..*\.\([0-9]*\).*/\1/g'` NUMBER_VERSION=`printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION` @@ -8382,231 +8063,6 @@ fi - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then @@ -8727,12 +8183,12 @@ fi # Library code modified: REVISION++ # Interfaces changed/added/removed: CURRENT++ REVISION=0 # Interfaces added: AGE++ - # Interfaces removed: AGE=0 - LT_CURRENT=39 + # Interfaces removed: AGE=0 (+bump all symbol versions in .map) + LT_CURRENT=66 - LT_REVISION=5 + LT_REVISION=0 - LT_AGE=11 + LT_AGE=38 LT_SSL_CURRENT=27 @@ -8742,598 +8198,277 @@ fi LT_SSL_AGE=0 - CXX_LT_CURRENT=28 + LT_DANE_CURRENT=4 - CXX_LT_REVISION=0 - - CXX_LT_AGE=0 - - - CRYWRAP_PATCHLEVEL=3 + LT_DANE_REVISION=1 + LT_DANE_AGE=4 - # Used when creating the Windows libgnutls-XX.def files. - DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` + LT_XSSL_CURRENT=0 - cryptolib="nettle" + LT_XSSL_REVISION=0 + LT_XSSL_AGE=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use nettle" >&5 -$as_echo_n "checking whether to use nettle... " >&6; } -if test "$cryptolib" = "nettle";then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + CXX_LT_CURRENT=29 + CXX_LT_REVISION=0 + CXX_LT_AGE=1 + CRYWRAP_PATCHLEVEL=3 + # Used when creating the Windows libgnutls-XX.def files. + DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}` +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NETTLE" >&5 +$as_echo_n "checking for NETTLE... " >&6; } +if test -n "$PKG_CONFIG"; then + if test -n "$NETTLE_CFLAGS"; then + pkg_cv_NETTLE_CFLAGS="$NETTLE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nettle >= 2.7\""; } >&5 + ($PKG_CONFIG --exists --print-errors "nettle >= 2.7") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_NETTLE_CFLAGS=`$PKG_CONFIG --cflags "nettle >= 2.7" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$NETTLE_LIBS"; then + pkg_cv_NETTLE_LIBS="$NETTLE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nettle >= 2.7\""; } >&5 + ($PKG_CONFIG --exists --print-errors "nettle >= 2.7") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_NETTLE_LIBS=`$PKG_CONFIG --libs "nettle >= 2.7" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi - use_additional=yes - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +if test $pkg_failed = yes; then - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + NETTLE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "nettle >= 2.7"` + else + NETTLE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nettle >= 2.7"` + fi + # Put the nasty error message in config.log where it belongs + echo "$NETTLE_PKG_ERRORS" >&5 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +as_fn_error $? " + *** + *** Libnettle 2.7 was not found. +" "$LINENO" 5 -# Check whether --with-libnettle-prefix was given. -if test "${with_libnettle_prefix+set}" = set; then : - withval=$with_libnettle_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then +elif test $pkg_failed = untried; then - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" +as_fn_error $? " + *** + *** Libnettle 2.7 was not found. +" "$LINENO" 5 - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" +else + NETTLE_CFLAGS=$pkg_cv_NETTLE_CFLAGS + NETTLE_LIBS=$pkg_cv_NETTLE_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + cryptolib="nettle" +fi - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HOGWEED" >&5 +$as_echo_n "checking for HOGWEED... " >&6; } - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi +if test -n "$PKG_CONFIG"; then + if test -n "$HOGWEED_CFLAGS"; then + pkg_cv_HOGWEED_CFLAGS="$HOGWEED_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hogweed >= 2.7\""; } >&5 + ($PKG_CONFIG --exists --print-errors "hogweed >= 2.7") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_HOGWEED_CFLAGS=`$PKG_CONFIG --cflags "hogweed >= 2.7" 2>/dev/null` +else + pkg_failed=yes +fi fi - +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$HOGWEED_LIBS"; then + pkg_cv_HOGWEED_LIBS="$HOGWEED_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hogweed >= 2.7\""; } >&5 + ($PKG_CONFIG --exists --print-errors "hogweed >= 2.7") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_HOGWEED_LIBS=`$PKG_CONFIG --libs "hogweed >= 2.7" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried fi - LIBNETTLE= - LTLIBNETTLE= - INCNETTLE= - LIBNETTLE_PREFIX= - HAVE_LIBNETTLE= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='nettle hogweed gmp' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBNETTLE; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBNETTLE; do +if test $pkg_failed = yes; then - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + HOGWEED_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "hogweed >= 2.7"` + else + HOGWEED_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "hogweed >= 2.7"` + fi + # Put the nasty error message in config.log where it belongs + echo "$HOGWEED_PKG_ERRORS" >&5 - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$found_so" - else - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$found_a" - else - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'nettle'; then - LIBNETTLE_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'nettle'; then - LIBNETTLE_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCNETTLE; do + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +as_fn_error $? " + *** + *** Libhogweed (nettle's companion library) was not found. Note that you must compile nettle with gmp support. +" "$LINENO" 5 - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCNETTLE="${INCNETTLE}${INCNETTLE:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBNETTLE; do +elif test $pkg_failed = untried; then - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +as_fn_error $? " + *** + *** Libhogweed (nettle's companion library) was not found. Note that you must compile nettle with gmp support. +" "$LINENO" 5 - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBNETTLE; do +else + HOGWEED_CFLAGS=$pkg_cv_HOGWEED_CFLAGS + HOGWEED_LIBS=$pkg_cv_HOGWEED_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + : +fi + if test "$cryptolib" = "nettle"; then + ENABLE_NETTLE_TRUE= + ENABLE_NETTLE_FALSE='#' +else + ENABLE_NETTLE_TRUE='#' + ENABLE_NETTLE_FALSE= +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$dep" - LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }$dep" - ;; - esac - done - fi - else - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }-l$name" - LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBNETTLE="${LIBNETTLE}${LIBNETTLE:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBNETTLE="${LTLIBNETTLE}${LTLIBNETTLE:+ }-R$found_dir" - done - fi +$as_echo "#define HAVE_LIBNETTLE 1" >>confdefs.h + GNUTLS_REQUIRES_PRIVATE="Requires.private: nettle, hogweed" +# Check whether --with-nettle-mini was given. +if test "${with_nettle_mini+set}" = set; then : + withval=$with_nettle_mini; mini_nettle=$withval +else + mini_nettle=no +fi - ac_save_CPPFLAGS="$CPPFLAGS" - for element in $INCNETTLE; do - haveit= - for x in $CPPFLAGS; do + if test "$mini_nettle" != no;then + GMP_CLFLAGS="" + GMP_LIBS="" + else + if test x$GMP_LIBS = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_cmp in -lgmp" >&5 +$as_echo_n "checking for __gmpz_cmp in -lgmp... " >&6; } +if ${ac_cv_lib_gmp___gmpz_cmp+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libnettle" >&5 -$as_echo_n "checking for libnettle... " >&6; } -if ${ac_cv_libnettle+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - case " $LIBNETTLE" in - *" -l"*) LIBS="$LIBS $LIBNETTLE" ;; - *) LIBS="$LIBNETTLE $LIBS" ;; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char __gmpz_cmp (); int main () { -ripemd160_init (0) +return __gmpz_cmp (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libnettle=yes + ac_cv_lib_gmp___gmpz_cmp=yes else - ac_cv_libnettle='no' + ac_cv_lib_gmp___gmpz_cmp=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_cmp" >&5 +$as_echo "$ac_cv_lib_gmp___gmpz_cmp" >&6; } +if test "x$ac_cv_lib_gmp___gmpz_cmp" = xyes; then : + GMP_LIBS="-lgmp" +else + as_fn_error $? " +*** +*** gmp was not found. +" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libnettle" >&5 -$as_echo "$ac_cv_libnettle" >&6; } - if test "$ac_cv_libnettle" = yes; then - HAVE_LIBNETTLE=yes - -$as_echo "#define HAVE_LIBNETTLE 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libnettle" >&5 -$as_echo_n "checking how to link with libnettle... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBNETTLE" >&5 -$as_echo "$LIBNETTLE" >&6; } - else - HAVE_LIBNETTLE=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBNETTLE= - LTLIBNETTLE= - LIBNETTLE_PREFIX= + fi fi - - - - if test "$ac_cv_libnettle" != yes; then - as_fn_error $? " - *** - *** Libnettle 2.4 was not found. You must compile nettle with gmp support. - " "$LINENO" 5 - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "$cryptolib" = "nettle"; then - ENABLE_NETTLE_TRUE= - ENABLE_NETTLE_FALSE='#' -else - ENABLE_NETTLE_TRUE='#' - ENABLE_NETTLE_FALSE= -fi - - - # Check whether --with-included-libtasn1 was given. if test "${with_included_libtasn1+set}" = set; then : withval=$with_included_libtasn1; included_libtasn1=$withval @@ -9352,12 +8487,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_LIBTASN1_CFLAGS="$LIBTASN1_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtasn1 >= 2.14\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libtasn1 >= 2.14") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtasn1 >= 3.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtasn1 >= 3.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_LIBTASN1_CFLAGS=`$PKG_CONFIG --cflags "libtasn1 >= 2.14" 2>/dev/null` + pkg_cv_LIBTASN1_CFLAGS=`$PKG_CONFIG --cflags "libtasn1 >= 3.4" 2>/dev/null` else pkg_failed=yes fi @@ -9370,12 +8505,12 @@ if test -n "$PKG_CONFIG"; then pkg_cv_LIBTASN1_LIBS="$LIBTASN1_LIBS" else if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtasn1 >= 2.14\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libtasn1 >= 2.14") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtasn1 >= 3.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtasn1 >= 3.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_LIBTASN1_LIBS=`$PKG_CONFIG --libs "libtasn1 >= 2.14" 2>/dev/null` + pkg_cv_LIBTASN1_LIBS=`$PKG_CONFIG --libs "libtasn1 >= 3.4" 2>/dev/null` else pkg_failed=yes fi @@ -9394,9 +8529,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBTASN1_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libtasn1 >= 2.14"` + LIBTASN1_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libtasn1 >= 3.4"` else - LIBTASN1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libtasn1 >= 2.14"` + LIBTASN1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libtasn1 >= 3.4"` fi # Put the nasty error message in config.log where it belongs echo "$LIBTASN1_PKG_ERRORS" >&5 @@ -9438,7 +8573,7 @@ fi if test "$included_libtasn1" = "no"; then - GNUTLS_REQUIRES_PRIVATE="Requires.private: libtasn1" + GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, libtasn1" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C99 macros are supported" >&5 @@ -9477,12 +8612,125 @@ $as_echo "$as_me: WARNING: C99 macros not supported. This may affect compiling." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_enable_srtp=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable DTLS-SRTP extension" >&5 +$as_echo_n "checking whether to disable DTLS-SRTP extension... " >&6; } + # Check whether --enable-dtls-srtp-support was given. +if test "${enable_dtls_srtp_support+set}" = set; then : + enableval=$enable_dtls_srtp_support; ac_enable_srtp=$enableval +fi + + if test x$ac_enable_srtp != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_DTLS_SRTP 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_srtp" != "no"; then + ENABLE_DTLS_SRTP_TRUE= + ENABLE_DTLS_SRTP_FALSE='#' +else + ENABLE_DTLS_SRTP_TRUE='#' + ENABLE_DTLS_SRTP_FALSE= +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable ALPN extension" >&5 +$as_echo_n "checking whether to disable ALPN extension... " >&6; } + # Check whether --enable-alpn-support was given. +if test "${enable_alpn_support+set}" = set; then : + enableval=$enable_alpn_support; ac_enable_alpn=$enableval +else + ac_enable_alpn=yes +fi + + if test x$ac_enable_alpn != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_ALPN 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_alpn" != "no"; then + ENABLE_ALPN_TRUE= + ENABLE_ALPN_FALSE='#' +else + ENABLE_ALPN_TRUE='#' + ENABLE_ALPN_FALSE= +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable RSA-EXPORT support" >&5 +$as_echo_n "checking whether to disable RSA-EXPORT support... " >&6; } + # Check whether --enable-rsa-export was given. +if test "${enable_rsa_export+set}" = set; then : + enableval=$enable_rsa_export; ac_enable_rsa_export=$enableval +else + ac_enable_rsa_export=yes +fi + + if test x$ac_enable_rsa_export != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_RSA_EXPORT 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_rsa_export" != "no"; then + ENABLE_RSA_EXPORT_TRUE= + ENABLE_RSA_EXPORT_FALSE='#' +else + ENABLE_RSA_EXPORT_TRUE='#' + ENABLE_RSA_EXPORT_FALSE= +fi + + + ac_enable_heartbeat=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable TLS heartbeat support" >&5 +$as_echo_n "checking whether to disable TLS heartbeat support... " >&6; } + # Check whether --enable-heartbeat-support was given. +if test "${enable_heartbeat_support+set}" = set; then : + enableval=$enable_heartbeat_support; ac_enable_heartbeat=$enableval +fi + + if test x$ac_enable_heartbeat != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define ENABLE_HEARTBEAT 1" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + if test "$ac_enable_heartbeat" != "no"; then + ENABLE_HEARTBEAT_TRUE= + ENABLE_HEARTBEAT_FALSE='#' +else + ENABLE_HEARTBEAT_TRUE='#' + ENABLE_HEARTBEAT_FALSE= +fi + + ac_enable_srp=yes { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable SRP authentication support" >&5 $as_echo_n "checking whether to disable SRP authentication support... " >&6; } # Check whether --enable-srp-authentication was given. if test "${enable_srp_authentication+set}" = set; then : - enableval=$enable_srp_authentication; ac_enable_srp=no + enableval=$enable_srp_authentication; ac_enable_srp=$enableval fi if test x$ac_enable_srp != xno; then @@ -9510,7 +8758,7 @@ fi $as_echo_n "checking whether to disable PSK authentication support... " >&6; } # Check whether --enable-psk-authentication was given. if test "${enable_psk_authentication+set}" = set; then : - enableval=$enable_psk_authentication; ac_enable_psk=no + enableval=$enable_psk_authentication; ac_enable_psk=$enableval fi if test x$ac_enable_psk != xno; then @@ -9538,7 +8786,7 @@ fi $as_echo_n "checking whether to disable anonymous authentication support... " >&6; } # Check whether --enable-anon-authentication was given. if test "${enable_anon_authentication+set}" = set; then : - enableval=$enable_anon_authentication; ac_enable_anon=no + enableval=$enable_anon_authentication; ac_enable_anon=$enableval fi if test x$ac_enable_anon != xno; then @@ -9561,12 +8809,70 @@ else fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable DHE support" >&5 +$as_echo_n "checking whether to disable DHE support... " >&6; } + # Check whether --enable-dhe was given. +if test "${enable_dhe+set}" = set; then : + enableval=$enable_dhe; ac_enable_dhe=$enableval +else + ac_enable_dhe=yes +fi + + if test x$ac_enable_dhe != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_DHE 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_dhe" != "no"; then + ENABLE_DHE_TRUE= + ENABLE_DHE_FALSE='#' +else + ENABLE_DHE_TRUE='#' + ENABLE_DHE_FALSE= +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable ECDHE support" >&5 +$as_echo_n "checking whether to disable ECDHE support... " >&6; } + # Check whether --enable-ecdhe was given. +if test "${enable_ecdhe+set}" = set; then : + enableval=$enable_ecdhe; ac_enable_ecdhe=$enableval +else + ac_enable_ecdhe=yes +fi + + if test x$ac_enable_ecdhe != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_ECDHE 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_ecdhe" != "no"; then + ENABLE_ECDHE_TRUE= + ENABLE_ECDHE_FALSE='#' +else + ENABLE_ECDHE_TRUE='#' + ENABLE_ECDHE_FALSE= +fi + + ac_enable_openpgp=yes { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable OpenPGP Certificate authentication support" >&5 $as_echo_n "checking whether to disable OpenPGP Certificate authentication support... " >&6; } # Check whether --enable-openpgp-authentication was given. if test "${enable_openpgp_authentication+set}" = set; then : - enableval=$enable_openpgp_authentication; ac_enable_openpgp=no + enableval=$enable_openpgp_authentication; ac_enable_openpgp=$enableval fi if test x$ac_enable_openpgp = xno; then @@ -9594,7 +8900,7 @@ fi $as_echo_n "checking whether to add cryptodev support... " >&6; } # Check whether --enable-cryptodev was given. if test "${enable_cryptodev+set}" = set; then : - enableval=$enable_cryptodev; enable_cryptodev=yes + enableval=$enable_cryptodev; enable_cryptodev=$enableval else enable_cryptodev=no fi @@ -9612,7 +8918,9 @@ $as_echo "#define ENABLE_CRYPTODEV 1" >>confdefs.h $as_echo_n "checking whether to disable OCSP support... " >&6; } # Check whether --enable-ocsp was given. if test "${enable_ocsp+set}" = set; then : - enableval=$enable_ocsp; ac_enable_ocsp=no + enableval=$enable_ocsp; ac_enable_ocsp=$enableval +else + ac_enable_ocsp=yes fi if test x$ac_enable_ocsp != xno; then @@ -9636,6 +8944,37 @@ else fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable session tickets support" >&5 +$as_echo_n "checking whether to disable session tickets support... " >&6; } + # Check whether --enable-session-tickets was given. +if test "${enable_session_tickets+set}" = set; then : + enableval=$enable_session_tickets; ac_enable_session_tickets=$enableval +else + ac_enable_session_tickets=yes +fi + + if test x$ac_enable_session_tickets != xno; then + ac_enable_session_tickets=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define ENABLE_SESSION_TICKETS 1" >>confdefs.h + + else + ac_full=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + if test "$ac_enable_session_tickets" != "no"; then + ENABLE_SESSION_TICKETS_TRUE= + ENABLE_SESSION_TICKETS_FALSE='#' +else + ENABLE_SESSION_TICKETS_TRUE='#' + ENABLE_SESSION_TICKETS_FALSE= +fi + + # For storing integers in pointers without warnings # http://developer.gnome.org/doc/API/2.0/glib/glib-Type-Conversion-Macros.html#desc # The cast to long int works around a bug in the HP C Compiler @@ -9784,6 +9123,7 @@ $as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long long)" >>confdefs.h fi + GNULIB_CHDIR=0; GNULIB_CHOWN=0; GNULIB_CLOSE=0; @@ -9882,6 +9222,7 @@ $as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long long)" >>confdefs.h REPLACE_FTRUNCATE=0; REPLACE_GETCWD=0; REPLACE_GETDOMAINNAME=0; + REPLACE_GETDTABLESIZE=0; REPLACE_GETLOGIN_R=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; @@ -9907,13 +9248,6 @@ $as_echo "#define GNUTLS_POINTER_TO_INT_CAST (long long)" >>confdefs.h - GNULIB_IOCTL=0; - SYS_IOCTL_H_HAVE_WINSOCK2_H=0; - SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; - - REPLACE_IOCTL=0; - - @@ -10156,6 +9490,38 @@ fi +# Check whether --enable-doc was given. +if test "${enable_doc+set}" = set; then : + enableval=$enable_doc; enable_doc=$enableval +else + enable_doc=yes +fi + + if test "$enable_doc" != "no"; then + ENABLE_DOC_TRUE= + ENABLE_DOC_FALSE='#' +else + ENABLE_DOC_TRUE='#' + ENABLE_DOC_FALSE= +fi + + +# Check whether --enable-tests was given. +if test "${enable_tests+set}" = set; then : + enableval=$enable_tests; enable_tests=$enableval +else + enable_tests=yes +fi + + if test "$enable_tests" != "no"; then + ENABLE_TESTS_TRUE= + ENABLE_TESTS_FALSE='#' +else + ENABLE_TESTS_TRUE='#' + ENABLE_TESTS_FALSE= +fi + + # Extract the first word of "gtkdoc-check", so it can be a program name with args. @@ -10384,6 +9750,13 @@ fi +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. @@ -10684,6 +10057,232 @@ fi + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + @@ -12403,9 +12002,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h esac - - -for ac_func in fork getrusage getpwuid_r daemon +for ac_func in fork getrusage getpwuid_r nanosleep daemon getpid clock_gettime iconv localtime vasprintf do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -12438,6 +12035,573 @@ fi + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-librt-prefix was given. +if test "${with_librt_prefix+set}" = set; then : + withval=$with_librt_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBRT= + LTLIBRT= + INCRT= + LIBRT_PREFIX= + HAVE_LIBRT= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='rt ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBRT="${LIBRT}${LIBRT:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBRT; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBRT; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_a" + else + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCRT; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCRT="${INCRT}${INCRT:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBRT; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBRT; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBRT="${LIBRT}${LIBRT:+ }$dep" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$dep" + ;; + esac + done + fi + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-R$found_dir" + done + fi + + + + + + + + ac_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCRT; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for librt" >&5 +$as_echo_n "checking for librt... " >&6; } +if ${ac_cv_librt+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_save_LIBS="$LIBS" + case " $LIBRT" in + *" -l"*) LIBS="$LIBS $LIBRT" ;; + *) LIBS="$LIBRT $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include + +int +main () +{ +timer_create (0,0,0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_librt=yes +else + ac_cv_librt='no' +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_librt" >&5 +$as_echo "$ac_cv_librt" >&6; } + if test "$ac_cv_librt" = yes; then + HAVE_LIBRT=yes + +$as_echo "#define HAVE_LIBRT 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with librt" >&5 +$as_echo_n "checking how to link with librt... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBRT" >&5 +$as_echo "$LIBRT" >&6; } + else + HAVE_LIBRT=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBRT= + LTLIBRT= + LIBRT_PREFIX= + fi + + + + + + + + +if test "$have_win" != "yes";then + for ac_func in pthread_mutex_lock +do : + ac_fn_c_check_func "$LINENO" "pthread_mutex_lock" "ac_cv_func_pthread_mutex_lock" +if test "x$ac_cv_func_pthread_mutex_lock" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PTHREAD_MUTEX_LOCK 1 +_ACEOF + +fi +done + + if test "$ac_cv_func_pthread_mutex_lock" != "yes";then + + + + + + + + + + + + + use_additional=yes acl_save_prefix="$prefix" @@ -12975,4454 +13139,2131 @@ $as_echo "$LIBPTHREAD" >&6; } + fi +fi +if test "$ac_cv_func_nanosleep" != "yes";then -# Check whether --with-p11-kit was given. -if test "${with_p11_kit+set}" = set; then : - withval=$with_p11_kit; -fi -if test "$with_p11_kit" != "no"; then -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for P11_KIT" >&5 -$as_echo_n "checking for P11_KIT... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$P11_KIT_CFLAGS"; then - pkg_cv_P11_KIT_CFLAGS="$P11_KIT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"p11-kit-1 >= 0.11\""; } >&5 - ($PKG_CONFIG --exists --print-errors "p11-kit-1 >= 0.11") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_P11_KIT_CFLAGS=`$PKG_CONFIG --cflags "p11-kit-1 >= 0.11" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$P11_KIT_LIBS"; then - pkg_cv_P11_KIT_LIBS="$P11_KIT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"p11-kit-1 >= 0.11\""; } >&5 - ($PKG_CONFIG --exists --print-errors "p11-kit-1 >= 0.11") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_P11_KIT_LIBS=`$PKG_CONFIG --libs "p11-kit-1 >= 0.11" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - P11_KIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "p11-kit-1 >= 0.11"` - else - P11_KIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "p11-kit-1 >= 0.11"` - fi - # Put the nasty error message in config.log where it belongs - echo "$P11_KIT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - with_p11_kit=no -elif test $pkg_failed = untried; then - with_p11_kit=no -else - P11_KIT_CFLAGS=$pkg_cv_P11_KIT_CFLAGS - P11_KIT_LIBS=$pkg_cv_P11_KIT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - with_p11_kit=yes -fi - if test "$with_p11_kit" != "no";then - -$as_echo "#define ENABLE_PKCS11 1" >>confdefs.h - - if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then - GNUTLS_REQUIRES_PRIVATE="Requires.private: p11-kit-1" - else - GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, p11-kit-1" - fi - else - with_p11_kit=no - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -*** -*** p11-kit was not found. PKCS #11 support will be disabled. -*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html -*** " >&5 -$as_echo "$as_me: WARNING: -*** -*** p11-kit was not found. PKCS #11 support will be disabled. -*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html -*** " >&2;} - fi -fi - - if test "$with_p11_kit" != "no"; then - ENABLE_PKCS11_TRUE= - ENABLE_PKCS11_FALSE='#' -else - ENABLE_PKCS11_TRUE='#' - ENABLE_PKCS11_FALSE= -fi -enable_local_libopts=yes -NEED_LIBOPTS_DIR=true -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : -else -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF -fi - ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 -$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if eval \${$as_ac_Header+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include <$ac_hdr> + use_additional=yes -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_ac_Header=yes" -else - eval "$as_ac_Header=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_ac_Header - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -ac_header_dirent=$ac_hdr; break -fi + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +# Check whether --with-librt-prefix was given. +if test "${with_librt_prefix+set}" = set; then : + withval=$with_librt_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi fi -fi + LIBRT= + LTLIBRT= + INCRT= + LIBRT_PREFIX= + HAVE_LIBRT= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='rt ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBRT="${LIBRT}${LIBRT:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBRT; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - # ================= - # AC_CHECK_HEADERS - # ================= - for ac_header in \ - sys/mman.h sys/param.h sys/poll.h sys/procset.h \ - sys/select.h sys/socket.h sys/stropts.h sys/time.h \ - sys/un.h sys/wait.h dlfcn.h errno.h \ - fcntl.h libgen.h memory.h netinet/in.h \ - setjmp.h stdbool.h sysexits.h unistd.h \ - utime.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBRT; do -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -done + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_a" + else + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCRT; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - for ac_header in stdarg.h varargs.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - lo_have_arg_hdr=true;break -else - lo_have_arg_hdr=false -fi - -done - - - for ac_header in string.h strings.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - lo_have_str_hdr=true;break -else - lo_have_str_hdr=false -fi + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCRT="${INCRT}${INCRT:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBRT; do -done + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBRT; do - for ac_header in limits.h sys/limits.h values.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - lo_have_lim_hdr=true;break -else - lo_have_lim_hdr=false -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -done + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBRT="${LIBRT}${LIBRT:+ }$dep" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$dep" + ;; + esac + done + fi + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-R$found_dir" + done + fi - for ac_header in inttypes.h stdint.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - lo_have_typ_hdr=true;break -else - lo_have_typ_hdr=false -fi -done - # ---------------------------------------------------------------------- - # check for various programs used during the build. - # On OS/X, "wchar.h" needs "runetype.h" to work properly. - # ---------------------------------------------------------------------- - for ac_header in runetype.h wchar.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " - $ac_includes_default - #if HAVE_RUNETYPE_H - # include - #endif -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi + ac_save_CPPFLAGS="$CPPFLAGS" -done + for element in $INCRT; do + haveit= + for x in $CPPFLAGS; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - # -------------------------------------------- - # Verify certain entries from AC_CHECK_HEADERS - # -------------------------------------------- - for f in sys_types sys_mman sys_param sys_stat sys_wait \ - string errno stdlib memory setjmp - do eval as_ac_var=\${ac_cv_header_${f}_h+set} - test "${as_ac_var}" = set || { - as_fn_error $? "You must have ${f}.h on your system" "$LINENO" 5 - } + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi done - ${lo_have_arg_hdr} || \ - as_fn_error $? "You must have stdarg.h or varargs.h on your system" "$LINENO" 5 - - ${lo_have_str_hdr} || \ - as_fn_error $? "You must have string.h or strings.h on your system" "$LINENO" 5 - - ${lo_have_lim_hdr} || \ - as_fn_error $? "You must have one of limits.h, sys/limits.h or values.h" "$LINENO" 5 - - ${lo_have_typ_hdr} || \ - as_fn_error $? "You must have inttypes.h or stdint.h on your system" "$LINENO" 5 - - # ---------------------------------------------------------------------- - # Checks for typedefs - # ---------------------------------------------------------------------- - ac_fn_c_check_type "$LINENO" "wchar_t" "ac_cv_type_wchar_t" "$ac_includes_default" -if test "x$ac_cv_type_wchar_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_WCHAR_T 1 -_ACEOF - - -fi - - ac_fn_c_check_type "$LINENO" "wint_t" "ac_cv_type_wint_t" " - $ac_includes_default - #if HAVE_RUNETYPE_H - # include - #endif - #if HAVE_WCHAR_H - # include - #endif -" -if test "x$ac_cv_type_wint_t" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for librt" >&5 +$as_echo_n "checking for librt... " >&6; } +if ${ac_cv_librt+:} false; then : + $as_echo_n "(cached) " >&6 +else -cat >>confdefs.h <<_ACEOF -#define HAVE_WINT_T 1 + ac_save_LIBS="$LIBS" + case " $LIBRT" in + *" -l"*) LIBS="$LIBS $LIBRT" ;; + *) LIBS="$LIBRT $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +nanosleep (0, 0); + ; + return 0; +} _ACEOF - - +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_librt=yes +else + ac_cv_librt='no' fi - - ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default" -if test "x$ac_cv_type_int8_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT8_T 1 -_ACEOF - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" fi -ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default" -if test "x$ac_cv_type_uint8_t" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_librt" >&5 +$as_echo "$ac_cv_librt" >&6; } + if test "$ac_cv_librt" = yes; then + HAVE_LIBRT=yes -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT8_T 1 -_ACEOF +$as_echo "#define HAVE_LIBRT 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with librt" >&5 +$as_echo_n "checking how to link with librt... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBRT" >&5 +$as_echo "$LIBRT" >&6; } + else + HAVE_LIBRT=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBRT= + LTLIBRT= + LIBRT_PREFIX= + fi -fi -ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default" -if test "x$ac_cv_type_int16_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_INT16_T 1 -_ACEOF -fi -ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" -if test "x$ac_cv_type_uint16_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT16_T 1 -_ACEOF + gnutls_needs_librt=yes fi -ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" -if test "x$ac_cv_type_int32_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_INT32_T 1 -_ACEOF +if test "$ac_cv_func_clock_gettime" != "yes";then -fi -ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" -if test "x$ac_cv_type_uint32_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT32_T 1 -_ACEOF -fi -ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" -if test "x$ac_cv_type_intptr_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_INTPTR_T 1 -_ACEOF -fi -ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default" -if test "x$ac_cv_type_uintptr_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_UINTPTR_T 1 -_ACEOF -fi -ac_fn_c_check_type "$LINENO" "uint_t" "ac_cv_type_uint_t" "$ac_includes_default" -if test "x$ac_cv_type_uint_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT_T 1 -_ACEOF + use_additional=yes -fi -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -cat >>confdefs.h <<_ACEOF -#define HAVE_PID_T 1 -_ACEOF + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -fi -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_SIZE_T 1 -_ACEOF +# Check whether --with-librt-prefix was given. +if test "${with_librt_prefix+set}" = set; then : + withval=$with_librt_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" -fi + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char*" >&5 -$as_echo_n "checking size of char*... " >&6; } -if ${ac_cv_sizeof_charp+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char*))" "ac_cv_sizeof_charp" "$ac_includes_default"; then : + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -else - if test "$ac_cv_type_charp" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (char*) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_charp=0 - fi -fi + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_charp" >&5 -$as_echo "$ac_cv_sizeof_charp" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_CHARP $ac_cv_sizeof_charp -_ACEOF + LIBRT= + LTLIBRT= + INCRT= + LIBRT_PREFIX= + HAVE_LIBRT= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='rt ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBRT="${LIBRT}${LIBRT:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBRT; do - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 -$as_echo_n "checking size of int... " >&6; } -if ${ac_cv_sizeof_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -else - if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -$as_echo "$ac_cv_sizeof_int" >&6; } + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBRT; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBRT="${LIBRT}${LIBRT:+ }$found_so" + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBRT="${LIBRT}${LIBRT:+ }$found_a" + else + LIBRT="${LIBRT}${LIBRT:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'rt'; then + LIBRT_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCRT; do -cat >>confdefs.h <<_ACEOF -#define SIZEOF_INT $ac_cv_sizeof_int -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCRT="${INCRT}${INCRT:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBRT; do - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 -$as_echo_n "checking size of long... " >&6; } -if ${ac_cv_sizeof_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -else - if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_long=0 - fi -fi + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBRT="${LIBRT}${LIBRT:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBRT; do -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -$as_echo "$ac_cv_sizeof_long" >&6; } + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBRT="${LIBRT}${LIBRT:+ }$dep" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }$dep" + ;; + esac + done + fi + else + LIBRT="${LIBRT}${LIBRT:+ }-l$name" + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBRT="${LIBRT}${LIBRT:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBRT="${LTLIBRT}${LTLIBRT:+ }-R$found_dir" + done + fi -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG $ac_cv_sizeof_long -_ACEOF - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 -$as_echo_n "checking size of short... " >&6; } -if ${ac_cv_sizeof_short+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : -else - if test "$ac_cv_type_short" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (short) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_short=0 - fi -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 -$as_echo "$ac_cv_sizeof_short" >&6; } + ac_save_CPPFLAGS="$CPPFLAGS" + for element in $INCRT; do + haveit= + for x in $CPPFLAGS; do -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SHORT $ac_cv_sizeof_short -_ACEOF + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done - # ---------------------------------------------------------------------- - # AC_CHECK_LIB for SVR4 libgen, and use it if it defines pathfind. - # ---------------------------------------------------------------------- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pathfind in -lgen" >&5 -$as_echo_n "checking for pathfind in -lgen... " >&6; } -if ${ac_cv_lib_gen_pathfind+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for librt" >&5 +$as_echo_n "checking for librt... " >&6; } +if ${ac_cv_librt+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgen $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pathfind (); + ac_save_LIBS="$LIBS" + case " $LIBRT" in + *" -l"*) LIBS="$LIBS $LIBRT" ;; + *) LIBS="$LIBRT $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -return pathfind (); +clock_gettime (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gen_pathfind=yes + ac_cv_librt=yes else - ac_cv_lib_gen_pathfind=no + ac_cv_librt='no' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + LIBS="$ac_save_LIBS" + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_pathfind" >&5 -$as_echo "$ac_cv_lib_gen_pathfind" >&6; } -if test "x$ac_cv_lib_gen_pathfind" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBGEN 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_librt" >&5 +$as_echo "$ac_cv_librt" >&6; } + if test "$ac_cv_librt" = yes; then + HAVE_LIBRT=yes - LIBS="-lgen $LIBS" +$as_echo "#define HAVE_LIBRT 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with librt" >&5 +$as_echo_n "checking how to link with librt... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBRT" >&5 +$as_echo "$LIBRT" >&6; } + else + HAVE_LIBRT=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBRT= + LTLIBRT= + LIBRT_PREFIX= + fi -fi - for ac_func in vprintf -do : - ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VPRINTF 1 -_ACEOF -ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = xyes; then : -$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h -fi + + gnutls_needs_librt=yes fi -done +ac_have_unicode=no +if test "$ac_cv_func_iconv" != "yes";then - for ac_header in vfork.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" -if test "x$ac_cv_header_vfork_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VFORK_H 1 -_ACEOF -fi -done -for ac_func in fork vfork -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done -if test "x$ac_cv_func_fork" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 -$as_echo_n "checking for working fork... " >&6; } -if ${ac_cv_func_fork_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_fork_works=cross -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - /* By Ruediger Kuhlmann. */ - return fork () < 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_fork_works=yes -else - ac_cv_func_fork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 -$as_echo "$ac_cv_func_fork_works" >&6; } -else - ac_cv_func_fork_works=$ac_cv_func_fork + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + fi -if test "x$ac_cv_func_fork_works" = xcross; then - case $host in - *-*-amigaos* | *-*-msdosdjgpp*) - # Override, as these systems have only a dummy fork() stub - ac_cv_func_fork_works=no - ;; - *) - ac_cv_func_fork_works=yes - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 -$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} -fi -ac_cv_func_vfork_works=$ac_cv_func_vfork -if test "x$ac_cv_func_vfork" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 -$as_echo_n "checking for working vfork... " >&6; } -if ${ac_cv_func_vfork_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_vfork_works=cross -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Thanks to Paul Eggert for this test. */ -$ac_includes_default -#include -#ifdef HAVE_VFORK_H -# include -#endif -/* On some sparc systems, changes by the child to local and incoming - argument registers are propagated back to the parent. The compiler - is told about this with #include , but some compilers - (e.g. gcc -O) don't grok . Test for this by using a - static variable whose address is put into a register that is - clobbered by the vfork. */ -static void -#ifdef __cplusplus -sparc_address_test (int arg) -# else -sparc_address_test (arg) int arg; -#endif -{ - static pid_t child; - if (!child) { - child = vfork (); - if (child < 0) { - perror ("vfork"); - _exit(2); - } - if (!child) { - arg = getpid(); - write(-1, "", 0); - _exit (arg); - } - } -} - -int -main () -{ - pid_t parent = getpid (); - pid_t child; - - sparc_address_test (0); - - child = vfork (); - - if (child == 0) { - /* Here is another test for sparc vfork register problems. This - test uses lots of local variables, at least as many local - variables as main has allocated so far including compiler - temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris - 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should - reuse the register of parent for one of the local variables, - since it will think that parent can't possibly be used any more - in this routine. Assigning to the local variable will thus - munge parent in the parent process. */ - pid_t - p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), - p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); - /* Convince the compiler that p..p7 are live; otherwise, it might - use the same hardware register for all 8 local variables. */ - if (p != p1 || p != p2 || p != p3 || p != p4 - || p != p5 || p != p6 || p != p7) - _exit(1); - - /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent - from child file descriptors. If the child closes a descriptor - before it execs or exits, this munges the parent's descriptor - as well. Test for this by closing stdout in the child. */ - _exit(close(fileno(stdout)) != 0); - } else { - int status; - struct stat st; - - while (wait(&status) != child) - ; - return ( - /* Was there some problem with vforking? */ - child < 0 - - /* Did the child fail? (This shouldn't happen.) */ - || status - - /* Did the vfork/compiler bug occur? */ - || parent != getpid() - - /* Did the file descriptor bug occur? */ - || fstat(fileno(stdout), &st) != 0 - ); - } -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_vfork_works=yes -else - ac_cv_func_vfork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 -$as_echo "$ac_cv_func_vfork_works" >&6; } - -fi; -if test "x$ac_cv_func_fork_works" = xcross; then - ac_cv_func_vfork_works=$ac_cv_func_vfork - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 -$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} -fi - -if test "x$ac_cv_func_vfork_works" = xyes; then - -$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h - -else - -$as_echo "#define vfork fork" >>confdefs.h - -fi -if test "x$ac_cv_func_fork_works" = xyes; then - -$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h - -fi - - for ac_func in mmap canonicalize_file_name snprintf strdup strchr \ - strrchr strsignal fchmod fstat chmod -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - - while : - do - POSIX_SHELL=`which bash` - test -x "$POSIX_SHELL" && break - POSIX_SHELL=`which dash` - test -x "$POSIX_SHELL" && break - POSIX_SHELL=/usr/xpg4/bin/sh - test -x "$POSIX_SHELL" && break - POSIX_SHELL=`/bin/sh -c ' - exec 2>/dev/null - if ! true ; then exit 1 ; fi - echo /bin/sh'` - test -x "$POSIX_SHELL" && break - as_fn_error $? "Cannot locate a working POSIX shell" "$LINENO" 5 - done - -cat >>confdefs.h <<_ACEOF -#define POSIX_SHELL "${POSIX_SHELL}" -_ACEOF - - - - - - LIBOPTS_BUILD_BLOCKED='' - - - NEED_LIBOPTS_DIR='' - - # Check whether --enable-local-libopts was given. -if test "${enable_local_libopts+set}" = set; then : - enableval=$enable_local_libopts; - if test x$enableval = xyes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Using supplied libopts tearoff" >&5 -$as_echo "$as_me: Using supplied libopts tearoff" >&6;} - LIBOPTS_CFLAGS='-I$(top_srcdir)/src/libopts' - NEED_LIBOPTS_DIR=true - LIBOPTS_LDADD='$(top_builddir)/src/libopts/libopts.la' - fi -fi - - - # Check whether --enable-libopts-install was given. -if test "${enable_libopts_install+set}" = set; then : - enableval=$enable_libopts_install; -fi - - if test "X${enable_libopts_install}" = Xyes; then - INSTALL_LIBOPTS_TRUE= - INSTALL_LIBOPTS_FALSE='#' -else - INSTALL_LIBOPTS_TRUE='#' - INSTALL_LIBOPTS_FALSE= -fi - - - if test -z "${NEED_LIBOPTS_DIR}" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoopts-config can be found" >&5 -$as_echo_n "checking whether autoopts-config can be found... " >&6; } - -# Check whether --with-autoopts-config was given. -if test "${with_autoopts_config+set}" = set; then : - withval=$with_autoopts_config; lo_cv_with_autoopts_config=${with_autoopts_config} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoopts-config is specified" >&5 -$as_echo_n "checking whether autoopts-config is specified... " >&6; } -if ${lo_cv_with_autoopts_config+:} false; then : - $as_echo_n "(cached) " >&6 -else - if autoopts-config --help 2>/dev/null 1>&2 - then lo_cv_with_autoopts_config=autoopts-config - elif libopts-config --help 2>/dev/null 1>&2 - then lo_cv_with_autoopts_config=libopts-config - else lo_cv_with_autoopts_config=no ; fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lo_cv_with_autoopts_config" >&5 -$as_echo "$lo_cv_with_autoopts_config" >&6; } - -fi - # end of AC_ARG_WITH - - if ${lo_cv_test_autoopts+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "${lo_cv_with_autoopts_config}" \ - -o X"${lo_cv_with_autoopts_config}" = Xno - then - if autoopts-config --help 2>/dev/null 1>&2 - then lo_cv_with_autoopts_config=autoopts-config - elif libopts-config --help 2>/dev/null 1>&2 - then lo_cv_with_autoopts_config=libopts-config - else lo_cv_with_autoopts_config=false ; fi + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break fi - lo_cv_test_autoopts=` - ${lo_cv_with_autoopts_config} --libs` 2> /dev/null - if test $? -ne 0 -o -z "${lo_cv_test_autoopts}" - then lo_cv_test_autoopts=no ; fi - -fi - # end of CACHE_VAL - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lo_cv_test_autoopts}" >&5 -$as_echo "${lo_cv_test_autoopts}" >&6; } - - if test "X${lo_cv_test_autoopts}" != Xno - then - LIBOPTS_LDADD="${lo_cv_test_autoopts}" - LIBOPTS_CFLAGS="`${lo_cv_with_autoopts_config} --cflags`" - else - LIBOPTS_LDADD='$(top_builddir)/src/libopts/libopts.la' - LIBOPTS_CFLAGS='-I$(top_srcdir)/src/libopts' - NEED_LIBOPTS_DIR=true - fi - fi # end of if test -z "${NEED_LIBOPTS_DIR}" - if test -n "${LIBOPTS_BUILD_BLOCKED}" ; then - NEED_LIBOPTS_DIR='' - fi - if test -n "${NEED_LIBOPTS_DIR}"; then - NEED_LIBOPTS_TRUE= - NEED_LIBOPTS_FALSE='#' -else - NEED_LIBOPTS_TRUE='#' - NEED_LIBOPTS_FALSE= -fi - - - - LIBOPTS_DIR=src/libopts - - -# end of AC_DEFUN of LIBOPTS_CHECK_COMMON - - - if test -z "$NEED_LIBOPTS_TRUE"; then : - - - - # Check to see if a reg expr header is specified. - - -# Check whether --with-regex-header was given. -if test "${with_regex_header+set}" = set; then : - withval=$with_regex_header; libopts_cv_with_regex_header=${with_regex_header} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a reg expr header is specified" >&5 -$as_echo_n "checking whether a reg expr header is specified... " >&6; } -if ${libopts_cv_with_regex_header+:} false; then : - $as_echo_n "(cached) " >&6 -else - libopts_cv_with_regex_header=no -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_regex_header" >&5 -$as_echo "$libopts_cv_with_regex_header" >&6; } - -fi - # end of AC_ARG_WITH - if test "X${libopts_cv_with_regex_header}" != Xno - then - cat >>confdefs.h <<_ACEOF -#define REGEX_HEADER <${libopts_cv_with_regex_header}> -_ACEOF - - else - -$as_echo "#define REGEX_HEADER " >>confdefs.h - - fi - - - - # Check to see if a working libregex can be found. - - -# Check whether --with-libregex was given. -if test "${with_libregex+set}" = set; then : - withval=$with_libregex; libopts_cv_with_libregex_root=${with_libregex} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex was specified" >&5 -$as_echo_n "checking whether with-libregex was specified... " >&6; } -if ${libopts_cv_with_libregex_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - libopts_cv_with_libregex_root=no -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_root" >&5 -$as_echo "$libopts_cv_with_libregex_root" >&6; } - -fi - # end of AC_ARG_WITH libregex - - if test "${with_libregex+set}" = set && \ - test "X${withval}" = Xno - then ## disabled by request - libopts_cv_with_libregex_root=no - libopts_cv_with_libregex_cflags=no - libopts_cv_with_libregex_libs=no - else + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -# Check whether --with-libregex-cflags was given. -if test "${with_libregex_cflags+set}" = set; then : - withval=$with_libregex_cflags; libopts_cv_with_libregex_cflags=${with_libregex_cflags} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex-cflags was specified" >&5 -$as_echo_n "checking whether with-libregex-cflags was specified... " >&6; } -if ${libopts_cv_with_libregex_cflags+:} false; then : - $as_echo_n "(cached) " >&6 -else - libopts_cv_with_libregex_cflags=no -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_cflags" >&5 -$as_echo "$libopts_cv_with_libregex_cflags" >&6; } - -fi - # end of AC_ARG_WITH libregex-cflags - - -# Check whether --with-libregex-libs was given. -if test "${with_libregex_libs+set}" = set; then : - withval=$with_libregex_libs; libopts_cv_with_libregex_libs=${with_libregex_libs} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex-libs was specified" >&5 -$as_echo_n "checking whether with-libregex-libs was specified... " >&6; } -if ${libopts_cv_with_libregex_libs+:} false; then : - $as_echo_n "(cached) " >&6 -else - libopts_cv_with_libregex_libs=no -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_libs" >&5 -$as_echo "$libopts_cv_with_libregex_libs" >&6; } - -fi - # end of AC_ARG_WITH libregex-libs - - case "X${libopts_cv_with_libregex_cflags}" in - Xyes|Xno|X ) - case "X${libopts_cv_with_libregex_root}" in - Xyes|Xno|X ) libopts_cv_with_libregex_cflags=no ;; - * ) libopts_cv_with_libregex_cflags=-I${libopts_cv_with_libregex_root}/include ;; - esac - esac - case "X${libopts_cv_with_libregex_libs}" in - Xyes|Xno|X ) - case "X${libopts_cv_with_libregex_root}" in - Xyes|Xno|X ) libopts_cv_with_libregex_libs=no ;; - * ) libopts_cv_with_libregex_libs="-L${libopts_cv_with_libregex_root}/lib -lregex";; - esac - esac - libopts_save_CPPFLAGS="${CPPFLAGS}" - libopts_save_LIBS="${LIBS}" - fi ## disabled by request - - case "X${libopts_cv_with_libregex_cflags}" in - Xyes|Xno|X ) - libopts_cv_with_libregex_cflags="" ;; - * ) CPPFLAGS="${CPPFLAGS} ${libopts_cv_with_libregex_cflags}" ;; - esac - case "X${libopts_cv_with_libregex_libs}" in - Xyes|Xno|X ) - libopts_cv_with_libregex_libs="" ;; - * ) - LIBS="${LIBS} ${libopts_cv_with_libregex_libs}" ;; - esac - LIBREGEX_CFLAGS="" - LIBREGEX_LIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libregex functions properly" >&5 -$as_echo_n "checking whether libregex functions properly... " >&6; } - if ${libopts_cv_with_libregex+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_with_libregex=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include REGEX_HEADER -static regex_t re; -void comp_re( char const* pzPat ) { - int res = regcomp( &re, pzPat, REG_EXTENDED|REG_ICASE|REG_NEWLINE ); - if (res == 0) return; - exit( res ); } -int main() { - regmatch_t m[2]; - comp_re( "^.*\$" ); - comp_re( "()|no.*" ); - comp_re( "." ); - if (regexec( &re, "X", 2, m, 0 ) != 0) return 1; - if ((m[0].rm_so != 0) || (m[0].rm_eo != 1)) { - fputs( "error: regex -->.<-- did not match\n", stderr ); - return 1; - } - return 0; } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_with_libregex=yes -else - libopts_cv_with_libregex=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of AC_TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_with_libregex - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_with_libregex}" >&5 -$as_echo "${libopts_cv_with_libregex}" >&6; } - if test "X${libopts_cv_with_libregex}" != Xno - then - -$as_echo "#define WITH_LIBREGEX 1" >>confdefs.h - - else - CPPFLAGS="${libopts_save_CPPFLAGS}" - LIBS="${libopts_save_LIBS}" - fi - - - - # Check to see if pathfind(3) works. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pathfind(3) works" >&5 -$as_echo_n "checking whether pathfind(3) works... " >&6; } - if ${libopts_cv_run_pathfind+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_run_pathfind=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int main (int argc, char** argv) { - char* pz = pathfind( getenv( "PATH" ), "sh", "x" ); - return (pz == 0) ? 1 : 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_run_pathfind=yes -else - libopts_cv_run_pathfind=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_run_pathfind - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_pathfind}" >&5 -$as_echo "${libopts_cv_run_pathfind}" >&6; } - if test "X${libopts_cv_run_pathfind}" != Xno - then - -$as_echo "#define HAVE_PATHFIND 1" >>confdefs.h - - fi - - - - # Check to see if /dev/zero is readable device. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether /dev/zero is readable device" >&5 -$as_echo_n "checking whether /dev/zero is readable device... " >&6; } - if ${libopts_cv_test_dev_zero+:} false; then : - $as_echo_n "(cached) " >&6 -else - - libopts_cv_test_dev_zero=`exec 2> /dev/null -dzero=\`ls -lL /dev/zero | egrep ^c......r\` -test -z "${dzero}" && exit 1 -echo ${dzero}` - if test $? -ne 0 || test -z "$libopts_cv_test_dev_zero" - then libopts_cv_test_dev_zero=no - fi - -fi - # end of CACHE_VAL of libopts_cv_test_dev_zero - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_test_dev_zero}" >&5 -$as_echo "${libopts_cv_test_dev_zero}" >&6; } - if test "X${libopts_cv_test_dev_zero}" != Xno - then - -$as_echo "#define HAVE_DEV_ZERO 1" >>confdefs.h - - fi - - - - # Check to see if we have a functional realpath(3C). - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have a functional realpath(3C)" >&5 -$as_echo_n "checking whether we have a functional realpath(3C)... " >&6; } - if ${libopts_cv_run_realpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_run_realpath=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int main (int argc, char** argv) { -#ifndef PATH_MAX -choke me!! -#else - char zPath[PATH_MAX+1]; -#endif - char *pz = realpath(argv[0], zPath); - return (pz == zPath) ? 0 : 1; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_run_realpath=yes -else - libopts_cv_run_realpath=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_run_realpath - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_realpath}" >&5 -$as_echo "${libopts_cv_run_realpath}" >&6; } - if test "X${libopts_cv_run_realpath}" != Xno - then - -$as_echo "#define HAVE_REALPATH 1" >>confdefs.h - - fi - - - - # Check to see if strftime() works. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strftime() works" >&5 -$as_echo_n "checking whether strftime() works... " >&6; } - if ${libopts_cv_run_strftime+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_run_strftime=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -char t_buf[ 64 ]; -int main() { - static char const z[] = "Thursday Aug 28 240"; - struct tm tm; - tm.tm_sec = 36; /* seconds after the minute [0, 61] */ - tm.tm_min = 44; /* minutes after the hour [0, 59] */ - tm.tm_hour = 12; /* hour since midnight [0, 23] */ - tm.tm_mday = 28; /* day of the month [1, 31] */ - tm.tm_mon = 7; /* months since January [0, 11] */ - tm.tm_year = 86; /* years since 1900 */ - tm.tm_wday = 4; /* days since Sunday [0, 6] */ - tm.tm_yday = 239; /* days since January 1 [0, 365] */ - tm.tm_isdst = 1; /* flag for daylight savings time */ - strftime( t_buf, sizeof( t_buf ), "%A %b %d %j", &tm ); - return (strcmp( t_buf, z ) != 0); } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_run_strftime=yes -else - libopts_cv_run_strftime=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_run_strftime - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_strftime}" >&5 -$as_echo "${libopts_cv_run_strftime}" >&6; } - if test "X${libopts_cv_run_strftime}" != Xno - then - -$as_echo "#define HAVE_STRFTIME 1" >>confdefs.h - - fi - - - - # Check to see if fopen accepts "b" mode. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fopen accepts \"b\" mode" >&5 -$as_echo_n "checking whether fopen accepts \"b\" mode... " >&6; } - if ${libopts_cv_run_fopen_binary+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_run_fopen_binary=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int main (int argc, char** argv) { -FILE* fp = fopen("conftest.$ac_ext", "rb"); -return (fp == NULL) ? 1 : fclose(fp); } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_run_fopen_binary=yes -else - libopts_cv_run_fopen_binary=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_run_fopen_binary - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_fopen_binary}" >&5 -$as_echo "${libopts_cv_run_fopen_binary}" >&6; } - if test "X${libopts_cv_run_fopen_binary}" != Xno - then - -$as_echo "#define FOPEN_BINARY_FLAG \"b\"" >>confdefs.h - - else - -$as_echo "#define FOPEN_BINARY_FLAG \"\"" >>confdefs.h - - fi - - - - # Check to see if fopen accepts "t" mode. - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fopen accepts \"t\" mode" >&5 -$as_echo_n "checking whether fopen accepts \"t\" mode... " >&6; } - if ${libopts_cv_run_fopen_text+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - libopts_cv_run_fopen_text=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int main (int argc, char** argv) { -FILE* fp = fopen("conftest.$ac_ext", "rt"); -return (fp == NULL) ? 1 : fclose(fp); } -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - libopts_cv_run_fopen_text=yes -else - libopts_cv_run_fopen_text=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - # end of TRY_RUN - -fi - # end of AC_CACHE_VAL for libopts_cv_run_fopen_text - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_fopen_text}" >&5 -$as_echo "${libopts_cv_run_fopen_text}" >&6; } - if test "X${libopts_cv_run_fopen_text}" != Xno - then - -$as_echo "#define FOPEN_TEXT_FLAG \"t\"" >>confdefs.h - - else - -$as_echo "#define FOPEN_TEXT_FLAG \"\"" >>confdefs.h - - fi - - - - # Check to see if not wanting optional option args. - - # Check whether --enable-optional-args was given. -if test "${enable_optional_args+set}" = set; then : - enableval=$enable_optional_args; libopts_cv_enable_optional_args=${enable_optional_args} -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether not wanting optional option args" >&5 -$as_echo_n "checking whether not wanting optional option args... " >&6; } -if ${libopts_cv_enable_optional_args+:} false; then : - $as_echo_n "(cached) " >&6 -else - libopts_cv_enable_optional_args=yes -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_enable_optional_args" >&5 -$as_echo "$libopts_cv_enable_optional_args" >&6; } - -fi - # end of AC_ARG_ENABLE - if test "X${libopts_cv_enable_optional_args}" = Xno - then - -$as_echo "#define NO_OPTIONAL_OPT_ARGS 1" >>confdefs.h - - fi - - - - - ac_config_files="$ac_config_files src/libopts/Makefile" - - - fi # end of AC_DEFUN of LIBOPTS_CHECK - - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" " - #include - -" -if test "x$ac_cv_type_ssize_t" = xyes; then : - - DEFINE_SSIZE_T="#include " - - -else - - -$as_echo "#define NO_SSIZE_T 1" >>confdefs.h - - DEFINE_SSIZE_T="typedef int ssize_t;" - - -fi - - -# For minitasn1. -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long int" >&5 -$as_echo_n "checking size of unsigned long int... " >&6; } -if ${ac_cv_sizeof_unsigned_long_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long int))" "ac_cv_sizeof_unsigned_long_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_long_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (unsigned long int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_unsigned_long_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_long_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG_INT $ac_cv_sizeof_unsigned_long_int -_ACEOF - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 -$as_echo_n "checking size of unsigned int... " >&6; } -if ${ac_cv_sizeof_unsigned_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (unsigned int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_unsigned_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int -_ACEOF - - - - -# Check whether --with-zlib was given. -if test "${with_zlib+set}" = set; then : - withval=$with_zlib; ac_zlib=$withval -else - ac_zlib=yes -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include zlib compression support" >&5 -$as_echo_n "checking whether to include zlib compression support... " >&6; } -if test x$ac_zlib != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libz-prefix was given. -if test "${with_libz_prefix+set}" = set; then : - withval=$with_libz_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBZ= - LTLIBZ= - INCZ= - LIBZ_PREFIX= - HAVE_LIBZ= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='z ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBZ="${LIBZ}${LIBZ:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBZ="${LIBZ}${LIBZ:+ }$found_so" - else - LIBZ="${LIBZ}${LIBZ:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBZ="${LIBZ}${LIBZ:+ }$found_a" - else - LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'z'; then - LIBZ_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'z'; then - LIBZ_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCZ="${INCZ}${INCZ:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBZ="${LIBZ}${LIBZ:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBZ; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBZ="${LIBZ}${LIBZ:+ }$dep" - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$dep" - ;; - esac - done - fi - else - LIBZ="${LIBZ}${LIBZ:+ }-l$name" - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBZ="${LIBZ}${LIBZ:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBZ="${LIBZ}${LIBZ:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-R$found_dir" - done - fi - - - - - - - - ac_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCZ; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libz" >&5 -$as_echo_n "checking for libz... " >&6; } -if ${ac_cv_libz+:} false; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS="$LIBS" - case " $LIBZ" in - *" -l"*) LIBS="$LIBS $LIBZ" ;; - *) LIBS="$LIBZ $LIBS" ;; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -compress (0, 0, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_libz=yes -else - ac_cv_libz='no' -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$ac_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libz" >&5 -$as_echo "$ac_cv_libz" >&6; } - if test "$ac_cv_libz" = yes; then - HAVE_LIBZ=yes - -$as_echo "#define HAVE_LIBZ 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libz" >&5 -$as_echo_n "checking how to link with libz... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBZ" >&5 -$as_echo "$LIBZ" >&6; } - else - HAVE_LIBZ=no - CPPFLAGS="$ac_save_CPPFLAGS" - LIBZ= - LTLIBZ= - LIBZ_PREFIX= - fi - - - - - - - - if test x$ac_cv_libz != xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** -*** ZLIB was not found. You will not be able to use ZLIB compression." >&5 -$as_echo "$as_me: WARNING: *** -*** ZLIB was not found. You will not be able to use ZLIB compression." >&2;} - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - -if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib\""; } >&5 - ($PKG_CONFIG --exists --print-errors "zlib") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - ZLIB_HAS_PKGCONFIG=y -else - ZLIB_HAS_PKGCONFIG=n -fi - -if test x$ac_zlib != xno; then - if test "$ZLIB_HAS_PKGCONFIG" = "y" ; then - if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then - GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib" - else - GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib" - fi - else - GNUTLS_ZLIB_LIBS_PRIVATE="$LTLIBZ" - fi -fi - - - - - - - - - - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ - - - GNULIB_SOCKET=0; - GNULIB_CONNECT=0; - GNULIB_ACCEPT=0; - GNULIB_BIND=0; - GNULIB_GETPEERNAME=0; - GNULIB_GETSOCKNAME=0; - GNULIB_GETSOCKOPT=0; - GNULIB_LISTEN=0; - GNULIB_RECV=0; - GNULIB_SEND=0; - GNULIB_RECVFROM=0; - GNULIB_SENDTO=0; - GNULIB_SETSOCKOPT=0; - GNULIB_SHUTDOWN=0; - GNULIB_ACCEPT4=0; - HAVE_STRUCT_SOCKADDR_STORAGE=1; - HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; - - HAVE_SA_FAMILY_T=1; - HAVE_ACCEPT4=1; - - - : - - - - - - if test $ac_cv_header_sys_socket_h = no; then - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 -_ACEOF - -fi - -done - - fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 -$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } -if ${gl_cv_have_include_next+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -rf conftestd1a conftestd1b conftestd2 - mkdir conftestd1a conftestd1b conftestd2 - cat < conftestd1a/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd1b/conftest.h -#define DEFINED_IN_CONFTESTD1 -#include -#include_next -#ifdef DEFINED_IN_CONFTESTD2 -int foo; -#else -#error "include_next doesn't work" -#endif -EOF - cat < conftestd2/conftest.h -#ifndef DEFINED_IN_CONFTESTD1 -#error "include_next test doesn't work" -#endif -#define DEFINED_IN_CONFTESTD2 -EOF - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=yes -else - CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_have_include_next=buggy -else - gl_cv_have_include_next=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CPPFLAGS="$gl_save_CPPFLAGS" - rm -rf conftestd1a conftestd1b conftestd2 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 -$as_echo "$gl_cv_have_include_next" >&6; } - PRAGMA_SYSTEM_HEADER= - if test $gl_cv_have_include_next = yes; then - INCLUDE_NEXT=include_next - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - if test -n "$GCC"; then - PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' - fi - else - if test $gl_cv_have_include_next = buggy; then - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next - else - INCLUDE_NEXT=include - INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include - fi - fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 -$as_echo_n "checking whether system header files limit the line length... " >&6; } -if ${gl_cv_pragma_columns+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __TANDEM -choke me -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "choke me" >/dev/null 2>&1; then : - gl_cv_pragma_columns=yes -else - gl_cv_pragma_columns=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 -$as_echo "$gl_cv_pragma_columns" >&6; } - if test $gl_cv_pragma_columns = yes; then - PRAGMA_COLUMNS="#pragma COLUMNS 10000" - else - PRAGMA_COLUMNS= - fi - - - - - - - case "$host_os" in - osf*) - -$as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h - - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - for ac_func in shutdown -do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 -_ACEOF - -fi -done - - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if ${gl_cv_header_sys_socket_h_shut+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes -else - gl_cv_header_sys_socket_h_shut=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi - fi - # We need to check for ws2tcpip.h now. - - - - - - - - - : - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_socket_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test $ac_cv_header_sys_socket_h = yes; then - - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/socket.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/socket.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_socket_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi - fi - - - - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif - -" -if test "x$ac_cv_type_sa_family_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 -_ACEOF - - -fi - - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - fi - if test $ac_cv_type_struct_sockaddr_storage != no; then - ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include - #ifdef HAVE_SYS_SOCKET_H - #include - #endif - #ifdef HAVE_WS2TCPIP_H - #include - #endif - -" -if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 -_ACEOF - - -else - HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 -fi - - fi - if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ - || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then - SYS_SOCKET_H='sys/socket.h' - fi - - - - - : - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - - - for gl_func in socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Some systems require prerequisite headers. */ -#include -#include - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - done - - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 -$as_echo_n "checking for working alloca.h... " >&6; } -if ${ac_cv_working_alloca_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_working_alloca_h=yes -else - ac_cv_working_alloca_h=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -$as_echo "$ac_cv_working_alloca_h" >&6; } -if test $ac_cv_working_alloca_h = yes; then - -$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 -$as_echo_n "checking for alloca... " >&6; } -if ${ac_cv_func_alloca_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# ifdef HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - if (p) return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_alloca_works=yes -else - ac_cv_func_alloca_works=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -$as_echo "$ac_cv_func_alloca_works" >&6; } - -if test $ac_cv_func_alloca_works = yes; then - -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - - - - - -ALLOCA=\${LIBOBJDIR}alloca.$ac_objext - -$as_echo "#define C_ALLOCA 1" >>confdefs.h - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 -$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if ${ac_cv_os_cray+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined CRAY && ! defined CRAY2 -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then : - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 -$as_echo "$ac_cv_os_cray" >&6; } -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - - done -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 -$as_echo_n "checking stack direction for C alloca... " >&6; } -if ${ac_cv_c_stack_direction+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_c_stack_direction=0 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -find_stack_direction (int *addr, int depth) -{ - int dir, dummy = 0; - if (! addr) - addr = &dummy; - *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; - dir = depth ? find_stack_direction (addr, depth - 1) : 0; - return dir + dummy; -} - -int -main (int argc, char **argv) -{ - return find_stack_direction (0, argc + !argv + 20) < 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_stack_direction=1 -else - ac_cv_c_stack_direction=-1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -$as_echo "$ac_cv_c_stack_direction" >&6; } -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - -fi - - - GNULIB_OPENDIR=0; - GNULIB_READDIR=0; - GNULIB_REWINDDIR=0; - GNULIB_CLOSEDIR=0; - GNULIB_DIRFD=0; - GNULIB_FDOPENDIR=0; - GNULIB_SCANDIR=0; - GNULIB_ALPHASORT=0; - HAVE_OPENDIR=1; - HAVE_READDIR=1; - HAVE_REWINDDIR=1; - HAVE_CLOSEDIR=1; - HAVE_DECL_DIRFD=1; - HAVE_DECL_FDOPENDIR=1; - HAVE_FDOPENDIR=1; - HAVE_SCANDIR=1; - HAVE_ALPHASORT=1; - REPLACE_OPENDIR=0; - REPLACE_CLOSEDIR=0; - REPLACE_DIRFD=0; - REPLACE_FDOPENDIR=0; - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if ${ac_cv_c_restrict+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } -int -main () -{ -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } - - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac - - - ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PUTCHAR_UNLOCKED $ac_have_decl -_ACEOF - - - - - - - for ac_func in $gl_func_list -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - - - - - - - - - - - - - - - - - - - XGETTEXT_EXTRA_OPTIONS= - - - GNULIB_INET_NTOP=0; - GNULIB_INET_PTON=0; - HAVE_DECL_INET_NTOP=1; - HAVE_DECL_INET_PTON=1; - REPLACE_INET_NTOP=0; - REPLACE_INET_PTON=0; - - - - - - - - - : - - - - - - if test $ac_cv_header_features_h = yes; then - HAVE_FEATURES_H=1 - else - HAVE_FEATURES_H=0 - fi - - - - - - - - - - : - - - - - - if test $ac_cv_func__set_invalid_parameter_handler = yes; then - HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 - -$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h - - else - HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 - fi - + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -$as_echo_n "checking whether // is distinct from /... " >&6; } -if ${gl_cv_double_slash_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test x"$cross_compiling" = xyes ; then - # When cross-compiling, there is no way to tell whether // is special - # short of a list of hosts. However, the only known hosts to date - # that have a distinct // are Apollo DomainOS (too old to port to), - # Cygwin, and z/OS. If anyone knows of another system for which // has - # special semantics and is distinct from /, please report it to - # . - case $host in - *-cygwin | i370-ibm-openedition) - gl_cv_double_slash_root=yes ;; - *) - # Be optimistic and assume that / and // are the same when we - # don't know. - gl_cv_double_slash_root='unknown, assuming no' ;; - esac - else - set x `ls -di / // 2>/dev/null` - if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then - gl_cv_double_slash_root=no - else - gl_cv_double_slash_root=yes + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi fi fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 -$as_echo "$gl_cv_double_slash_root" >&6; } - if test "$gl_cv_double_slash_root" = yes; then - -$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h - + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 -$as_echo_n "checking for complete errno.h... " >&6; } -if ${gl_cv_header_errno_h_complete+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if !defined ETXTBSY -booboo -#endif -#if !defined ENOMSG -booboo -#endif -#if !defined EIDRM -booboo -#endif -#if !defined ENOLINK -booboo -#endif -#if !defined EPROTO -booboo -#endif -#if !defined EMULTIHOP -booboo -#endif -#if !defined EBADMSG -booboo -#endif -#if !defined EOVERFLOW -booboo -#endif -#if !defined ENOTSUP -booboo -#endif -#if !defined ENETRESET -booboo -#endif -#if !defined ECONNABORTED -booboo -#endif -#if !defined ESTALE -booboo -#endif -#if !defined EDQUOT -booboo -#endif -#if !defined ECANCELED -booboo -#endif -#if !defined EOWNERDEAD -booboo -#endif -#if !defined ENOTRECOVERABLE -booboo -#endif -#if !defined EILSEQ -booboo -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "booboo" >/dev/null 2>&1; then : - gl_cv_header_errno_h_complete=no -else - gl_cv_header_errno_h_complete=yes -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 -$as_echo "$gl_cv_header_errno_h_complete" >&6; } - if test $gl_cv_header_errno_h_complete = yes; then - ERRNO_H='' - else - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_errno_h='<'errno.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_errno_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'errno.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 -$as_echo "$gl_cv_next_errno_h" >&6; } - fi - NEXT_ERRNO_H=$gl_cv_next_errno_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'errno.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_errno_h - fi - NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive - - - - - ERRNO_H='errno.h' + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done fi - if test -n "$ERRNO_H"; then - GL_GENERATE_ERRNO_H_TRUE= - GL_GENERATE_ERRNO_H_FALSE='#' -else - GL_GENERATE_ERRNO_H_TRUE='#' - GL_GENERATE_ERRNO_H_FALSE= -fi - - - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 -$as_echo_n "checking for EMULTIHOP value... " >&6; } -if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef EMULTIHOP -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=yes -else - gl_cv_header_errno_h_EMULTIHOP=no -fi -rm -f conftest* - if test $gl_cv_header_errno_h_EMULTIHOP = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EMULTIHOP -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EMULTIHOP=hidden -fi -rm -f conftest* + ac_save_CPPFLAGS="$CPPFLAGS" - if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then - if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do -fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" - fi + if test "X$x" = "X$element"; then + haveit=yes + break fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 -$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } - case $gl_cv_header_errno_h_EMULTIHOP in - yes | no) - EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= - ;; - *) - EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" - ;; - esac - - - fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 -$as_echo_n "checking for ENOLINK value... " >&6; } -if ${gl_cv_header_errno_h_ENOLINK+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libiconv" >&5 +$as_echo_n "checking for libiconv... " >&6; } +if ${ac_cv_libiconv+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef ENOLINK -yes -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=yes -else - gl_cv_header_errno_h_ENOLINK=no -fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_LIBS="$LIBS" + case " $LIBICONV" in + *" -l"*) LIBS="$LIBS $LIBICONV" ;; + *) LIBS="$LIBICONV $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef ENOLINK -yes -#endif - +#include +int +main () +{ +iconv (0, 0, 0, 0, 0); + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_ENOLINK=hidden +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libiconv=yes +else + ac_cv_libiconv='no' fi -rm -f conftest* - - if test $gl_cv_header_errno_h_ENOLINK = hidden; then - if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libiconv" >&5 +$as_echo "$ac_cv_libiconv" >&6; } + if test "$ac_cv_libiconv" = yes; then + HAVE_LIBICONV=yes - fi - fi +$as_echo "#define HAVE_LIBICONV 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 -$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } - case $gl_cv_header_errno_h_ENOLINK in - yes | no) - ENOLINK_HIDDEN=0; ENOLINK_VALUE= - ;; - *) - ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" - ;; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + HAVE_LIBICONV=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + LIBICONV_PREFIX= + fi - fi - if test -n "$ERRNO_H"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 -$as_echo_n "checking for EOVERFLOW value... " >&6; } -if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=yes + if test "$HAVE_LIBICONV" = "yes";then + ac_have_unicode=yes + fi else - gl_cv_header_errno_h_EOVERFLOW=no + ac_have_unicode=yes fi -rm -f conftest* - - if test $gl_cv_header_errno_h_EOVERFLOW = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define _XOPEN_SOURCE_EXTENDED 1 -#include -#ifdef EOVERFLOW -yes -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_header_errno_h_EOVERFLOW=hidden +if test "$ac_have_unicode" != "yes";then + if test "$have_win" = "yes";then + ac_have_unicode=yes + fi fi -rm -f conftest* - if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then - if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " -#define _XOPEN_SOURCE_EXTENDED 1 -#include -/* The following two lines are a workaround against an autoconf-2.52 bug. */ -#include -#include -"; then : -fi - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 -$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } - case $gl_cv_header_errno_h_EOVERFLOW in - yes | no) - EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= - ;; - *) - EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" - ;; - esac - fi + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : -ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" -if test "x$ac_cv_have_decl_strerror_r" = xyes; then : - ac_have_decl=1 else - ac_have_decl=0 -fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R $ac_have_decl -_ACEOF - -for ac_func in strerror_r -do : - ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" -if test "x$ac_cv_func_strerror_r" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRERROR_R 1 +#define size_t unsigned int _ACEOF fi -done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 -$as_echo_n "checking whether strerror_r returns char *... " >&6; } -if ${ac_cv_func_strerror_r_char_p+:} false; then : +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else - - ac_cv_func_strerror_r_char_p=no - if test $ac_cv_have_decl_strerror_r = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include int main () { - - char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - char *p = strerror_r (0, buf, sizeof buf); - return !p || x; - +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_func_strerror_r_char_p=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_working_alloca_h=yes +else + ac_cv_working_alloca_h=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else - # strerror_r is not declared. Choose between - # systems that have relatively inaccessible declarations for the - # function. BeOS and DEC UNIX 4.0 fall in this category, but the - # former has a strerror_r that returns char*, while the latter - # has a strerror_r that returns `int'. - # This test should segfault on the DEC system. - if test "$cross_compiling" = yes; then : - : +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if ${ac_cv_func_alloca_works+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default - extern char *strerror_r (); +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +void *alloca (size_t); +# endif +# endif +# endif +# endif +#endif + int main () { -char buf[100]; - char x = *strerror_r (0, buf, sizeof buf); - return ! isalpha (x); +char *p = (char *) alloca (1); + if (p) return 0; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_strerror_r_char_p=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_alloca_works=yes +else + ac_cv_func_alloca_works=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } - fi +if test $ac_cv_func_alloca_works = yes; then -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 -$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } -if test $ac_cv_func_strerror_r_char_p = yes; then +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h -$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. -fi +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +$as_echo "#define C_ALLOCA 1" >>confdefs.h + - GNULIB_ACOSF=0; - GNULIB_ACOSL=0; - GNULIB_ASINF=0; - GNULIB_ASINL=0; - GNULIB_ATANF=0; - GNULIB_ATANL=0; - GNULIB_ATAN2F=0; - GNULIB_CBRT=0; - GNULIB_CBRTF=0; - GNULIB_CBRTL=0; - GNULIB_CEIL=0; - GNULIB_CEILF=0; - GNULIB_CEILL=0; - GNULIB_COPYSIGN=0; - GNULIB_COPYSIGNF=0; - GNULIB_COPYSIGNL=0; - GNULIB_COSF=0; - GNULIB_COSL=0; - GNULIB_COSHF=0; - GNULIB_EXPF=0; - GNULIB_EXPL=0; - GNULIB_EXP2=0; - GNULIB_EXP2F=0; - GNULIB_EXP2L=0; - GNULIB_EXPM1=0; - GNULIB_EXPM1F=0; - GNULIB_EXPM1L=0; - GNULIB_FABSF=0; - GNULIB_FABSL=0; - GNULIB_FLOOR=0; - GNULIB_FLOORF=0; - GNULIB_FLOORL=0; - GNULIB_FMA=0; - GNULIB_FMAF=0; - GNULIB_FMAL=0; - GNULIB_FMOD=0; - GNULIB_FMODF=0; - GNULIB_FMODL=0; - GNULIB_FREXPF=0; - GNULIB_FREXP=0; - GNULIB_FREXPL=0; - GNULIB_HYPOT=0; - GNULIB_HYPOTF=0; - GNULIB_HYPOTL=0; - GNULIB_ILOGB=0; - GNULIB_ILOGBF=0; - GNULIB_ILOGBL=0; - GNULIB_ISFINITE=0; - GNULIB_ISINF=0; - GNULIB_ISNAN=0; - GNULIB_ISNANF=0; - GNULIB_ISNAND=0; - GNULIB_ISNANL=0; - GNULIB_LDEXPF=0; - GNULIB_LDEXPL=0; - GNULIB_LOG=0; - GNULIB_LOGF=0; - GNULIB_LOGL=0; - GNULIB_LOG10=0; - GNULIB_LOG10F=0; - GNULIB_LOG10L=0; - GNULIB_LOG1P=0; - GNULIB_LOG1PF=0; - GNULIB_LOG1PL=0; - GNULIB_LOG2=0; - GNULIB_LOG2F=0; - GNULIB_LOG2L=0; - GNULIB_LOGB=0; - GNULIB_LOGBF=0; - GNULIB_LOGBL=0; - GNULIB_MODF=0; - GNULIB_MODFF=0; - GNULIB_MODFL=0; - GNULIB_POWF=0; - GNULIB_REMAINDER=0; - GNULIB_REMAINDERF=0; - GNULIB_REMAINDERL=0; - GNULIB_RINT=0; - GNULIB_RINTF=0; - GNULIB_RINTL=0; - GNULIB_ROUND=0; - GNULIB_ROUNDF=0; - GNULIB_ROUNDL=0; - GNULIB_SIGNBIT=0; - GNULIB_SINF=0; - GNULIB_SINL=0; - GNULIB_SINHF=0; - GNULIB_SQRTF=0; - GNULIB_SQRTL=0; - GNULIB_TANF=0; - GNULIB_TANL=0; - GNULIB_TANHF=0; - GNULIB_TRUNC=0; - GNULIB_TRUNCF=0; - GNULIB_TRUNCL=0; - HAVE_ACOSF=1; - HAVE_ACOSL=1; - HAVE_ASINF=1; - HAVE_ASINL=1; - HAVE_ATANF=1; - HAVE_ATANL=1; - HAVE_ATAN2F=1; - HAVE_CBRT=1; - HAVE_CBRTF=1; - HAVE_CBRTL=1; - HAVE_COPYSIGN=1; - HAVE_COPYSIGNL=1; - HAVE_COSF=1; - HAVE_COSL=1; - HAVE_COSHF=1; - HAVE_EXPF=1; - HAVE_EXPL=1; - HAVE_EXPM1=1; - HAVE_EXPM1F=1; - HAVE_FABSF=1; - HAVE_FABSL=1; - HAVE_FMA=1; - HAVE_FMAF=1; - HAVE_FMAL=1; - HAVE_FMODF=1; - HAVE_FMODL=1; - HAVE_FREXPF=1; - HAVE_HYPOTF=1; - HAVE_HYPOTL=1; - HAVE_ILOGB=1; - HAVE_ILOGBF=1; - HAVE_ILOGBL=1; - HAVE_ISNANF=1; - HAVE_ISNAND=1; - HAVE_ISNANL=1; - HAVE_LDEXPF=1; - HAVE_LOGF=1; - HAVE_LOGL=1; - HAVE_LOG10F=1; - HAVE_LOG10L=1; - HAVE_LOG1P=1; - HAVE_LOG1PF=1; - HAVE_LOG1PL=1; - HAVE_LOGBF=1; - HAVE_LOGBL=1; - HAVE_MODFF=1; - HAVE_MODFL=1; - HAVE_POWF=1; - HAVE_REMAINDER=1; - HAVE_REMAINDERF=1; - HAVE_RINT=1; - HAVE_RINTL=1; - HAVE_SINF=1; - HAVE_SINL=1; - HAVE_SINHF=1; - HAVE_SQRTF=1; - HAVE_SQRTL=1; - HAVE_TANF=1; - HAVE_TANL=1; - HAVE_TANHF=1; - HAVE_DECL_ACOSL=1; - HAVE_DECL_ASINL=1; - HAVE_DECL_ATANL=1; - HAVE_DECL_CBRTF=1; - HAVE_DECL_CBRTL=1; - HAVE_DECL_CEILF=1; - HAVE_DECL_CEILL=1; - HAVE_DECL_COPYSIGNF=1; - HAVE_DECL_COSL=1; - HAVE_DECL_EXPL=1; - HAVE_DECL_EXP2=1; - HAVE_DECL_EXP2F=1; - HAVE_DECL_EXP2L=1; - HAVE_DECL_EXPM1L=1; - HAVE_DECL_FLOORF=1; - HAVE_DECL_FLOORL=1; - HAVE_DECL_FREXPL=1; - HAVE_DECL_LDEXPL=1; - HAVE_DECL_LOGL=1; - HAVE_DECL_LOG10L=1; - HAVE_DECL_LOG2=1; - HAVE_DECL_LOG2F=1; - HAVE_DECL_LOG2L=1; - HAVE_DECL_LOGB=1; - HAVE_DECL_REMAINDER=1; - HAVE_DECL_REMAINDERL=1; - HAVE_DECL_RINTF=1; - HAVE_DECL_ROUND=1; - HAVE_DECL_ROUNDF=1; - HAVE_DECL_ROUNDL=1; - HAVE_DECL_SINL=1; - HAVE_DECL_SQRTL=1; - HAVE_DECL_TANL=1; - HAVE_DECL_TRUNC=1; - HAVE_DECL_TRUNCF=1; - HAVE_DECL_TRUNCL=1; - REPLACE_CBRTF=0; - REPLACE_CBRTL=0; - REPLACE_CEIL=0; - REPLACE_CEILF=0; - REPLACE_CEILL=0; - REPLACE_EXPM1=0; - REPLACE_EXPM1F=0; - REPLACE_EXP2=0; - REPLACE_EXP2L=0; - REPLACE_FABSL=0; - REPLACE_FLOOR=0; - REPLACE_FLOORF=0; - REPLACE_FLOORL=0; - REPLACE_FMA=0; - REPLACE_FMAF=0; - REPLACE_FMAL=0; - REPLACE_FMOD=0; - REPLACE_FMODF=0; - REPLACE_FMODL=0; - REPLACE_FREXPF=0; - REPLACE_FREXP=0; - REPLACE_FREXPL=0; - REPLACE_HUGE_VAL=0; - REPLACE_HYPOT=0; - REPLACE_HYPOTF=0; - REPLACE_HYPOTL=0; - REPLACE_ILOGB=0; - REPLACE_ILOGBF=0; - REPLACE_ISFINITE=0; - REPLACE_ISINF=0; - REPLACE_ISNAN=0; - REPLACE_LDEXPL=0; - REPLACE_LOG=0; - REPLACE_LOGF=0; - REPLACE_LOGL=0; - REPLACE_LOG10=0; - REPLACE_LOG10F=0; - REPLACE_LOG10L=0; - REPLACE_LOG1P=0; - REPLACE_LOG1PF=0; - REPLACE_LOG1PL=0; - REPLACE_LOG2=0; - REPLACE_LOG2F=0; - REPLACE_LOG2L=0; - REPLACE_LOGB=0; - REPLACE_LOGBF=0; - REPLACE_LOGBL=0; - REPLACE_MODF=0; - REPLACE_MODFF=0; - REPLACE_MODFL=0; - REPLACE_NAN=0; - REPLACE_REMAINDER=0; - REPLACE_REMAINDERF=0; - REPLACE_REMAINDERL=0; - REPLACE_ROUND=0; - REPLACE_ROUNDF=0; - REPLACE_ROUNDL=0; - REPLACE_SIGNBIT=0; - REPLACE_SIGNBIT_USING_GCC=0; - REPLACE_SQRTL=0; - REPLACE_TRUNC=0; - REPLACE_TRUNCF=0; - REPLACE_TRUNCL=0; - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp() can be used without linking with libm" >&5 -$as_echo_n "checking whether frexp() can be used without linking with libm... " >&6; } -if ${gl_cv_func_frexp_no_libm+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - double x; -int -main () -{ -int e; return frexp (x, &e) > 0; - ; - return 0; -} +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_frexp_no_libm=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then : + ac_cv_os_cray=yes else - gl_cv_func_frexp_no_libm=no + ac_cv_os_cray=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_no_libm" >&5 -$as_echo "$gl_cv_func_frexp_no_libm" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF - ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" -if test "x$ac_cv_have_decl_alarm" = xyes; then : - ac_have_decl=1 + break +fi + + done +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if ${ac_cv_c_stack_direction+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction (int *addr, int depth) +{ + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; +} + +int +main (int argc, char **argv) +{ + return find_stack_direction (0, argc + !argv + 20) < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_stack_direction=1 +else + ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ALARM $ac_have_decl +#define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double and double are the same" >&5 -$as_echo_n "checking whether long double and double are the same... " >&6; } -if ${gl_cv_long_double_equals_double+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if ${ac_cv_c_restrict+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } int main () { -typedef int check[sizeof (long double) == sizeof (double) - && LDBL_MANT_DIG == DBL_MANT_DIG - && LDBL_MAX_EXP == DBL_MAX_EXP - && LDBL_MIN_EXP == DBL_MIN_EXP - ? 1 : -1]; - +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_long_double_equals_double=yes -else - gl_cv_long_double_equals_double=no + ac_cv_c_restrict=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_long_double_equals_double" >&5 -$as_echo "$gl_cv_long_double_equals_double" >&6; } - if test $gl_cv_long_double_equals_double = yes; then - -$as_echo "#define HAVE_SAME_LONG_DOUBLE_AS_DOUBLE 1" >>confdefs.h - - HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1 - else - HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0 - fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } + case $ac_cv_c_restrict in + restrict) ;; + no) $as_echo "#define restrict /**/" >>confdefs.h + ;; + *) cat >>confdefs.h <<_ACEOF +#define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac - GNULIB_DPRINTF=0; - GNULIB_FCLOSE=0; - GNULIB_FDOPEN=0; - GNULIB_FFLUSH=0; - GNULIB_FGETC=0; - GNULIB_FGETS=0; - GNULIB_FOPEN=0; - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_FPURGE=0; - GNULIB_FPUTC=0; - GNULIB_FPUTS=0; - GNULIB_FREAD=0; - GNULIB_FREOPEN=0; - GNULIB_FSCANF=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FWRITE=0; - GNULIB_GETC=0; - GNULIB_GETCHAR=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_PCLOSE=0; - GNULIB_PERROR=0; - GNULIB_POPEN=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_PUTS=0; - GNULIB_REMOVE=0; - GNULIB_RENAME=0; - GNULIB_RENAMEAT=0; - GNULIB_SCANF=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_STDIO_H_NONBLOCKING=0; - GNULIB_STDIO_H_SIGPIPE=0; - GNULIB_TMPFILE=0; - GNULIB_VASPRINTF=0; - GNULIB_VFSCANF=0; - GNULIB_VSCANF=0; - GNULIB_VDPRINTF=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - HAVE_DECL_FPURGE=1; - HAVE_DECL_FSEEKO=1; - HAVE_DECL_FTELLO=1; - HAVE_DECL_GETDELIM=1; - HAVE_DECL_GETLINE=1; - HAVE_DECL_OBSTACK_PRINTF=1; - HAVE_DECL_SNPRINTF=1; - HAVE_DECL_VSNPRINTF=1; - HAVE_DPRINTF=1; - HAVE_FSEEKO=1; - HAVE_FTELLO=1; - HAVE_PCLOSE=1; - HAVE_POPEN=1; - HAVE_RENAMEAT=1; - HAVE_VASPRINTF=1; - HAVE_VDPRINTF=1; - REPLACE_DPRINTF=0; - REPLACE_FCLOSE=0; - REPLACE_FDOPEN=0; - REPLACE_FFLUSH=0; - REPLACE_FOPEN=0; - REPLACE_FPRINTF=0; - REPLACE_FPURGE=0; - REPLACE_FREOPEN=0; - REPLACE_FSEEK=0; - REPLACE_FSEEKO=0; - REPLACE_FTELL=0; - REPLACE_FTELLO=0; - REPLACE_GETDELIM=0; - REPLACE_GETLINE=0; - REPLACE_OBSTACK_PRINTF=0; - REPLACE_PERROR=0; - REPLACE_POPEN=0; - REPLACE_PRINTF=0; - REPLACE_REMOVE=0; - REPLACE_RENAME=0; - REPLACE_RENAMEAT=0; - REPLACE_SNPRINTF=0; - REPLACE_SPRINTF=0; - REPLACE_STDIO_READ_FUNCS=0; - REPLACE_STDIO_WRITE_FUNCS=0; - REPLACE_TMPFILE=0; - REPLACE_VASPRINTF=0; - REPLACE_VDPRINTF=0; - REPLACE_VFPRINTF=0; - REPLACE_VPRINTF=0; - REPLACE_VSNPRINTF=0; - REPLACE_VSPRINTF=0; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 -$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } -if ${gl_cv_var_stdin_large_offset+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 +$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } +if ${gl_cv_have_include_next+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + rm -rf conftestd1a conftestd1b conftestd2 + mkdir conftestd1a conftestd1b conftestd2 + cat < conftestd1a/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd1b/conftest.h +#define DEFINED_IN_CONFTESTD1 #include -int -main () -{ -#if defined __SL64 && defined __SCLE /* cygwin */ - /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making - fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and - it is easier to do a version check than building a runtime test. */ -# include -# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) - choke me -# endif +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" #endif - ; - return 0; -} +EOF + cat < conftestd2/conftest.h +#ifndef DEFINED_IN_CONFTESTD1 +#error "include_next test doesn't work" +#endif +#define DEFINED_IN_CONFTESTD2 +EOF + gl_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_have_include_next=yes +else + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_var_stdin_large_offset=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_have_include_next=buggy else - gl_cv_var_stdin_large_offset=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + gl_cv_have_include_next=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 -$as_echo "$gl_cv_var_stdin_large_offset" >&6; } - - - -ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" -if test "x$ac_cv_type_mode_t" = xyes; then : - -else +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$gl_save_CPPFLAGS" + rm -rf conftestd1a conftestd1b conftestd2 fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 +$as_echo "$gl_cv_have_include_next" >&6; } + PRAGMA_SYSTEM_HEADER= + if test $gl_cv_have_include_next = yes; then + INCLUDE_NEXT=include_next + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + if test -n "$GCC"; then + PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' + fi + else + if test $gl_cv_have_include_next = buggy; then + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + else + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include + fi + fi - case "$host_os" in - mingw*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 -$as_echo_n "checking for 64-bit off_t... " >&6; } -if ${gl_cv_type_off_t_64+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 +$as_echo_n "checking whether system header files limit the line length... " >&6; } +if ${gl_cv_pragma_columns+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; -int -main () -{ +#ifdef __TANDEM +choke me +#endif - ; - return 0; -} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_type_off_t_64=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "choke me" >/dev/null 2>&1; then : + gl_cv_pragma_columns=yes else - gl_cv_type_off_t_64=no + gl_cv_pragma_columns=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 -$as_echo "$gl_cv_type_off_t_64" >&6; } - if test $gl_cv_type_off_t_64 = no; then - WINDOWS_64_BIT_OFF_T=1 - else - WINDOWS_64_BIT_OFF_T=0 - fi - WINDOWS_64_BIT_ST_SIZE=1 - ;; - *) - WINDOWS_64_BIT_OFF_T=0 - WINDOWS_64_BIT_ST_SIZE=0 - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 +$as_echo "$gl_cv_pragma_columns" >&6; } + if test $gl_cv_pragma_columns = yes; then + PRAGMA_COLUMNS="#pragma COLUMNS 10000" + else + PRAGMA_COLUMNS= + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5 +$as_echo_n "checking for complete errno.h... " >&6; } +if ${gl_cv_header_errno_h_complete+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if !defined ETXTBSY +booboo +#endif +#if !defined ENOMSG +booboo +#endif +#if !defined EIDRM +booboo +#endif +#if !defined ENOLINK +booboo +#endif +#if !defined EPROTO +booboo +#endif +#if !defined EMULTIHOP +booboo +#endif +#if !defined EBADMSG +booboo +#endif +#if !defined EOVERFLOW +booboo +#endif +#if !defined ENOTSUP +booboo +#endif +#if !defined ENETRESET +booboo +#endif +#if !defined ECONNABORTED +booboo +#endif +#if !defined ESTALE +booboo +#endif +#if !defined EDQUOT +booboo +#endif +#if !defined ECANCELED +booboo +#endif +#if !defined EOWNERDEAD +booboo +#endif +#if !defined ENOTRECOVERABLE +booboo +#endif +#if !defined EILSEQ +booboo +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "booboo" >/dev/null 2>&1; then : + gl_cv_header_errno_h_complete=no +else + gl_cv_header_errno_h_complete=yes +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5 +$as_echo "$gl_cv_header_errno_h_complete" >&6; } + if test $gl_cv_header_errno_h_complete = yes; then + ERRNO_H='' + else @@ -17432,146 +15273,292 @@ $as_echo "$gl_cv_type_off_t_64" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_types_h='<'sys/types.h'>' + gl_cv_next_errno_h='<'errno.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_types_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_errno_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'errno.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_cv_absolute_errno_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` - gl_header_literal_regex=`echo 'sys/types.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + gl_header=$gl_cv_absolute_errno_h + gl_cv_next_errno_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 -$as_echo "$gl_cv_next_sys_types_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5 +$as_echo "$gl_cv_next_errno_h" >&6; } fi - NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h + NEXT_ERRNO_H=$gl_cv_next_errno_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/types.h'>' + gl_next_as_first_directive='<'errno.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_types_h + gl_next_as_first_directive=$gl_cv_next_errno_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive - - + NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive + ERRNO_H='errno.h' + fi + if test -n "$ERRNO_H"; then + GL_GENERATE_ERRNO_H_TRUE= + GL_GENERATE_ERRNO_H_FALSE='#' +else + GL_GENERATE_ERRNO_H_TRUE='#' + GL_GENERATE_ERRNO_H_FALSE= +fi + if test -n "$ERRNO_H"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5 +$as_echo_n "checking for EMULTIHOP value... " >&6; } +if ${gl_cv_header_errno_h_EMULTIHOP+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef EMULTIHOP +yes +#endif - ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" -if test "x$ac_cv_have_decl_fseeko" = xyes; then : - ac_have_decl=1 +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EMULTIHOP=yes else - ac_have_decl=0 + gl_cv_header_errno_h_EMULTIHOP=no fi +rm -f conftest* -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FSEEKO $ac_have_decl -_ACEOF + if test $gl_cv_header_errno_h_EMULTIHOP = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef EMULTIHOP +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EMULTIHOP=hidden +fi +rm -f conftest* + if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then + if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" " +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +"; then : +fi + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5 +$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; } + case $gl_cv_header_errno_h_EMULTIHOP in + yes | no) + EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE= + ;; + *) + EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP" + ;; + esac + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 -$as_echo_n "checking for fseeko... " >&6; } -if ${gl_cv_func_fseeko+:} false; then : + if test -n "$ERRNO_H"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5 +$as_echo_n "checking for ENOLINK value... " >&6; } +if ${gl_cv_header_errno_h_ENOLINK+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ -fseeko (stdin, 0, 0); - ; - return 0; -} +#include +#ifdef ENOLINK +yes +#endif + _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_fseeko=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_ENOLINK=yes else - gl_cv_func_fseeko=no + gl_cv_header_errno_h_ENOLINK=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 -$as_echo "$gl_cv_func_fseeko" >&6; } + if test $gl_cv_header_errno_h_ENOLINK = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef ENOLINK +yes +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_ENOLINK=hidden +fi +rm -f conftest* - : + if test $gl_cv_header_errno_h_ENOLINK = hidden; then + if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" " +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +"; then : +fi + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5 +$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; } + case $gl_cv_header_errno_h_ENOLINK in + yes | no) + ENOLINK_HIDDEN=0; ENOLINK_VALUE= + ;; + *) + ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK" + ;; + esac - if test $ac_cv_have_decl_fseeko = no; then - HAVE_DECL_FSEEKO=0 fi - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FSEEKO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FSEEKO=1 - fi - fi + if test -n "$ERRNO_H"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5 +$as_echo_n "checking for EOVERFLOW value... " >&6; } +if ${gl_cv_header_errno_h_EOVERFLOW+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef EOVERFLOW +yes +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EOVERFLOW=yes +else + gl_cv_header_errno_h_EOVERFLOW=no +fi +rm -f conftest* + + if test $gl_cv_header_errno_h_EOVERFLOW = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#define _XOPEN_SOURCE_EXTENDED 1 +#include +#ifdef EOVERFLOW +yes +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_header_errno_h_EOVERFLOW=hidden +fi +rm -f conftest* + + if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then + if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" " +#define _XOPEN_SOURCE_EXTENDED 1 +#include +/* The following two lines are a workaround against an autoconf-2.52 bug. */ +#include +#include +"; then : + +fi + + fi + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5 +$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; } + case $gl_cv_header_errno_h_EOVERFLOW in + yes | no) + EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE= + ;; + *) + EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW" + ;; + esac + fi + @@ -17597,400 +15584,160 @@ $as_echo "$gl_cv_func_fseeko" >&6; } HAVE_LSTAT=1; HAVE_MKDIRAT=1; HAVE_MKFIFO=1; - HAVE_MKFIFOAT=1; - HAVE_MKNOD=1; - HAVE_MKNODAT=1; - HAVE_UTIMENSAT=1; - REPLACE_FSTAT=0; - REPLACE_FSTATAT=0; - REPLACE_FUTIMENS=0; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - REPLACE_MKFIFO=0; - REPLACE_MKNOD=0; - REPLACE_STAT=0; - REPLACE_UTIMENSAT=0; - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if ${ac_cv_header_stat_broken+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif - -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no -else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - - - - - - - - - - - - - - - - - - : - - - - - - - + HAVE_MKFIFOAT=1; + HAVE_MKNOD=1; + HAVE_MKNODAT=1; + HAVE_UTIMENSAT=1; + REPLACE_FSTAT=0; + REPLACE_FSTATAT=0; + REPLACE_FUTIMENS=0; + REPLACE_LSTAT=0; + REPLACE_MKDIR=0; + REPLACE_MKFIFO=0; + REPLACE_MKNOD=0; + REPLACE_STAT=0; + REPLACE_UTIMENSAT=0; - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_stat_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_sys_stat_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + for ac_func in $gl_func_list +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/stat.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -$as_echo "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h +done - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/stat.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_stat_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive + : - if test $WINDOWS_64_BIT_ST_SIZE = 1; then + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 -$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h +$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = xyes; then : - -else - -$as_echo "#define nlink_t int" >>confdefs.h - -fi - - - for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 +$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } +if ${ac_cv_header_stat_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} +#if defined S_ISBLK && defined S_IFDIR +extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; +#endif + +#if defined S_ISBLK && defined S_IFCHR +extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; +#endif + +#if defined S_ISLNK && defined S_IFREG +extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; +#endif + +#if defined S_ISSOCK && defined S_IFREG +extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; +#endif + _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + ac_cv_header_stat_broken=no else - eval "$as_gl_Symbol=no" + ac_cv_header_stat_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - done - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 +$as_echo "$ac_cv_header_stat_broken" >&6; } +if test $ac_cv_header_stat_broken = yes; then +$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" -if test "x$ac_cv_have_decl_ftello" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FTELLO $ac_have_decl -_ACEOF - - - - - - - - : - - - +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : - if test $ac_cv_have_decl_ftello = no; then - HAVE_DECL_FTELLO=0 - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 -$as_echo_n "checking for ftello... " >&6; } -if ${gl_cv_func_ftello+:} false; then : - $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -ftello (stdin); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define mode_t int _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_ftello=yes -else - gl_cv_func_ftello=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 -$as_echo "$gl_cv_func_ftello" >&6; } - if test $gl_cv_func_ftello = no; then - HAVE_FTELLO=0 - else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FTELLO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FTELLO=1 - fi - if test $REPLACE_FTELLO = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 -$as_echo_n "checking whether ftello works... " >&6; } -if ${gl_cv_func_ftello_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on Solaris. - solaris*) gl_cv_func_ftello_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_ftello_works="guessing yes" ;; - esac - if test "$cross_compiling" = yes; then : - : + + case "$host_os" in + mingw*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 +$as_echo_n "checking for 64-bit off_t... " >&6; } +if ${gl_cv_type_off_t_64+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; -#include -#include -#include -#define TESTFILE "conftest.tmp" int -main (void) +main () { - FILE *fp; - - /* Create a file with some contents. */ - fp = fopen (TESTFILE, "w"); - if (fp == NULL) - return 70; - if (fwrite ("foogarsh", 1, 8, fp) < 8) - return 71; - if (fclose (fp)) - return 72; - - /* The file's contents is now "foogarsh". */ - - /* Try writing after reading to EOF. */ - fp = fopen (TESTFILE, "r+"); - if (fp == NULL) - return 73; - if (fseek (fp, -1, SEEK_END)) - return 74; - if (!(getc (fp) == 'h')) - return 1; - if (!(getc (fp) == EOF)) - return 2; - if (!(ftell (fp) == 8)) - return 3; - if (!(ftell (fp) == 8)) - return 4; - if (!(putc ('!', fp) == '!')) - return 5; - if (!(ftell (fp) == 9)) - return 6; - if (!(fclose (fp) == 0)) - return 7; - fp = fopen (TESTFILE, "r"); - if (fp == NULL) - return 75; - { - char buf[10]; - if (!(fread (buf, 1, 10, fp) == 9)) - return 10; - if (!(memcmp (buf, "foogarsh!", 9) == 0)) - return 11; - } - if (!(fclose (fp) == 0)) - return 12; - - /* The file's contents is now "foogarsh!". */ + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ftello_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_off_t_64=yes else - gl_cv_func_ftello_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_type_off_t_64=no fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 -$as_echo "$gl_cv_func_ftello_works" >&6; } - case "$gl_cv_func_ftello_works" in - *yes) ;; - *) - REPLACE_FTELLO=1 - -$as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h - - ;; - esac - fi - fi - - - GNULIB_GETADDRINFO=0; - HAVE_STRUCT_ADDRINFO=1; - HAVE_DECL_FREEADDRINFO=1; - HAVE_DECL_GAI_STRERROR=1; - HAVE_DECL_GETADDRINFO=1; - HAVE_DECL_GETNAMEINFO=1; - REPLACE_GAI_STRERROR=0; - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 +$as_echo "$gl_cv_type_off_t_64" >&6; } + if test $gl_cv_type_off_t_64 = no; then + WINDOWS_64_BIT_OFF_T=1 + else + WINDOWS_64_BIT_OFF_T=0 + fi + WINDOWS_64_BIT_ST_SIZE=1 + ;; + *) + WINDOWS_64_BIT_OFF_T=0 + WINDOWS_64_BIT_ST_SIZE=0 + ;; + esac @@ -18013,521 +15760,390 @@ $as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs if test $gl_cv_have_include_next = yes; then - gl_cv_next_netdb_h='<'netdb.h'>' + gl_cv_next_sys_stat_h='<'sys/stat.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_netdb_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_stat_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_netdb_h = yes; then + if test $ac_cv_header_sys_stat_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'netdb.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/stat.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_stat_h + gl_cv_next_sys_stat_h='"'$gl_header'"' else - gl_cv_next_netdb_h='<'netdb.h'>' + gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 -$as_echo "$gl_cv_next_netdb_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } fi - NEXT_NETDB_H=$gl_cv_next_netdb_h + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'netdb.h'>' + gl_next_as_first_directive='<'sys/stat.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_netdb_h + gl_next_as_first_directive=$gl_cv_next_sys_stat_h fi - NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive - + NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive - if test $ac_cv_header_netdb_h = yes; then - HAVE_NETDB_H=1 - else - HAVE_NETDB_H=0 - fi - for gl_func in getaddrinfo freeaddrinfo gai_strerror getnameinfo; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done - HOSTENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if ${ac_cv_search_gethostbyname+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gethostbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_gethostbyname+:} false; then : - break -fi -done -if ${ac_cv_search_gethostbyname+:} false; then : + if test $WINDOWS_64_BIT_ST_SIZE = 1; then -else - ac_cv_search_gethostbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } -ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_gethostbyname" != "none required"; then - HOSTENT_LIB="$ac_cv_search_gethostbyname" - fi -fi +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h - LIBS="$gl_saved_libs" - if test -z "$HOSTENT_LIB"; then - for ac_func in gethostbyname -do : - ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" -if test "x$ac_cv_func_gethostbyname" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETHOSTBYNAME 1 -_ACEOF + fi -else + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } -if ${gl_cv_w32_gethostbyname+:} false; then : - $as_echo_n "(cached) " >&6 else - gl_cv_w32_gethostbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include - -int -main () -{ -gethostbyname(NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_gethostbyname=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 -$as_echo "$gl_cv_w32_gethostbyname" >&6; } - if test "$gl_cv_w32_gethostbyname" = "yes"; then - HOSTENT_LIB="-lws2_32" - fi +$as_echo "#define nlink_t int" >>confdefs.h fi -done - - fi - SERVENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 -$as_echo_n "checking for library containing getservbyname... " >&6; } -if ${ac_cv_search_getservbyname+:} false; then : + for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getservbyname (); int main () { -return getservbyname (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getservbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getservbyname+:} false; then : - break -fi -done -if ${ac_cv_search_getservbyname+:} false; then : - +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - ac_cv_search_getservbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + eval "$as_gl_Symbol=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 -$as_echo "$ac_cv_search_getservbyname" >&6; } -ac_res=$ac_cv_search_getservbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getservbyname" != "none required"; then - SERVENT_LIB="$ac_cv_search_getservbyname" - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - LIBS="$gl_saved_libs" - if test -z "$SERVENT_LIB"; then - for ac_func in getservbyname -do : - ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" -if test "x$ac_cv_func_getservbyname" = xyes; then : +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GETSERVBYNAME 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -else + eval ac_cv_have_decl_$gl_func=yes +fi + done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } -if ${gl_cv_w32_getservbyname+:} false; then : + + + GNULIB_DPRINTF=0; + GNULIB_FCLOSE=0; + GNULIB_FDOPEN=0; + GNULIB_FFLUSH=0; + GNULIB_FGETC=0; + GNULIB_FGETS=0; + GNULIB_FOPEN=0; + GNULIB_FPRINTF=0; + GNULIB_FPRINTF_POSIX=0; + GNULIB_FPURGE=0; + GNULIB_FPUTC=0; + GNULIB_FPUTS=0; + GNULIB_FREAD=0; + GNULIB_FREOPEN=0; + GNULIB_FSCANF=0; + GNULIB_FSEEK=0; + GNULIB_FSEEKO=0; + GNULIB_FTELL=0; + GNULIB_FTELLO=0; + GNULIB_FWRITE=0; + GNULIB_GETC=0; + GNULIB_GETCHAR=0; + GNULIB_GETDELIM=0; + GNULIB_GETLINE=0; + GNULIB_OBSTACK_PRINTF=0; + GNULIB_OBSTACK_PRINTF_POSIX=0; + GNULIB_PCLOSE=0; + GNULIB_PERROR=0; + GNULIB_POPEN=0; + GNULIB_PRINTF=0; + GNULIB_PRINTF_POSIX=0; + GNULIB_PUTC=0; + GNULIB_PUTCHAR=0; + GNULIB_PUTS=0; + GNULIB_REMOVE=0; + GNULIB_RENAME=0; + GNULIB_RENAMEAT=0; + GNULIB_SCANF=0; + GNULIB_SNPRINTF=0; + GNULIB_SPRINTF_POSIX=0; + GNULIB_STDIO_H_NONBLOCKING=0; + GNULIB_STDIO_H_SIGPIPE=0; + GNULIB_TMPFILE=0; + GNULIB_VASPRINTF=0; + GNULIB_VFSCANF=0; + GNULIB_VSCANF=0; + GNULIB_VDPRINTF=0; + GNULIB_VFPRINTF=0; + GNULIB_VFPRINTF_POSIX=0; + GNULIB_VPRINTF=0; + GNULIB_VPRINTF_POSIX=0; + GNULIB_VSNPRINTF=0; + GNULIB_VSPRINTF_POSIX=0; + HAVE_DECL_FPURGE=1; + HAVE_DECL_FSEEKO=1; + HAVE_DECL_FTELLO=1; + HAVE_DECL_GETDELIM=1; + HAVE_DECL_GETLINE=1; + HAVE_DECL_OBSTACK_PRINTF=1; + HAVE_DECL_SNPRINTF=1; + HAVE_DECL_VSNPRINTF=1; + HAVE_DPRINTF=1; + HAVE_FSEEKO=1; + HAVE_FTELLO=1; + HAVE_PCLOSE=1; + HAVE_POPEN=1; + HAVE_RENAMEAT=1; + HAVE_VASPRINTF=1; + HAVE_VDPRINTF=1; + REPLACE_DPRINTF=0; + REPLACE_FCLOSE=0; + REPLACE_FDOPEN=0; + REPLACE_FFLUSH=0; + REPLACE_FOPEN=0; + REPLACE_FPRINTF=0; + REPLACE_FPURGE=0; + REPLACE_FREOPEN=0; + REPLACE_FSEEK=0; + REPLACE_FSEEKO=0; + REPLACE_FTELL=0; + REPLACE_FTELLO=0; + REPLACE_GETDELIM=0; + REPLACE_GETLINE=0; + REPLACE_OBSTACK_PRINTF=0; + REPLACE_PERROR=0; + REPLACE_POPEN=0; + REPLACE_PRINTF=0; + REPLACE_REMOVE=0; + REPLACE_RENAME=0; + REPLACE_RENAMEAT=0; + REPLACE_SNPRINTF=0; + REPLACE_SPRINTF=0; + REPLACE_STDIO_READ_FUNCS=0; + REPLACE_STDIO_WRITE_FUNCS=0; + REPLACE_TMPFILE=0; + REPLACE_VASPRINTF=0; + REPLACE_VDPRINTF=0; + REPLACE_VFPRINTF=0; + REPLACE_VPRINTF=0; + REPLACE_VSNPRINTF=0; + REPLACE_VSPRINTF=0; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdin defaults to large file offsets" >&5 +$as_echo_n "checking whether stdin defaults to large file offsets... " >&6; } +if ${gl_cv_var_stdin_large_offset+:} false; then : $as_echo_n "(cached) " >&6 else - gl_cv_w32_getservbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include - +#include int main () { -getservbyname(NULL,NULL); +#if defined __SL64 && defined __SCLE /* cygwin */ + /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making + fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and + it is easier to do a version check than building a runtime test. */ +# include +# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) + choke me +# endif +#endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getservbyname=yes + gl_cv_var_stdin_large_offset=yes +else + gl_cv_var_stdin_large_offset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 -$as_echo "$gl_cv_w32_getservbyname" >&6; } - if test "$gl_cv_w32_getservbyname" = "yes"; then - SERVENT_LIB="-lws2_32" - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_stdin_large_offset" >&5 +$as_echo "$gl_cv_var_stdin_large_offset" >&6; } -fi -done - fi +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : +else +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF +fi - HAVE_INET_NTOP=1 - INET_NTOP_LIB= - : - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_types_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - if test $HAVE_WINSOCK2_H = 1; then - ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include -" -if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP $ac_have_decl + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - if test $ac_cv_have_decl_inet_ntop = yes; then - REPLACE_INET_NTOP=1 - INET_NTOP_LIB="-lws2_32" - else - HAVE_DECL_INET_NTOP=0 - HAVE_INET_NTOP=0 - fi - else - gl_save_LIBS=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 -$as_echo_n "checking for library containing inet_ntop... " >&6; } -if ${ac_cv_search_inet_ntop+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/types.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_ntop (); -int -main () -{ -return inet_ntop (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl resolv; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_ntop=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_inet_ntop+:} false; then : - break -fi -done -if ${ac_cv_search_inet_ntop+:} false; then : + gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -else - ac_cv_search_inet_ntop=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 -$as_echo "$ac_cv_search_inet_ntop" >&6; } -ac_res=$ac_cv_search_inet_ntop -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + gl_header=$gl_cv_absolute_sys_types_h + gl_cv_next_sys_types_h='"'$gl_header'"' -else - for ac_func in inet_ntop -do : - ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" -if test "x$ac_cv_func_inet_ntop" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INET_NTOP 1 -_ACEOF fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 +$as_echo "$gl_cv_next_sys_types_h" >&6; } + fi + NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h - if test $ac_cv_func_inet_ntop = no; then - HAVE_INET_NTOP=0 - fi + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/types.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_types_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive -fi - LIBS=$gl_save_LIBS - if test "$ac_cv_search_inet_ntop" != "no" \ - && test "$ac_cv_search_inet_ntop" != "none required"; then - INET_NTOP_LIB="$ac_cv_search_inet_ntop" - fi - : - ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include - #if HAVE_NETDB_H - # include - #endif -" -if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : + + ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default" +if test "x$ac_cv_have_decl_ftello" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_NTOP $ac_have_decl +#define HAVE_DECL_FTELLO $ac_have_decl _ACEOF - if test $ac_cv_have_decl_inet_ntop = no; then - HAVE_DECL_INET_NTOP=0 - fi - fi @@ -18544,92 +16160,148 @@ _ACEOF + if test $ac_cv_have_decl_ftello = no; then + HAVE_DECL_FTELLO=0 + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5 -$as_echo_n "checking for IPv4 sockets... " >&6; } - if ${gl_cv_socket_ipv4+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 +$as_echo_n "checking for ftello... " >&6; } +if ${gl_cv_func_ftello+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif +#include int main () { -int x = AF_INET; struct in_addr y; struct sockaddr_in z; - if (&x && &y && &z) return 0; +ftello (stdin); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socket_ipv4=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_ftello=yes else - gl_cv_socket_ipv4=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_func_ftello=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 -$as_echo "$gl_cv_socket_ipv4" >&6; } - if test $gl_cv_socket_ipv4 = yes; then - -$as_echo "#define HAVE_IPV4 1" >>confdefs.h - - fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 +$as_echo "$gl_cv_func_ftello" >&6; } + if test $gl_cv_func_ftello = no; then + HAVE_FTELLO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FTELLO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FTELLO=1 + fi + if test $REPLACE_FTELLO = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5 -$as_echo_n "checking for IPv6 sockets... " >&6; } - if ${gl_cv_socket_ipv6+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 +$as_echo_n "checking whether ftello works... " >&6; } +if ${gl_cv_func_ftello_works+:} false; then : $as_echo_n "(cached) " >&6 else + + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_func_ftello_works="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_ftello_works="guessing yes" ;; + esac + if test "$cross_compiling" = yes; then : + : +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETINET_IN_H -#include -#endif -#ifdef HAVE_WINSOCK2_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif + +#include +#include +#include +#define TESTFILE "conftest.tmp" int -main () +main (void) { -int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; - if (&x && &y && &z) return 0; - ; + FILE *fp; + + /* Create a file with some contents. */ + fp = fopen (TESTFILE, "w"); + if (fp == NULL) + return 70; + if (fwrite ("foogarsh", 1, 8, fp) < 8) + return 71; + if (fclose (fp)) + return 72; + + /* The file's contents is now "foogarsh". */ + + /* Try writing after reading to EOF. */ + fp = fopen (TESTFILE, "r+"); + if (fp == NULL) + return 73; + if (fseek (fp, -1, SEEK_END)) + return 74; + if (!(getc (fp) == 'h')) + return 1; + if (!(getc (fp) == EOF)) + return 2; + if (!(ftell (fp) == 8)) + return 3; + if (!(ftell (fp) == 8)) + return 4; + if (!(putc ('!', fp) == '!')) + return 5; + if (!(ftell (fp) == 9)) + return 6; + if (!(fclose (fp) == 0)) + return 7; + fp = fopen (TESTFILE, "r"); + if (fp == NULL) + return 75; + { + char buf[10]; + if (!(fread (buf, 1, 10, fp) == 9)) + return 10; + if (!(memcmp (buf, "foogarsh!", 9) == 0)) + return 11; + } + if (!(fclose (fp) == 0)) + return 12; + + /* The file's contents is now "foogarsh!". */ + return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socket_ipv6=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_ftello_works=yes else - gl_cv_socket_ipv6=no + gl_cv_func_ftello_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 -$as_echo "$gl_cv_socket_ipv6" >&6; } - if test $gl_cv_socket_ipv6 = yes; then -$as_echo "#define HAVE_IPV6 1" >>confdefs.h +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 +$as_echo "$gl_cv_func_ftello_works" >&6; } + case "$gl_cv_func_ftello_works" in + *yes) ;; + *) + REPLACE_FTELLO=1 +$as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h + + ;; + esac + fi fi @@ -18664,11 +16336,25 @@ _ACEOF + GNULIB_GETTIMEOFDAY=0; + HAVE_GETTIMEOFDAY=1; + HAVE_STRUCT_TIMEVAL=1; + HAVE_SYS_TIME_H=1; + REPLACE_GETTIMEOFDAY=0; + REPLACE_STRUCT_TIMEVAL=0; + + + + + + : + + @@ -18688,682 +16374,316 @@ _ACEOF if test $gl_cv_have_include_next = yes; then - gl_cv_next_getopt_h='<'getopt.h'>' + gl_cv_next_sys_time_h='<'sys/time.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_getopt_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_time_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_getopt_h = yes; then + if test $ac_cv_header_sys_time_h = yes; then + - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - gl_header_literal_regex=`echo 'getopt.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/time.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_time_h + gl_cv_next_sys_time_h='"'$gl_header'"' else - gl_cv_next_getopt_h='<'getopt.h'>' + gl_cv_next_sys_time_h='<'sys/time.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 -$as_echo "$gl_cv_next_getopt_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 +$as_echo "$gl_cv_next_sys_time_h" >&6; } fi - NEXT_GETOPT_H=$gl_cv_next_getopt_h + NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'getopt.h'>' + gl_next_as_first_directive='<'sys/time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_getopt_h + gl_next_as_first_directive=$gl_cv_next_sys_time_h fi - NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive - if test $ac_cv_header_getopt_h = yes; then - HAVE_GETOPT_H=1 - else - HAVE_GETOPT_H=0 + + if test $ac_cv_header_sys_time_h != yes; then + HAVE_SYS_TIME_H=0 fi - gl_replace_getopt= - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_header in getopt.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" -if test "x$ac_cv_header_getopt_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_H 1 -_ACEOF -else - gl_replace_getopt=yes -fi -done + : - fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_func in getopt_long_only + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h do : - ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" -if test "x$ac_cv_func_getopt_long_only" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_LONG_ONLY 1 +#define HAVE_WINSOCK2_H 1 _ACEOF -else - gl_replace_getopt=yes fi + done fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi - if test -z "$gl_replace_getopt"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 -$as_echo_n "checking whether getopt is POSIX compatible... " >&6; } -if ${gl_cv_func_getopt_posix+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $cross_compiling = no; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 +$as_echo_n "checking for struct timeval... " >&6; } +if ${gl_cv_sys_struct_timeval+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -#include +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif int main () { - static char program[] = "program"; - static char a[] = "-a"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, a, foo, bar, NULL }; - int c; - - c = getopt (4, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (4, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; +static struct timeval x; x.tv_sec = x.tv_usec; + ; return 0; } - _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_posix=maybe +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval=yes else - gl_cv_func_getopt_posix=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_sys_struct_timeval=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_func_getopt_posix = maybe; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include - -int -main () -{ - static char program[] = "program"; - static char donald[] = "donald"; - static char p[] = "-p"; - static char billy[] = "billy"; - static char duck[] = "duck"; - static char a[] = "-a"; - static char bar[] = "bar"; - char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; - int c; - - c = getopt (7, argv, "+abp:q:"); - if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; - if (!(strcmp (argv[6], "bar") == 0)) - return 11; - if (!(optind == 1)) - return 12; - return 0; -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_posix=maybe -else - gl_cv_func_getopt_posix=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi - if test $gl_cv_func_getopt_posix = maybe; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 +$as_echo "$gl_cv_sys_struct_timeval" >&6; } + if test $gl_cv_sys_struct_timeval != yes; then + HAVE_STRUCT_TIMEVAL=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 +$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } +if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -#include +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif int main () { - static char program[] = "program"; - static char ab[] = "-ab"; - char *argv[3] = { program, ab, NULL }; - if (getopt (2, argv, "ab:") != 'a') - return 13; - if (getopt (2, argv, "ab:") != '?') - return 14; - if (optopt != 'b') - return 15; - if (optind != 2) - return 16; +static struct timeval x; + typedef int verify_tv_sec_type[ + sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 + ]; + + ; return 0; } - _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_posix=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval_tv_sec=yes else - gl_cv_func_getopt_posix=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_sys_struct_timeval_tv_sec=no fi - - fi - else - case "$host_os" in - darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; - esac - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5 -$as_echo "$gl_cv_func_getopt_posix" >&6; } - case "$gl_cv_func_getopt_posix" in - *no) gl_replace_getopt=yes ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 +$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } + if test $gl_cv_sys_struct_timeval_tv_sec != yes; then + REPLACE_STRUCT_TIMEVAL=1 + fi fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5 -$as_echo_n "checking for working GNU getopt function... " >&6; } -if ${gl_cv_func_getopt_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the - # optstring is necessary for programs like m4 that have POSIX-mandated - # semantics for supporting options interspersed with files. - # Also, since getopt_long is a GNU extension, we require optind=0. - # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT; - # so take care to revert to the correct (non-)export state. - gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }' - case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" &5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include -#include -#if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on Mac OS X. */ -#include -#include -#include -#include -#include -#include -/* The exception port on which our thread listens. */ -static mach_port_t our_exception_port; -/* The main function of the thread listening for exceptions of type - EXC_BAD_ACCESS. */ -static void * -mach_exception_thread (void *arg) -{ - /* Buffer for a message to be received. */ - struct { - mach_msg_header_t head; - mach_msg_body_t msgh_body; - char data[1024]; - } msg; - mach_msg_return_t retval; - /* Wait for a message on the exception port. */ - retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), - our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (retval != MACH_MSG_SUCCESS) - abort (); - exit (1); -} -static void -nocrash_init (void) -{ - mach_port_t self = mach_task_self (); - /* Allocate a port on which the thread shall listen for exceptions. */ - if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) - == KERN_SUCCESS) { - /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ - if (mach_port_insert_right (self, our_exception_port, our_exception_port, - MACH_MSG_TYPE_MAKE_SEND) - == KERN_SUCCESS) { - /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting - for us. */ - exception_mask_t mask = EXC_MASK_BAD_ACCESS; - /* Create the thread listening on the exception port. */ - pthread_attr_t attr; - pthread_t thread; - if (pthread_attr_init (&attr) == 0 - && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 - && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { - pthread_attr_destroy (&attr); - /* Replace the exception port info for these exceptions with our own. - Note that we replace the exception port for the entire task, not only - for a particular thread. This has the effect that when our exception - port gets the message, the thread specific exception port has already - been asked, and we don't need to bother about it. - See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ - task_set_exception_ports (self, mask, our_exception_port, - EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); - } - } - } -} -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Avoid a crash on native Windows. */ -#define WIN32_LEAN_AND_MEAN -#include -#include -static LONG WINAPI -exception_filter (EXCEPTION_POINTERS *ExceptionInfo) -{ - switch (ExceptionInfo->ExceptionRecord->ExceptionCode) - { - case EXCEPTION_ACCESS_VIOLATION: - case EXCEPTION_IN_PAGE_ERROR: - case EXCEPTION_STACK_OVERFLOW: - case EXCEPTION_GUARD_PAGE: - case EXCEPTION_PRIV_INSTRUCTION: - case EXCEPTION_ILLEGAL_INSTRUCTION: - case EXCEPTION_DATATYPE_MISALIGNMENT: - case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: - case EXCEPTION_NONCONTINUABLE_EXCEPTION: - exit (1); - } - return EXCEPTION_CONTINUE_SEARCH; -} -static void -nocrash_init (void) -{ - SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); -} -#else -/* Avoid a crash on POSIX systems. */ -#include -/* A POSIX signal handler. */ -static void -exception_handler (int sig) -{ - exit (1); -} -static void -nocrash_init (void) -{ -#ifdef SIGSEGV - signal (SIGSEGV, exception_handler); -#endif -#ifdef SIGBUS - signal (SIGBUS, exception_handler); -#endif -} +#if HAVE_SYS_TIME_H +# include #endif - +#include int main () { - - int result = 0; - - nocrash_init(); - - /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, - and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, - OSF/1 5.1, Solaris 10. */ - { - static char conftest[] = "conftest"; - static char plus[] = "-+"; - char *argv[3] = { conftest, plus, NULL }; - opterr = 0; - if (getopt (2, argv, "+a") != '?') - result |= 1; - } - /* This code succeeds on glibc 2.8, mingw, - and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11, - IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */ - { - static char program[] = "program"; - static char p[] = "-p"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, p, foo, bar, NULL }; - - optind = 1; - if (getopt (4, argv, "p::") != 'p') - result |= 2; - else if (optarg != NULL) - result |= 4; - else if (getopt (4, argv, "p::") != -1) - result |= 6; - else if (optind != 2) - result |= 8; - } - /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */ - { - static char program[] = "program"; - static char foo[] = "foo"; - static char p[] = "-p"; - char *argv[] = { program, foo, p, NULL }; - optind = 0; - if (getopt (3, argv, "-p") != 1) - result |= 16; - else if (getopt (3, argv, "-p") != 'p') - result |= 16; - } - /* This code fails on glibc 2.11. */ - { - static char program[] = "program"; - static char b[] = "-b"; - static char a[] = "-a"; - char *argv[] = { program, b, a, NULL }; - optind = opterr = 0; - if (getopt (3, argv, "+:a:b") != 'b') - result |= 32; - else if (getopt (3, argv, "+:a:b") != ':') - result |= 32; - } - /* This code dumps core on glibc 2.14. */ - { - static char program[] = "program"; - static char w[] = "-W"; - static char dummy[] = "dummy"; - char *argv[] = { program, w, dummy, NULL }; - optind = opterr = 1; - if (getopt (3, argv, "W;") != 'W') - result |= 64; - } - return result; - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_gnu=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - gl_cv_func_getopt_gnu=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + eval "$as_gl_Symbol=no" fi - - case $gl_had_POSIXLY_CORRECT in - exported) ;; - yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; - *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; - esac - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 -$as_echo "$gl_cv_func_getopt_gnu" >&6; } - if test "$gl_cv_func_getopt_gnu" != yes; then - gl_replace_getopt=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 -$as_echo_n "checking for working GNU getopt_long function... " >&6; } -if ${gl_cv_func_getopt_long_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; - *) gl_cv_func_getopt_long_gnu="guessing yes";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - -int -main () -{ -static const struct option long_options[] = - { - { "xtremely-",no_argument, NULL, 1003 }, - { "xtra", no_argument, NULL, 1001 }, - { "xtreme", no_argument, NULL, 1002 }, - { "xtremely", no_argument, NULL, 1003 }, - { NULL, 0, NULL, 0 } - }; - /* This code fails on OpenBSD 5.0. */ - { - static char program[] = "program"; - static char xtremel[] = "--xtremel"; - char *argv[] = { program, xtremel, NULL }; - int option_index; - optind = 1; opterr = 0; - if (getopt_long (2, argv, "", long_options, &option_index) != 1003) - return 1; - } - return 0; - - ; - return 0; -} +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_long_gnu=yes -else - gl_cv_func_getopt_long_gnu=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5 -$as_echo "$gl_cv_func_getopt_long_gnu" >&6; } - case "$gl_cv_func_getopt_long_gnu" in - *yes) ;; - *) gl_replace_getopt=yes ;; - esac - fi - fi - - - + done - REPLACE_GETOPT=1 - if test $REPLACE_GETOPT = 1; then - GETOPT_H=getopt.h -$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h - fi - ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" -if test "x$ac_cv_have_decl_getenv" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETENV $ac_have_decl -_ACEOF - ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default" -if test "x$ac_cv_have_decl_getpass" = xyes; then : - ac_have_decl=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETPASS $ac_have_decl -_ACEOF - - - - - - - - - - - - - - - - - - - - - - - - - - - + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac - ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default" -if test "x$ac_cv_have_decl_flockfile" = xyes; then : - ac_have_decl=1 + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi else - ac_have_decl=0 + ac_cv_path_SED=$SED fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FLOCKFILE $ac_have_decl -_ACEOF - - - - ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default" -if test "x$ac_cv_have_decl_funlockfile" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FUNLOCKFILE $ac_have_decl -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed GNULIB__EXIT=0; @@ -19444,39 +16764,36 @@ _ACEOF REPLACE_WCTOMB=0; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 +$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } +if ${gl_cv_func_malloc_posix+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ +#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ + choke me + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_malloc_posix=yes +else + gl_cv_func_malloc_posix=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -: - - - - - - - - - - - - GNULIB_GETTIMEOFDAY=0; - HAVE_GETTIMEOFDAY=1; - HAVE_STRUCT_TIMEVAL=1; - HAVE_SYS_TIME_H=1; - REPLACE_GETTIMEOFDAY=0; - REPLACE_STRUCT_TIMEVAL=0; - - - - - - - - - - - : +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 +$as_echo "$gl_cv_func_malloc_posix" >&6; } @@ -19488,84 +16805,148 @@ _ACEOF - : + GNULIB_FFSL=0; + GNULIB_FFSLL=0; + GNULIB_MEMCHR=0; + GNULIB_MEMMEM=0; + GNULIB_MEMPCPY=0; + GNULIB_MEMRCHR=0; + GNULIB_RAWMEMCHR=0; + GNULIB_STPCPY=0; + GNULIB_STPNCPY=0; + GNULIB_STRCHRNUL=0; + GNULIB_STRDUP=0; + GNULIB_STRNCAT=0; + GNULIB_STRNDUP=0; + GNULIB_STRNLEN=0; + GNULIB_STRPBRK=0; + GNULIB_STRSEP=0; + GNULIB_STRSTR=0; + GNULIB_STRCASESTR=0; + GNULIB_STRTOK_R=0; + GNULIB_MBSLEN=0; + GNULIB_MBSNLEN=0; + GNULIB_MBSCHR=0; + GNULIB_MBSRCHR=0; + GNULIB_MBSSTR=0; + GNULIB_MBSCASECMP=0; + GNULIB_MBSNCASECMP=0; + GNULIB_MBSPCASECMP=0; + GNULIB_MBSCASESTR=0; + GNULIB_MBSCSPN=0; + GNULIB_MBSPBRK=0; + GNULIB_MBSSPN=0; + GNULIB_MBSSEP=0; + GNULIB_MBSTOK_R=0; + GNULIB_STRERROR=0; + GNULIB_STRERROR_R=0; + GNULIB_STRSIGNAL=0; + GNULIB_STRVERSCMP=0; + HAVE_MBSLEN=0; + HAVE_FFSL=1; + HAVE_FFSLL=1; + HAVE_MEMCHR=1; + HAVE_DECL_MEMMEM=1; + HAVE_MEMPCPY=1; + HAVE_DECL_MEMRCHR=1; + HAVE_RAWMEMCHR=1; + HAVE_STPCPY=1; + HAVE_STPNCPY=1; + HAVE_STRCHRNUL=1; + HAVE_DECL_STRDUP=1; + HAVE_DECL_STRNDUP=1; + HAVE_DECL_STRNLEN=1; + HAVE_STRPBRK=1; + HAVE_STRSEP=1; + HAVE_STRCASESTR=1; + HAVE_DECL_STRTOK_R=1; + HAVE_DECL_STRERROR_R=1; + HAVE_DECL_STRSIGNAL=1; + HAVE_STRVERSCMP=1; + REPLACE_MEMCHR=0; + REPLACE_MEMMEM=0; + REPLACE_STPNCPY=0; + REPLACE_STRDUP=0; + REPLACE_STRSTR=0; + REPLACE_STRCASESTR=0; + REPLACE_STRCHRNUL=0; + REPLACE_STRERROR=0; + REPLACE_STRERROR_R=0; + REPLACE_STRNCAT=0; + REPLACE_STRNDUP=0; + REPLACE_STRNLEN=0; + REPLACE_STRSIGNAL=0; + REPLACE_STRTOK_R=0; + UNDEFINE_STRTOK_R=0; + # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it + # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is + # irrelevant for anonymous mappings. + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = xyes; then : + gl_have_mmap=yes +else + gl_have_mmap=no +fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_time_h='<'sys/time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_time_h+:} false; then : - $as_echo_n "(cached) " >&6 -else + # Try to allow MAP_ANONYMOUS. + gl_have_mmap_anonymous=no + if test $gl_have_mmap = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 +$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test $ac_cv_header_sys_time_h = yes; then +#include +#ifdef MAP_ANONYMOUS + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : + gl_have_mmap_anonymous=yes +fi +rm -f conftest* - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test $gl_have_mmap_anonymous != yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include +#ifdef MAP_ANON + I cannot identify this map +#endif _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/time.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_time_h='<'sys/time.h'>' - fi +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : +$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h + gl_have_mmap_anonymous=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 -$as_echo "$gl_cv_next_sys_time_h" >&6; } - fi - NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h +rm -f conftest* - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/time.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_time_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 +$as_echo "$gl_have_mmap_anonymous" >&6; } + if test $gl_have_mmap_anonymous = yes; then +$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h + fi + fi + : - if test $ac_cv_header_sys_time_h != yes; then - HAVE_SYS_TIME_H=0 - fi @@ -19577,1158 +16958,1206 @@ $as_echo "$gl_cv_next_sys_time_h" >&6; } - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 -$as_echo_n "checking for struct timeval... " >&6; } -if ${gl_cv_sys_struct_timeval+:} false; then : + if test $HAVE_MEMCHR = 1; then + # Detect platform-specific bugs in some versions of glibc: + # memchr should not dereference anything with length 0 + # http://bugzilla.redhat.com/499689 + # memchr should not dereference overestimated length after a match + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 + # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # Assume that memchr works on platforms that lack mprotect. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 +$as_echo_n "checking whether memchr works... " >&6; } +if ${gl_cv_func_memchr_works+:} false; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + gl_cv_func_memchr_works="guessing no" +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #if HAVE_WINSOCK2_H - # include - #endif + +#include +#if HAVE_SYS_MMAN_H +# include +# include +# include +# include +# ifndef MAP_FILE +# define MAP_FILE 0 +# endif +#endif int main () { -static struct timeval x; x.tv_sec = x.tv_usec; + + int result = 0; + char *fence = NULL; +#if HAVE_SYS_MMAN_H && HAVE_MPROTECT +# if HAVE_MAP_ANONYMOUS + const int flags = MAP_ANONYMOUS | MAP_PRIVATE; + const int fd = -1; +# else /* !HAVE_MAP_ANONYMOUS */ + const int flags = MAP_FILE | MAP_PRIVATE; + int fd = open ("/dev/zero", O_RDONLY, 0666); + if (fd >= 0) +# endif + { + int pagesize = getpagesize (); + char *two_pages = + (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, + flags, fd, 0); + if (two_pages != (char *)(-1) + && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) + fence = two_pages + pagesize; + } +#endif + if (fence) + { + if (memchr (fence, 0, 0)) + result |= 1; + strcpy (fence - 9, "12345678"); + if (memchr (fence - 9, 0, 79) != fence - 1) + result |= 2; + if (memchr (fence - 1, 0, 3) != fence - 1) + result |= 4; + } + return result; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timeval=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_memchr_works=yes else - gl_cv_sys_struct_timeval=no + gl_cv_func_memchr_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 -$as_echo "$gl_cv_sys_struct_timeval" >&6; } - if test $gl_cv_sys_struct_timeval != yes; then - HAVE_STRUCT_TIMEVAL=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 -$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } -if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #if HAVE_WINSOCK2_H - # include - #endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 +$as_echo "$gl_cv_func_memchr_works" >&6; } + if test "$gl_cv_func_memchr_works" != yes; then + REPLACE_MEMCHR=1 + fi + fi -int -main () -{ -static struct timeval x; - typedef int verify_tv_sec_type[ - sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 - ]; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timeval_tv_sec=yes + ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default" +if test "x$ac_cv_have_decl_memmem" = xyes; then : + ac_have_decl=1 else - gl_cv_sys_struct_timeval_tv_sec=no + ac_have_decl=0 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 -$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } - if test $gl_cv_sys_struct_timeval_tv_sec != yes; then - REPLACE_STRUCT_TIMEVAL=1 - fi - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMMEM $ac_have_decl +_ACEOF - for gl_func in gettimeofday; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +$as_echo_n "checking whether defines MIN and MAX... " >&6; } +if ${gl_cv_minmax_in_limits_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#if HAVE_SYS_TIME_H -# include -#endif -#include - +#include + int x = MIN (42, 17); int main () { -#undef $gl_func - (void) $gl_func; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + gl_cv_minmax_in_limits_h=yes else - eval "$as_gl_Symbol=no" + gl_cv_minmax_in_limits_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - done - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5 +$as_echo "$gl_cv_minmax_in_limits_h" >&6; } + if test $gl_cv_minmax_in_limits_h = yes; then +$as_echo "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 -$as_echo_n "checking where to find the exponent in a 'double'... " >&6; } -if ${gl_cv_cc_double_expbit0+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined arm || defined __arm || defined __arm__ - mixed_endianness -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "mixed_endianness" >/dev/null 2>&1; then : - gl_cv_cc_double_expbit0="unknown" -else - : -if ${ac_cv_c_bigendian+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 +$as_echo_n "checking whether defines MIN and MAX... " >&6; } +if ${gl_cv_minmax_in_sys_param_h+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - +#include + int x = MIN (42, 17); int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes + gl_cv_minmax_in_sys_param_h=yes else - ac_cv_c_bigendian=no + gl_cv_minmax_in_sys_param_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5 +$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; } + if test $gl_cv_minmax_in_sys_param_h = yes; then -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif +$as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + fi -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + + + gl_cv_c_multiarch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi + + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done + fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ + if test $gl_cv_c_multiarch = yes; then + APPLE_UNIVERSAL_BUILD=1 + else + APPLE_UNIVERSAL_BUILD=0 + fi - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - fi -fi -: - case $ac_cv_c_bigendian in #( - yes) - gl_cv_cc_double_expbit0="word 0 bit 20";; #( - no) - gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( - universal) + GNULIB_GETADDRINFO=0; + HAVE_STRUCT_ADDRINFO=1; + HAVE_DECL_FREEADDRINFO=1; + HAVE_DECL_GAI_STRERROR=1; + HAVE_DECL_GETADDRINFO=1; + HAVE_DECL_GETNAMEINFO=1; + REPLACE_GAI_STRERROR=0; + -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - ;; #( - *) - gl_cv_cc_double_expbit0="unknown" ;; - esac -fi -rm -f conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { double value; unsigned int word[NWORDS]; } memory_double; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (double x) -{ - memory_double m; - size_t i; - /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ - memset (&m, 0, sizeof (memory_double)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25); - add_to_ored_words (0.5); - add_to_ored_words (1.0); - add_to_ored_words (2.0); - add_to_ored_words (4.0); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_double_expbit0=`cat conftest.out` -else - gl_cv_cc_double_expbit0="unknown" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - rm -f conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 -$as_echo "$gl_cv_cc_double_expbit0" >&6; } - case "$gl_cv_cc_double_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` -cat >>confdefs.h <<_ACEOF -#define DBL_EXPBIT0_WORD $word -_ACEOF -cat >>confdefs.h <<_ACEOF -#define DBL_EXPBIT0_BIT $bit -_ACEOF - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 -$as_echo_n "checking where to find the exponent in a 'float'... " >&6; } -if ${gl_cv_cc_float_expbit0+:} false; then : + + : + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5 +$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; } +if ${gl_cv_func_snprintf_retval_c99+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - gl_cv_cc_float_expbit0="word 0 bit 23" + + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on FreeBSD >= 5. + freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; + freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on Mac OS X >= 10.3. + darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; + darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on OpenBSD >= 3.9. + openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) + gl_cv_func_snprintf_retval_c99="guessing no";; + openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on Solaris >= 2.10. + solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; + solaris*) gl_cv_func_printf_sizes_c99="guessing no";; + # Guess yes on AIX >= 4. + aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; + aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on NetBSD >= 3. + netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) + gl_cv_func_snprintf_retval_c99="guessing no";; + netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on BeOS. + beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # If we don't know, assume the worst. + *) gl_cv_func_snprintf_retval_c99="guessing no";; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include #include #include -#define NWORDS \ - ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { float value; unsigned int word[NWORDS]; } memory_float; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (float x) +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) { - memory_float m; - size_t i; - /* Clear it first, in case - sizeof (float) < sizeof (memory_float). */ - memset (&m, 0, sizeof (memory_float)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; } +#endif +static char buf[100]; int main () { - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) + strcpy (buf, "ABCDEF"); + if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25f); - add_to_ored_words (0.5f); - add_to_ored_words (1.0f); - add_to_ored_words (2.0f); - add_to_ored_words (4.0f); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); + if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) + return 2; + if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) + return 3; + return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_float_expbit0=`cat conftest.out` + gl_cv_func_snprintf_retval_c99=yes else - gl_cv_cc_float_expbit0="unknown" + gl_cv_func_snprintf_retval_c99=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 -$as_echo "$gl_cv_cc_float_expbit0" >&6; } - case "$gl_cv_cc_float_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5 +$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; } -cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_WORD $word -_ACEOF + ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_snprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_BIT $bit +#define HAVE_DECL_SNPRINTF $ac_have_decl _ACEOF - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; + : + + + + + if test $ac_cv_header_sys_socket_h = no; then + for ac_header in ws2tcpip.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" +if test "x$ac_cv_header_ws2tcpip_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WS2TCPIP_H 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif +done - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if ${ac_cv_header_stdbool_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include + + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif + + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes + ac_cv_header_stdbool_h=yes else - ac_cv_c_bigendian=no + ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + +fi + + + + REPLACE_NULL=0; + HAVE_WCHAR_T=1; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 +$as_echo_n "checking for wchar_t... " >&6; } +if ${gt_cv_c_wchar_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + wchar_t foo = (wchar_t)'\0'; int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes + gt_cv_c_wchar_t=yes else - ac_cv_c_bigendian=no + gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 +$as_echo "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then + +$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if ${ac_cv_type_long_long_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; int main () { -return use_ascii (foo) == use_ebcdic (foo); +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); ; return 0; } + _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if ac_fn_c_try_link "$LINENO"; then : + if test "$cross_compiling" = yes; then : + ac_cv_type_long_long_int=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif int main () { - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no + ac_cv_type_long_long_int=yes else - ac_cv_c_bigendian=yes + ac_cv_type_long_long_int=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi +else + ac_cv_type_long_long_int=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 +$as_echo "$ac_cv_type_long_long_int" >&6; } + if test $ac_cv_type_long_long_int = yes; then +$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5 -$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; } -if ${gl_cv_func_malloc_posix+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; int main () { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ - choke me - #endif - +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); ; return 0; } + _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_malloc_posix=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_type_unsigned_long_long_int=yes else - gl_cv_func_malloc_posix=no + ac_cv_type_unsigned_long_long_int=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then + +$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + + + + + + + + + + + + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + + + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi + + + + : + + + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + + + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi + + + + + + + + + : + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdint_h='<'stdint.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdint_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_stdint_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdint.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_stdint_h + gl_cv_next_stdint_h='"'$gl_header'"' + else + gl_cv_next_stdint_h='<'stdint.h'>' + fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5 -$as_echo "$gl_cv_func_malloc_posix" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 +$as_echo "$gl_cv_next_stdint_h" >&6; } + fi + NEXT_STDINT_H=$gl_cv_next_stdint_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdint.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdint_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi + if test $ac_cv_header_stdint_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 +$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } +if ${gl_cv_header_working_stdint_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_working_stdint_h=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; - GNULIB_FFSL=0; - GNULIB_FFSLL=0; - GNULIB_MEMCHR=0; - GNULIB_MEMMEM=0; - GNULIB_MEMPCPY=0; - GNULIB_MEMRCHR=0; - GNULIB_RAWMEMCHR=0; - GNULIB_STPCPY=0; - GNULIB_STPNCPY=0; - GNULIB_STRCHRNUL=0; - GNULIB_STRDUP=0; - GNULIB_STRNCAT=0; - GNULIB_STRNDUP=0; - GNULIB_STRNLEN=0; - GNULIB_STRPBRK=0; - GNULIB_STRSEP=0; - GNULIB_STRSTR=0; - GNULIB_STRCASESTR=0; - GNULIB_STRTOK_R=0; - GNULIB_MBSLEN=0; - GNULIB_MBSNLEN=0; - GNULIB_MBSCHR=0; - GNULIB_MBSRCHR=0; - GNULIB_MBSSTR=0; - GNULIB_MBSCASECMP=0; - GNULIB_MBSNCASECMP=0; - GNULIB_MBSPCASECMP=0; - GNULIB_MBSCASESTR=0; - GNULIB_MBSCSPN=0; - GNULIB_MBSPBRK=0; - GNULIB_MBSSPN=0; - GNULIB_MBSSEP=0; - GNULIB_MBSTOK_R=0; - GNULIB_STRERROR=0; - GNULIB_STRERROR_R=0; - GNULIB_STRSIGNAL=0; - GNULIB_STRVERSCMP=0; - HAVE_MBSLEN=0; - HAVE_FFSL=1; - HAVE_FFSLL=1; - HAVE_MEMCHR=1; - HAVE_DECL_MEMMEM=1; - HAVE_MEMPCPY=1; - HAVE_DECL_MEMRCHR=1; - HAVE_RAWMEMCHR=1; - HAVE_STPCPY=1; - HAVE_STPNCPY=1; - HAVE_STRCHRNUL=1; - HAVE_DECL_STRDUP=1; - HAVE_DECL_STRNDUP=1; - HAVE_DECL_STRNLEN=1; - HAVE_STRPBRK=1; - HAVE_STRSEP=1; - HAVE_STRCASESTR=1; - HAVE_DECL_STRTOK_R=1; - HAVE_DECL_STRERROR_R=1; - HAVE_DECL_STRSIGNAL=1; - HAVE_STRVERSCMP=1; - REPLACE_MEMCHR=0; - REPLACE_MEMMEM=0; - REPLACE_STPNCPY=0; - REPLACE_STRDUP=0; - REPLACE_STRSTR=0; - REPLACE_STRCASESTR=0; - REPLACE_STRCHRNUL=0; - REPLACE_STRERROR=0; - REPLACE_STRERROR_R=0; - REPLACE_STRNCAT=0; - REPLACE_STRNDUP=0; - REPLACE_STRNLEN=0; - REPLACE_STRSIGNAL=0; - REPLACE_STRTOK_R=0; - UNDEFINE_STRTOK_R=0; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if test "$cross_compiling" = yes; then : + gl_cv_header_working_stdint_h=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include - # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it - # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is - # irrelevant for anonymous mappings. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes; then : - gl_have_mmap=yes -else - gl_have_mmap=no -fi + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map +#include +#include +#define MVAL(macro) MVAL1(macro) +#define MVAL1(expression) #expression +static const char *macro_values[] = + { +#ifdef INT8_MAX + MVAL (INT8_MAX), +#endif +#ifdef INT16_MAX + MVAL (INT16_MAX), +#endif +#ifdef INT32_MAX + MVAL (INT32_MAX), #endif +#ifdef INT64_MAX + MVAL (INT64_MAX), +#endif +#ifdef UINT8_MAX + MVAL (UINT8_MAX), +#endif +#ifdef UINT16_MAX + MVAL (UINT16_MAX), +#endif +#ifdef UINT32_MAX + MVAL (UINT32_MAX), +#endif +#ifdef UINT64_MAX + MVAL (UINT64_MAX), +#endif + NULL + }; + +int +main () +{ + + const char **mv; + for (mv = macro_values; *mv != NULL; mv++) + { + const char *value = *mv; + /* Test whether it looks like a cast expression. */ + if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 + || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 + || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 + || strncmp (value, "((int)"/*)*/, 6) == 0 + || strncmp (value, "((signed short)"/*)*/, 15) == 0 + || strncmp (value, "((signed char)"/*)*/, 14) == 0) + return mv - macro_values + 1; + } + return 0; + ; + return 0; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - gl_have_mmap_anonymous=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_header_working_stdint_h=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest* - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef MAP_ANON - I cannot identify this map -#endif +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 +$as_echo "$gl_cv_header_working_stdint_h" >&6; } + fi + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else + for ac_header in sys/inttypes.h sys/bitypes.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - -$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - gl_have_mmap_anonymous=yes fi -rm -f conftest* - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -$as_echo "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then -$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h +done + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + else + HAVE_SYS_INTTYPES_H=0 fi - fi + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + else + HAVE_SYS_BITYPES_H=0 + fi - : + if test $APPLE_UNIVERSAL_BUILD = 0; then + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - : +#include "; then : +else + result=unknown +fi + eval gl_cv_bitsizeof_${gltype}=\$result +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + eval BITSIZEOF_${GLTYPE}=\$result + done + fi - if test $HAVE_MEMCHR = 1; then - # Detect platform-specific bugs in some versions of glibc: - # memchr should not dereference anything with length 0 - # http://bugzilla.redhat.com/499689 - # memchr should not dereference overestimated length after a match - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 - # http://sourceware.org/bugzilla/show_bug.cgi?id=10162 - # Assume that memchr works on platforms that lack mprotect. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 -$as_echo_n "checking whether memchr works... " >&6; } -if ${gl_cv_func_memchr_works+:} false; then : + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - gl_cv_func_memchr_works="guessing no" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if HAVE_SYS_MMAN_H -# include -# include -# include -# include -# ifndef MAP_FILE -# define MAP_FILE 0 -# endif -#endif - -int -main () -{ + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif - int result = 0; - char *fence = NULL; -#if HAVE_SYS_MMAN_H && HAVE_MPROTECT -# if HAVE_MAP_ANONYMOUS - const int flags = MAP_ANONYMOUS | MAP_PRIVATE; - const int fd = -1; -# else /* !HAVE_MAP_ANONYMOUS */ - const int flags = MAP_FILE | MAP_PRIVATE; - int fd = open ("/dev/zero", O_RDONLY, 0666); - if (fd >= 0) -# endif - { - int pagesize = getpagesize (); - char *two_pages = - (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE, - flags, fd, 0); - if (two_pages != (char *)(-1) - && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0) - fence = two_pages + pagesize; - } -#endif - if (fence) - { - if (memchr (fence, 0, 0)) - result |= 1; - strcpy (fence - 9, "12345678"); - if (memchr (fence - 9, 0, 79) != fence - 1) - result |= 2; - if (memchr (fence - 1, 0, 3) != fence - 1) - result |= 4; - } - return result; +#include "; then : - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_memchr_works=yes else - gl_cv_func_memchr_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - + result=unknown fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memchr_works" >&5 -$as_echo "$gl_cv_func_memchr_works" >&6; } - if test "$gl_cv_func_memchr_works" != yes; then - REPLACE_MEMCHR=1 - fi - fi + eval gl_cv_bitsizeof_${gltype}=\$result - ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default" -if test "x$ac_cv_have_decl_memmem" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_MEMMEM $ac_have_decl +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result _ACEOF + eval BITSIZEOF_${GLTYPE}=\$result + done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if ${gl_cv_minmax_in_limits_h+:} false; then : + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 +$as_echo_n "checking whether $gltype is signed... " >&6; } +if eval \${gl_cv_type_${gltype}_signed+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int x = MIN (42, 17); + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { @@ -20738,34 +18167,75 @@ main () } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_limits_h=yes + result=yes else - gl_cv_minmax_in_limits_h=no + result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_limits_h" >&5 -$as_echo "$gl_cv_minmax_in_limits_h" >&6; } - if test $gl_cv_minmax_in_limits_h = yes; then - -$as_echo "#define HAVE_MINMAX_IN_LIMITS_H 1" >>confdefs.h - - fi + eval gl_cv_type_${gltype}_signed=\$result +fi +eval ac_res=\$gl_cv_type_${gltype}_signed + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGNED_${GLTYPE} 1 +_ACEOF + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + if test $APPLE_UNIVERSAL_BUILD = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5 -$as_echo_n "checking whether defines MIN and MAX... " >&6; } -if ${gl_cv_minmax_in_sys_param_h+:} false; then : + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int x = MIN (42, 17); + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; int main () { @@ -20775,168 +18245,125 @@ main () } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_minmax_in_sys_param_h=yes -else - gl_cv_minmax_in_sys_param_h=no + eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_minmax_in_sys_param_h" >&5 -$as_echo "$gl_cv_minmax_in_sys_param_h" >&6; } - if test $gl_cv_minmax_in_sys_param_h = yes; then - -$as_echo "#define HAVE_MINMAX_IN_SYS_PARAM_H 1" >>confdefs.h - - fi - - - - - - gl_cv_c_multiarch=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_c_multiarch = yes; then - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - - - - GNULIB_PSELECT=0; - GNULIB_SELECT=0; - HAVE_PSELECT=1; - REPLACE_PSELECT=0; - REPLACE_SELECT=0; - - - - + done + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; int main () { -struct timeval b; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes -else - gl_cv_header_sys_select_h_selfcontained=no + eval gl_cv_type_${gltype}_suffix=\$glsuf fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int memset; int bzero; - ; - return 0; -} - + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - #undef memset - #define memset nonexistent_memset - extern - #ifdef __cplusplus - "C" - #endif - void *memset (void *, int, unsigned long); - #undef bzero - #define bzero nonexistent_bzero - extern - #ifdef __cplusplus - "C" - #endif - void bzero (void *, unsigned long); - fd_set fds; - FD_ZERO (&fds); + done - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + if test $BITSIZEOF_WINT_T -lt 32; then + BITSIZEOF_WINT_T=32 + fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi + STDINT_H=stdint.h + fi + if test -n "$STDINT_H"; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' +else + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } + GNULIB_FFS=0; + HAVE_FFS=1; + HAVE_STRCASECMP=1; + HAVE_DECL_STRNCASECMP=1; + - : @@ -20946,112 +18373,71 @@ $as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' + gl_cv_next_string_h='<'string.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_select_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_string_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/select.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'string.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_string_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_string_h + gl_cv_next_string_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 +$as_echo "$gl_cv_next_string_h" >&6; } fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + NEXT_STRING_H=$gl_cv_next_string_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/select.h'>' + gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_select_h + gl_next_as_first_directive=$gl_cv_next_string_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive - - - - - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi - - - - - - : - - - - - - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi + NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - for gl_func in pselect select; do + for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -21060,13 +18446,7 @@ if eval \${$as_gl_Symbol+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Some systems require prerequisite headers. */ -#include -#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H -# include -#endif -#include +#include int main () @@ -21098,76 +18478,6 @@ fi - GNULIB_PTHREAD_SIGMASK=0; - GNULIB_RAISE=0; - GNULIB_SIGNAL_H_SIGPIPE=0; - GNULIB_SIGPROCMASK=0; - GNULIB_SIGACTION=0; - HAVE_POSIX_SIGNALBLOCKING=1; - HAVE_PTHREAD_SIGMASK=1; - HAVE_RAISE=1; - HAVE_SIGSET_T=1; - HAVE_SIGINFO_T=1; - HAVE_SIGACTION=1; - HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; - - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; - - HAVE_SIGHANDLER_T=1; - REPLACE_PTHREAD_SIGMASK=0; - REPLACE_RAISE=0; - - - ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " - #include - /* Mingw defines sigset_t not in , but in . */ - #include - -" -if test "x$ac_cv_type_sigset_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_SIGSET_T 1 -_ACEOF - -gl_cv_type_sigset_t=yes -else - gl_cv_type_sigset_t=no -fi - - if test $gl_cv_type_sigset_t != yes; then - HAVE_SIGSET_T=0 - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "#define uid_t int" >>confdefs.h - - -$as_echo "#define gid_t int" >>confdefs.h - -fi @@ -21190,378 +18500,138 @@ fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5 -$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; } -if ${gl_cv_func_snprintf_retval_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on Mac OS X >= 10.3. - darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; - darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_snprintf_retval_c99="guessing no";; - openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; - solaris*) gl_cv_func_printf_sizes_c99="guessing no";; - # Guess yes on AIX >= 4. - aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; - aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_snprintf_retval_c99="guessing no";; - netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_snprintf_retval_c99="guessing no";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#if HAVE_SNPRINTF -# define my_snprintf snprintf -#else -# include -static int my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} -#endif -static char buf[100]; -int main () -{ - strcpy (buf, "ABCDEF"); - if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7) - return 1; - if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7) - return 2; - if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7) - return 3; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_retval_c99=yes -else - gl_cv_func_snprintf_retval_c99=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5 -$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; } - - - ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_snprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SNPRINTF $ac_have_decl -_ACEOF - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if ${ac_cv_header_stdbool_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - - - - REPLACE_NULL=0; - HAVE_WCHAR_T=1; - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if ${gt_cv_c_wchar_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes -else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then - -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if ${ac_cv_type_long_long_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; -int -main () -{ -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test "$cross_compiling" = yes; then : - ac_cv_type_long_long_int=yes + if test $gl_cv_have_include_next = yes; then + gl_cv_next_strings_h='<'strings.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_strings_h+:} false; then : + $as_echo_n "(cached) " >&6 else + + if test $ac_cv_header_strings_h = yes; then + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif -int -main () -{ -long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; - ; - return 0; -} +#include _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_type_long_long_int=yes -else - ac_cv_type_long_long_int=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'strings.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_strings_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_strings_h + gl_cv_next_strings_h='"'$gl_header'"' + else + gl_cv_next_strings_h='<'strings.h'>' + fi + -else - ac_cv_type_long_long_int=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 -$as_echo "$ac_cv_type_long_long_int" >&6; } - if test $ac_cv_type_long_long_int = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5 +$as_echo "$gl_cv_next_strings_h" >&6; } + fi + NEXT_STRINGS_H=$gl_cv_next_strings_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'strings.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_strings_h + fi + NEXT_AS_FIRST_DIRECTIVE_STRINGS_H=$gl_next_as_first_directive + + -$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + if test $ac_cv_header_strings_h = yes; then + HAVE_STRINGS_H=1 + else + HAVE_STRINGS_H=0 fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 -$as_echo_n "checking for unsigned long long int... " >&6; } -if ${ac_cv_type_unsigned_long_long_int+:} false; then : + + for gl_func in ffs strcasecmp strncasecmp; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; + /* Minix 3.1.8 has a bug: must be included before + . */ + #include + #include + int main () { -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); +#undef $gl_func + (void) $gl_func; ; return 0; } - _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_type_unsigned_long_long_int=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - ac_cv_type_unsigned_long_long_int=no + eval "$as_gl_Symbol=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 -$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } - if test $ac_cv_type_unsigned_long_long_int = yes; then - -$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - - fi - +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done + ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" +if test "x$ac_cv_have_decl_strndup" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNDUP $ac_have_decl +_ACEOF @@ -21570,51 +18640,78 @@ $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi + ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" +if test "x$ac_cv_have_decl_strnlen" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi + ac_fn_c_check_decl "$LINENO" "strtok_r" "ac_cv_have_decl_strtok_r" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtok_r" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - : +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOK_R $ac_have_decl +_ACEOF + GNULIB_SOCKET=0; + GNULIB_CONNECT=0; + GNULIB_ACCEPT=0; + GNULIB_BIND=0; + GNULIB_GETPEERNAME=0; + GNULIB_GETSOCKNAME=0; + GNULIB_GETSOCKOPT=0; + GNULIB_LISTEN=0; + GNULIB_RECV=0; + GNULIB_SEND=0; + GNULIB_RECVFROM=0; + GNULIB_SENDTO=0; + GNULIB_SETSOCKOPT=0; + GNULIB_SHUTDOWN=0; + GNULIB_ACCEPT4=0; + HAVE_STRUCT_SOCKADDR_STORAGE=1; + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1; + HAVE_SA_FAMILY_T=1; + HAVE_ACCEPT4=1; - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 - fi - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi + GNULIB_MKTIME=0; + GNULIB_NANOSLEEP=0; + GNULIB_STRPTIME=0; + GNULIB_TIMEGM=0; + GNULIB_TIME_R=0; + HAVE_DECL_LOCALTIME_R=1; + HAVE_NANOSLEEP=1; + HAVE_STRPTIME=1; + HAVE_TIMEGM=1; + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_MKTIME=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; + : ${GNULIB_GETTIMEOFDAY=0}; + REPLACE_GMTIME=0; + REPLACE_LOCALTIME=0; @@ -21624,766 +18721,715 @@ $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdint_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then : $as_echo_n "(cached) " >&6 else - - if test $ac_cv_header_stdint_h = yes; then - - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'stdint.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_time_h=yes +else + gl_cv_sys_struct_timespec_in_time_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_sys_time_h=yes +else + gl_cv_sys_struct_timespec_in_sys_time_h=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } - fi - NEXT_STDINT_H=$gl_cv_next_stdint_h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdint.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdint_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_pthread_h=yes +else + gl_cv_sys_struct_timespec_in_pthread_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + fi + fi + fi - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if ${gl_cv_header_working_stdint_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; + if test $gl_cv_have_include_next = yes; then + gl_cv_next_time_h='<'time.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_time_h+:} false; then : + $as_echo_n "(cached) " >&6 +else -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if test "$cross_compiling" = yes; then : - gl_cv_header_working_stdint_h=yes -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'time.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include + gl_cv_absolute_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + gl_header=$gl_cv_absolute_time_h + gl_cv_next_time_h='"'$gl_header'"' - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 +$as_echo "$gl_cv_next_time_h" >&6; } + fi + NEXT_TIME_H=$gl_cv_next_time_h -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'time.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_time_h + fi + NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 +$as_echo_n "checking for wint_t... " >&6; } +if ${gt_cv_c_wint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0'; int main () { - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return mv - macro_values + 1; - } - return 0; - ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_header_working_stdint_h=yes +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wint_t=yes +else + gt_cv_c_wint_t=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 +$as_echo "$gt_cv_c_wint_t" >&6; } + if test $gt_cv_c_wint_t = yes; then +$as_echo "#define HAVE_WINT_T 1" >>confdefs.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - for ac_header in sys/inttypes.h sys/bitypes.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - if test $APPLE_UNIVERSAL_BUILD = 0; then + : - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include "; then : -else - result=unknown -fi - eval gl_cv_bitsizeof_${gltype}=\$result + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - eval BITSIZEOF_${GLTYPE}=\$result - done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 +$as_echo_n "checking for inttypes.h... " >&6; } +if ${gl_cv_header_inttypes_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_inttypes_h=yes +else + gl_cv_header_inttypes_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 +$as_echo "$gl_cv_header_inttypes_h" >&6; } + if test $gl_cv_header_inttypes_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 +_ACEOF fi - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 +$as_echo_n "checking for stdint.h... " >&6; } +if ${gl_cv_header_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include "; then : - + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +uintmax_t i = (uintmax_t) -1; return !i; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_stdint_h=yes else - result=unknown + gl_cv_header_stdint_h=no fi - - eval gl_cv_bitsizeof_${gltype}=\$result - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 +$as_echo "$gl_cv_header_stdint_h" >&6; } + if test $gl_cv_header_stdint_h = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF - eval BITSIZEOF_${GLTYPE}=\$result - done + fi - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if eval \${gl_cv_type_${gltype}_signed+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 +$as_echo_n "checking for intmax_t... " >&6; } +if ${gt_cv_c_intmax_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +#include +#include +#if HAVE_STDINT_H_WITH_UINTMAX +#include +#endif +#if HAVE_INTTYPES_H_WITH_UINTMAX +#include +#endif - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { - +intmax_t x = -1; return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - result=yes + gt_cv_c_intmax_t=yes else - result=no + gt_cv_c_intmax_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result - fi -eval ac_res=\$gl_cv_type_${gltype}_signed - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 +$as_echo "$gt_cv_c_intmax_t" >&6; } + if test $gt_cv_c_intmax_t = yes; then + +$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h + + else + + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long' \ + || ac_type='long' + +cat >>confdefs.h <<_ACEOF +#define intmax_t $ac_type _ACEOF - eval HAVE_SIGNED_${GLTYPE}=1 - else - eval HAVE_SIGNED_${GLTYPE}=0 - fi - done + fi - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 +$as_echo_n "checking where to find the exponent in a 'double'... " >&6; } +if ${gl_cv_cc_double_expbit0+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if eval \${gl_cv_type_${gltype}_suffix+:} false; then : +#if defined arm || defined __arm || defined __arm__ + mixed_endianness +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "mixed_endianness" >/dev/null 2>&1; then : + gl_cv_cc_double_expbit0="unknown" +else + + : +if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - extern $gltype foo; - extern $gltype1 foo; int main () { +#ifndef _BIG_ENDIAN + not big endian + #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - fi - - - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if eval \${gl_cv_type_${gltype}_suffix+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; int main () { - +return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - - done - - - - if test $BITSIZEOF_WINT_T -lt 32; then - BITSIZEOF_WINT_T=32 - fi +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ - STDINT_H=stdint.h - fi + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; - if test -n "$STDINT_H"; then - GL_GENERATE_STDINT_H_TRUE= - GL_GENERATE_STDINT_H_FALSE='#' + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no else - GL_GENERATE_STDINT_H_TRUE='#' - GL_GENERATE_STDINT_H_FALSE= + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi +fi +: + case $ac_cv_c_bigendian in #( + yes) + gl_cv_cc_double_expbit0="word 0 bit 20";; #( + no) + gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( + universal) +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - GNULIB_FFS=0; - HAVE_FFS=1; - HAVE_STRCASECMP=1; - HAVE_DECL_STRNCASECMP=1; - - - - - + ;; #( + *) + gl_cv_cc_double_expbit0="unknown" ;; + esac - ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" -if test "x$ac_cv_have_decl_strdup" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi +rm -f conftest* -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRDUP $ac_have_decl -_ACEOF - - - - REPLACE_STRERROR_0=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 -$as_echo_n "checking whether strerror(0) succeeds... " >&6; } -if ${gl_cv_func_strerror_0_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_strerror_0_works="guessing no" ;; - esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include -int -main () +#include +#include +#include +#include +#define NWORDS \ + ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +typedef union { double value; unsigned int word[NWORDS]; } memory_double; +static unsigned int ored_words[NWORDS]; +static unsigned int anded_words[NWORDS]; +static void add_to_ored_words (double x) { -int result = 0; - char *str; - errno = 0; - str = strerror (0); - if (!*str) result |= 1; - if (errno) result |= 2; - if (strstr (str, "nknown") || strstr (str, "ndefined")) - result |= 4; - return result; - ; - return 0; + memory_double m; + size_t i; + /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ + memset (&m, 0, sizeof (memory_double)); + m.value = x; + for (i = 0; i < NWORDS; i++) + { + ored_words[i] |= m.word[i]; + anded_words[i] &= m.word[i]; + } +} +int main () +{ + size_t j; + FILE *fp = fopen ("conftest.out", "w"); + if (fp == NULL) + return 1; + for (j = 0; j < NWORDS; j++) + anded_words[j] = ~ (unsigned int) 0; + add_to_ored_words (0.25); + add_to_ored_words (0.5); + add_to_ored_words (1.0); + add_to_ored_words (2.0); + add_to_ored_words (4.0); + /* Remove bits that are common (e.g. if representation of the first mantissa + bit is explicit). */ + for (j = 0; j < NWORDS; j++) + ored_words[j] &= ~anded_words[j]; + /* Now find the nonzero word. */ + for (j = 0; j < NWORDS; j++) + if (ored_words[j] != 0) + break; + if (j < NWORDS) + { + size_t i; + for (i = j + 1; i < NWORDS; i++) + if (ored_words[i] != 0) + { + fprintf (fp, "unknown"); + return (fclose (fp) != 0); + } + for (i = 0; ; i++) + if ((ored_words[j] >> i) & 1) + { + fprintf (fp, "word %d bit %d", (int) j, (int) i); + return (fclose (fp) != 0); + } + } + fprintf (fp, "unknown"); + return (fclose (fp) != 0); } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strerror_0_works=yes + gl_cv_cc_double_expbit0=`cat conftest.out` else - gl_cv_func_strerror_0_works=no + gl_cv_cc_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + rm -f conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 -$as_echo "$gl_cv_func_strerror_0_works" >&6; } - case "$gl_cv_func_strerror_0_works" in - *yes) ;; - *) - REPLACE_STRERROR_0=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 +$as_echo "$gl_cv_cc_double_expbit0" >&6; } + case "$gl_cv_cc_double_expbit0" in + word*bit*) + word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` + bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` -$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define DBL_EXPBIT0_WORD $word +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define DBL_EXPBIT0_BIT $bit +_ACEOF ;; esac @@ -22393,174 +19439,378 @@ $as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h + for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include +" +if test "x$ac_cv_have_decl__snprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SNPRINTF $ac_have_decl +_ACEOF + + + + case "$gl_cv_func_snprintf_retval_c99" in + *yes) +$as_echo "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h + ;; + esac + XGETTEXT_EXTRA_OPTIONS= + ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default" +if test "x$ac_cv_have_decl_vsnprintf" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_VSNPRINTF $ac_have_decl +_ACEOF - : + GNULIB_BTOWC=0; + GNULIB_WCTOB=0; + GNULIB_MBSINIT=0; + GNULIB_MBRTOWC=0; + GNULIB_MBRLEN=0; + GNULIB_MBSRTOWCS=0; + GNULIB_MBSNRTOWCS=0; + GNULIB_WCRTOMB=0; + GNULIB_WCSRTOMBS=0; + GNULIB_WCSNRTOMBS=0; + GNULIB_WCWIDTH=0; + GNULIB_WMEMCHR=0; + GNULIB_WMEMCMP=0; + GNULIB_WMEMCPY=0; + GNULIB_WMEMMOVE=0; + GNULIB_WMEMSET=0; + GNULIB_WCSLEN=0; + GNULIB_WCSNLEN=0; + GNULIB_WCSCPY=0; + GNULIB_WCPCPY=0; + GNULIB_WCSNCPY=0; + GNULIB_WCPNCPY=0; + GNULIB_WCSCAT=0; + GNULIB_WCSNCAT=0; + GNULIB_WCSCMP=0; + GNULIB_WCSNCMP=0; + GNULIB_WCSCASECMP=0; + GNULIB_WCSNCASECMP=0; + GNULIB_WCSCOLL=0; + GNULIB_WCSXFRM=0; + GNULIB_WCSDUP=0; + GNULIB_WCSCHR=0; + GNULIB_WCSRCHR=0; + GNULIB_WCSCSPN=0; + GNULIB_WCSSPN=0; + GNULIB_WCSPBRK=0; + GNULIB_WCSSTR=0; + GNULIB_WCSTOK=0; + GNULIB_WCSWIDTH=0; + HAVE_BTOWC=1; + HAVE_MBSINIT=1; + HAVE_MBRTOWC=1; + HAVE_MBRLEN=1; + HAVE_MBSRTOWCS=1; + HAVE_MBSNRTOWCS=1; + HAVE_WCRTOMB=1; + HAVE_WCSRTOMBS=1; + HAVE_WCSNRTOMBS=1; + HAVE_WMEMCHR=1; + HAVE_WMEMCMP=1; + HAVE_WMEMCPY=1; + HAVE_WMEMMOVE=1; + HAVE_WMEMSET=1; + HAVE_WCSLEN=1; + HAVE_WCSNLEN=1; + HAVE_WCSCPY=1; + HAVE_WCPCPY=1; + HAVE_WCSNCPY=1; + HAVE_WCPNCPY=1; + HAVE_WCSCAT=1; + HAVE_WCSNCAT=1; + HAVE_WCSCMP=1; + HAVE_WCSNCMP=1; + HAVE_WCSCASECMP=1; + HAVE_WCSNCASECMP=1; + HAVE_WCSCOLL=1; + HAVE_WCSXFRM=1; + HAVE_WCSDUP=1; + HAVE_WCSCHR=1; + HAVE_WCSRCHR=1; + HAVE_WCSCSPN=1; + HAVE_WCSSPN=1; + HAVE_WCSPBRK=1; + HAVE_WCSSTR=1; + HAVE_WCSTOK=1; + HAVE_WCSWIDTH=1; + HAVE_DECL_WCTOB=1; + HAVE_DECL_WCWIDTH=1; + REPLACE_MBSTATE_T=0; + REPLACE_BTOWC=0; + REPLACE_WCTOB=0; + REPLACE_MBSINIT=0; + REPLACE_MBRTOWC=0; + REPLACE_MBRLEN=0; + REPLACE_MBSRTOWCS=0; + REPLACE_MBSNRTOWCS=0; + REPLACE_WCRTOMB=0; + REPLACE_WCSRTOMBS=0; + REPLACE_WCSNRTOMBS=0; + REPLACE_WCWIDTH=0; + REPLACE_WCSWIDTH=0; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 +$as_echo_n "checking whether uses 'inline' correctly... " >&6; } +if ${gl_cv_header_wchar_h_correct_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_wchar_h_correct_inline=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define wcstod renamed_wcstod +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +extern int zero (void); +int main () { return zero(); } + +_ACEOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + mv conftest.$ac_objext conftest1.$ac_objext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #define wcstod renamed_wcstod +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#include +#include +#include +#include +int zero (void) { return 0; } +_ACEOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + mv conftest.$ac_objext conftest2.$ac_objext + if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then + : + else + gl_cv_header_wchar_h_correct_inline=no + fi + fi + fi + rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 +$as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; } + if test $gl_cv_header_wchar_h_correct_inline = no; then + as_fn_error $? " cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). +This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in +C99 mode. You have four options: + - Add the flag -fgnu89-inline to CC and reconfigure, or + - Fix your include files, using parts of + , or + - Use a gcc version older than 4.3, or + - Don't use the flags -std=c99 or -std=gnu99. +Configuration aborted." "$LINENO" 5 + fi - if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror_r with POSIX signature" >&5 -$as_echo_n "checking for strerror_r with POSIX signature... " >&6; } -if ${gl_cv_func_strerror_r_posix_signature+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int strerror_r (int, char *, size_t); + GNULIB_FCNTL=0; + GNULIB_NONBLOCKING=0; + GNULIB_OPEN=0; + GNULIB_OPENAT=0; + HAVE_FCNTL=1; + HAVE_OPENAT=1; + REPLACE_FCNTL=0; + REPLACE_OPEN=0; + REPLACE_OPENAT=0; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_strerror_r_posix_signature=yes -else - gl_cv_func_strerror_r_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_posix_signature" >&5 -$as_echo "$gl_cv_func_strerror_r_posix_signature" >&6; } - if test $gl_cv_func_strerror_r_posix_signature = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r works" >&5 -$as_echo_n "checking whether strerror_r works... " >&6; } -if ${gl_cv_func_strerror_r_works+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5 +$as_echo_n "checking for working fcntl.h... " >&6; } +if ${gl_cv_header_working_fcntl_h+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - - case "$host_os" in - # Guess no on AIX. - aix*) gl_cv_func_strerror_r_works="guessing no";; - # Guess no on HP-UX. - hpux*) gl_cv_func_strerror_r_works="guessing no";; - # Guess no on BSD variants. - *bsd*) gl_cv_func_strerror_r_works="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_strerror_r_works="guessing yes";; - esac - + gl_cv_header_working_fcntl_h=cross-compiling else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include +#include + #include + #include + #include + #ifndef O_NOATIME + #define O_NOATIME 0 + #endif + #ifndef O_NOFOLLOW + #define O_NOFOLLOW 0 + #endif + static int const constants[] = + { + O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, + O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY + }; int main () { -int result = 0; - char buf[79]; - if (strerror_r (EACCES, buf, 0) < 0) - result |= 1; - errno = 0; - if (strerror_r (EACCES, buf, sizeof buf) != 0) - result |= 2; - strcpy (buf, "Unknown"); - if (strerror_r (0, buf, sizeof buf) != 0) - result |= 4; - if (errno) - result |= 8; - if (strstr (buf, "nknown") || strstr (buf, "ndefined")) - result |= 0x10; - errno = 0; - *buf = 0; - if (strerror_r (-3, buf, sizeof buf) < 0) - result |= 0x20; - if (errno) - result |= 0x40; - if (!*buf) - result |= 0x80; - return result; + int status = !constants; + { + static char const sym[] = "conftest.sym"; + if (symlink (".", sym) != 0 + || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) + status |= 32; + unlink (sym); + } + { + static char const file[] = "confdefs.h"; + int fd = open (file, O_RDONLY | O_NOATIME); + char c; + struct stat st0, st1; + if (fd < 0 + || fstat (fd, &st0) != 0 + || sleep (1) != 0 + || read (fd, &c, 1) != 1 + || close (fd) != 0 + || stat (file, &st1) != 0 + || st0.st_atime != st1.st_atime) + status |= 64; + } + return status; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strerror_r_works=yes + gl_cv_header_working_fcntl_h=yes else - gl_cv_func_strerror_r_works=no + case $? in #( + 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( + 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( + 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( + *) gl_cv_header_working_fcntl_h='no';; + esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 -$as_echo "$gl_cv_func_strerror_r_works" >&6; } - else +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 +$as_echo "$gl_cv_header_working_fcntl_h" >&6; } - : + case $gl_cv_header_working_fcntl_h in #( + *O_NOATIME* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac + +cat >>confdefs.h <<_ACEOF +#define HAVE_WORKING_O_NOATIME $ac_val +_ACEOF + + + case $gl_cv_header_working_fcntl_h in #( + *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( + *) ac_val=1;; + esac + +cat >>confdefs.h <<_ACEOF +#define HAVE_WORKING_O_NOFOLLOW $ac_val +_ACEOF - if test $ac_cv_func___xpg_strerror_r = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __xpg_strerror_r works" >&5 -$as_echo_n "checking whether __xpg_strerror_r works... " >&6; } -if ${gl_cv_func_strerror_r_works+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 +$as_echo_n "checking whether ungetc works on arbitrary bytes... " >&6; } +if ${gl_cv_func_ungetc_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - gl_cv_func_strerror_r_works="guessing no" + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_ungetc_works="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - extern - #ifdef __cplusplus - "C" - #endif - int __xpg_strerror_r(int, char *, size_t); + +#include int main () { -int result = 0; - char buf[256] = "^"; - char copy[256]; - char *str = strerror (-1); - strcpy (copy, str); - if (__xpg_strerror_r (-2, buf, 1) == 0) - result |= 1; - if (*buf) - result |= 2; - __xpg_strerror_r (-2, buf, 256); - if (strcmp (str, copy)) - result |= 4; - return result; - +FILE *f; + if (!(f = fopen ("conftest.tmp", "w+"))) return 1; + if (fputs ("abc", f) < 0) return 2; + rewind (f); + if (fgetc (f) != 'a') return 3; + if (fgetc (f) != 'b') return 4; + if (ungetc ('d', f) != 'd') return 5; + if (ftell (f) != 1) return 6; + if (fgetc (f) != 'd') return 7; + if (ftell (f) != 2) return 8; + if (fseek (f, 0, SEEK_CUR) != 0) return 9; + if (ftell (f) != 2) return 10; + if (fgetc (f) != 'c') return 11; + fclose (f); remove ("conftest.tmp"); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strerror_r_works=yes + gl_cv_func_ungetc_works=yes else - gl_cv_func_strerror_r_works=no + gl_cv_func_ungetc_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -22568,126 +19818,44 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_r_works" >&5 -$as_echo "$gl_cv_func_strerror_r_works" >&6; } - fi - fi - fi - fi - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_string_h='<'string.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_string_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'string.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 +$as_echo "$gl_cv_func_ungetc_works" >&6; } + case "$gl_cv_func_ungetc_works" in + *yes) ;; + *) -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 -$as_echo "$gl_cv_next_string_h" >&6; } - fi - NEXT_STRING_H=$gl_cv_next_string_h +$as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'string.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_string_h - fi - NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive + ;; + esac - for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF + GNULIB_IMAXABS=0; + GNULIB_IMAXDIV=0; + GNULIB_STRTOIMAX=0; + GNULIB_STRTOUMAX=0; + HAVE_DECL_IMAXABS=1; + HAVE_DECL_IMAXDIV=1; + HAVE_DECL_STRTOIMAX=1; + HAVE_DECL_STRTOUMAX=1; + REPLACE_STRTOIMAX=0; + REPLACE_STRTOUMAX=0; + INT32_MAX_LT_INTMAX_MAX=1; + INT64_MAX_EQ_LONG_MAX='defined _LP64'; + PRI_MACROS_BROKEN=0; + PRIPTR_PREFIX=__PRIPTR_PREFIX; + UINT32_MAX_LT_UINTMAX_MAX=1; + UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; - eval ac_cv_have_decl_$gl_func=yes -fi - done + : @@ -22711,79 +19879,79 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_strings_h='<'strings.h'>' + gl_cv_next_inttypes_h='<'inttypes.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_strings_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_inttypes_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_strings_h = yes; then + if test $ac_cv_header_inttypes_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'strings.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'inttypes.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_inttypes_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_inttypes_h + gl_cv_next_inttypes_h='"'$gl_header'"' else - gl_cv_next_strings_h='<'strings.h'>' + gl_cv_next_inttypes_h='<'inttypes.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_strings_h" >&5 -$as_echo "$gl_cv_next_strings_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 +$as_echo "$gl_cv_next_inttypes_h" >&6; } fi - NEXT_STRINGS_H=$gl_cv_next_strings_h + NEXT_INTTYPES_H=$gl_cv_next_inttypes_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'strings.h'>' + gl_next_as_first_directive='<'inttypes.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_strings_h + gl_next_as_first_directive=$gl_cv_next_inttypes_h fi - NEXT_AS_FIRST_DIRECTIVE_STRINGS_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive - if test $ac_cv_header_strings_h = yes; then - HAVE_STRINGS_H=1 - else - HAVE_STRINGS_H=0 - fi - for gl_func in ffs strcasecmp strncasecmp; do + + for gl_func in imaxabs imaxdiv strtoimax strtoumax; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -22792,11 +19960,7 @@ if eval \${$as_gl_Symbol+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - /* Minix 3.1.8 has a bug: must be included before - . */ - #include - #include +#include int main () @@ -22828,1321 +19992,707 @@ fi - ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default" -if test "x$ac_cv_have_decl_strndup" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNDUP $ac_have_decl -_ACEOF - - - - - - - - - ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" -if test "x$ac_cv_have_decl_strnlen" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNLEN $ac_have_decl + for ac_header in inttypes.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" +if test "x$ac_cv_header_inttypes_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H 1 _ACEOF - - - ac_fn_c_check_decl "$LINENO" "strtok_r" "ac_cv_have_decl_strtok_r" "$ac_includes_default" -if test "x$ac_cv_have_decl_strtok_r" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOK_R $ac_have_decl -_ACEOF - - - - - - - - - - - - - - - +done - gl_threads_api=none - LIBTHREAD= - LTLIBTHREAD= - LIBMULTITHREAD= - LTLIBMULTITHREAD= - if test "$gl_use_threads" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 -$as_echo_n "checking whether imported symbols can be declared weak... " >&6; } -if ${gl_cv_have_weak+:} false; then : + if test $ac_cv_header_inttypes_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 +$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } +if ${gt_cv_inttypes_pri_broken+:} false; then : $as_echo_n "(cached) " >&6 else - gl_cv_have_weak=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -extern void xyzzy (); -#pragma weak xyzzy +#include +#ifdef PRId32 +char *p = PRId32; +#endif + int main () { -xyzzy(); + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_have_weak=maybe -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_have_weak = maybe; then - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __ELF__ - Extensible Linking Format - #endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Extensible Linking Format" >/dev/null 2>&1; then : - gl_cv_have_weak="guessing yes" -else - gl_cv_have_weak="guessing no" -fi -rm -f conftest* - - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#pragma weak fputs -int main () -{ - return (fputs == NULL); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_have_weak=yes +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_inttypes_pri_broken=no else - gl_cv_have_weak=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gt_cv_inttypes_pri_broken=yes fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 -$as_echo "$gl_cv_have_weak" >&6; } - if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then - # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that - # it groks . It's added above, in gl_THREADLIB_EARLY_BODY. - ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = xyes; then : - gl_have_pthread_h=yes -else - gl_have_pthread_h=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 +$as_echo "$gt_cv_inttypes_pri_broken" >&6; } + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then - - if test "$gl_have_pthread_h" = yes; then - # Other possible tests: - # -lpthreads (FSU threads, PCthreads) - # -lgthreads - gl_have_pthread= - # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist - # in libc. IRIX 6.5 has the first one in both libc and libpthread, but - # the second one only in libpthread, and lock.c needs it. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -pthread_mutex_lock((pthread_mutex_t*)0); - pthread_mutexattr_init((pthread_mutexattr_t*)0); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define PRI_MACROS_BROKEN 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_have_pthread=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - # Test for libpthread by looking for pthread_kill. (Not pthread_self, - # since it is defined as a macro on OSF/1.) - if test -n "$gl_have_pthread"; then - # The program links fine without libpthread. But it may actually - # need to link with libpthread in order to create multiple threads. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 -$as_echo_n "checking for pthread_kill in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_kill+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); -int -main () -{ -return pthread_kill (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } -if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : - LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - case "$host_os" in - solaris* | hpux*) + PRI_MACROS_BROKEN=1 + else + PRI_MACROS_BROKEN=0 + fi -$as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h - esac -fi - else - # Some library is needed. Try libpthread and libc_r. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 -$as_echo_n "checking for pthread_kill in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_kill+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); -int -main () -{ -return pthread_kill (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_kill=yes -else - ac_cv_lib_pthread_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } -if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : - gl_have_pthread=yes - LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread - LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread -fi - if test -z "$gl_have_pthread"; then - # For FreeBSD 4. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 -$as_echo_n "checking for pthread_kill in -lc_r... " >&6; } -if ${ac_cv_lib_c_r_pthread_kill+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lc_r $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_kill (); -int -main () -{ -return pthread_kill (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_c_r_pthread_kill=yes + + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' else - ac_cv_lib_c_r_pthread_kill=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 -$as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; } -if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then : - gl_have_pthread=yes - LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r - LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= fi - fi - fi - if test -n "$gl_have_pthread"; then - gl_threads_api=posix + gl_cond_libtool=true + gl_m4_base='gl/m4' -$as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then -$as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h - LIBTHREAD= - LTLIBTHREAD= - fi - fi - fi - fi - fi - if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then - gl_have_solaristhread= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lthread" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -thr_self(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_have_solaristhread=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - if test -n "$gl_have_solaristhread"; then - gl_threads_api=solaris - LIBTHREAD=-lthread - LTLIBTHREAD=-lthread - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" -$as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then -$as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h - LIBTHREAD= - LTLIBTHREAD= - fi - fi - fi - fi - if test "$gl_use_threads" = pth; then - gl_save_CPPFLAGS="$CPPFLAGS" + gl_source_base='gl' +LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` + if test $ac_cv_func_alloca_works = no; then + : + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 -$as_echo_n "checking how to link with libpth... " >&6; } -if ${ac_cv_libpth_libs+:} false; then : + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if ${gl_cv_rpl_alloca+:} false; then : $as_echo_n "(cached) " >&6 else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then : + gl_cv_rpl_alloca=yes +else + gl_cv_rpl_alloca=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + ALLOCA_H=alloca.h + else + ALLOCA_H= + fi + else + ALLOCA_H=alloca.h + fi - use_additional=yes + if test -n "$ALLOCA_H"; then + GL_GENERATE_ALLOCA_H_TRUE= + GL_GENERATE_ALLOCA_H_FALSE='#' +else + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE= +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -# Check whether --with-libpth-prefix was given. -if test "${with_libpth_prefix+set}" = set; then : - withval=$with_libpth_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + for ac_header in byteswap.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default" +if test "x$ac_cv_header_byteswap_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BYTESWAP_H 1 +_ACEOF - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi + BYTESWAP_H='' + +else + + BYTESWAP_H='byteswap.h' fi - LIBPTH= - LTLIBPTH= - INCPTH= - LIBPTH_PREFIX= - HAVE_LIBPTH= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='pth ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBPTH; do +done - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBPTH; do + if test -n "$BYTESWAP_H"; then + GL_GENERATE_BYTESWAP_H_TRUE= + GL_GENERATE_BYTESWAP_H_FALSE='#' +else + GL_GENERATE_BYTESWAP_H_TRUE='#' + GL_GENERATE_BYTESWAP_H_FALSE= +fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'pth'; then - LIBPTH_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'pth'; then - LIBPTH_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCPTH; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBPTH; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBPTH; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + FLOAT_H= + REPLACE_FLOAT_LDBL=0 + case "$host_os" in + aix* | beos* | openbsd* | mirbsd* | irix*) + FLOAT_H=float.h + ;; + freebsd*) + case "$host_cpu" in + i[34567]86 ) + FLOAT_H=float.h + ;; + x86_64 ) + # On x86_64 systems, the C compiler may still be generating + # 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __x86_64__ || defined __amd64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" - ;; - esac - done - fi - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" - fi - fi +else + FLOAT_H=float.h +fi +rm -f conftest* + + ;; + esac + ;; + linux*) + case "$host_cpu" in + powerpc*) + FLOAT_H=float.h + ;; + esac + ;; + esac + case "$host_os" in + aix* | freebsd* | linux*) + if test -n "$FLOAT_H"; then + REPLACE_FLOAT_LDBL=1 fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" - done - fi + ;; + esac + REPLACE_ITOLD=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5 +$as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; } +if ${gl_cv_func_itold_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host" in + sparc*-*-linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __arch64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_func_itold_works="guessing no" +else + gl_cv_func_itold_works="guessing yes" +fi +rm -f conftest* + ;; + *) gl_cv_func_itold_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i = -1; +volatile long double ld; +int main () +{ + ld += i * 1.0L; + if (ld > 0) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_itold_works=yes +else + gl_cv_func_itold_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - ac_cv_libpth_libs="$LIBPTH" - ac_cv_libpth_ltlibs="$LTLIBPTH" - ac_cv_libpth_cppflags="$INCPTH" - ac_cv_libpth_prefix="$LIBPTH_PREFIX" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 -$as_echo "$ac_cv_libpth_libs" >&6; } - LIBPTH="$ac_cv_libpth_libs" - LTLIBPTH="$ac_cv_libpth_ltlibs" - INCPTH="$ac_cv_libpth_cppflags" - LIBPTH_PREFIX="$ac_cv_libpth_prefix" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5 +$as_echo "$gl_cv_func_itold_works" >&6; } + case "$gl_cv_func_itold_works" in + *no) + REPLACE_ITOLD=1 + FLOAT_H=float.h + ;; + esac + + if test -n "$FLOAT_H"; then - for element in $INCPTH; do - haveit= - for x in $CPPFLAGS; do - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - HAVE_LIBPTH=yes + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_float_h='<'float.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_float_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - gl_have_pth= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lpth" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ -pth_self(); - ; - return 0; -} +#include _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_have_pth=yes + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'float.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_float_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_float_h + gl_cv_next_float_h='"'$gl_header'"' + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - if test -n "$gl_have_pth"; then - gl_threads_api=pth - LIBTHREAD="$LIBPTH" - LTLIBTHREAD="$LTLIBPTH" - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 +$as_echo "$gl_cv_next_float_h" >&6; } + fi + NEXT_FLOAT_H=$gl_cv_next_float_h -$as_echo "#define USE_PTH_THREADS 1" >>confdefs.h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'float.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_float_h + fi + NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then -$as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h - LIBTHREAD= - LTLIBTHREAD= - fi - fi - else - CPPFLAGS="$gl_save_CPPFLAGS" - fi - fi - if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then - if { case "$host_os" in - mingw*) true;; - *) false;; - esac - }; then - gl_threads_api=win32 -$as_echo "#define USE_WIN32_THREADS 1" >>confdefs.h + fi + + if test -n "$FLOAT_H"; then + GL_GENERATE_FLOAT_H_TRUE= + GL_GENERATE_FLOAT_H_FALSE='#' +else + GL_GENERATE_FLOAT_H_TRUE='#' + GL_GENERATE_FLOAT_H_FALSE= +fi + + + + if test $REPLACE_FLOAT_LDBL = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS float.$ac_objext" - fi - fi - fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5 -$as_echo_n "checking for multithread API to use... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5 -$as_echo "$gl_threads_api" >&6; } + if test $REPLACE_ITOLD = 1; then - GNULIB_MKTIME=0; - GNULIB_NANOSLEEP=0; - GNULIB_STRPTIME=0; - GNULIB_TIMEGM=0; - GNULIB_TIME_R=0; - HAVE_DECL_LOCALTIME_R=1; - HAVE_NANOSLEEP=1; - HAVE_STRPTIME=1; - HAVE_TIMEGM=1; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; + gl_LIBOBJS="$gl_LIBOBJS itold.$ac_objext" - : + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FSTAT=1 + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if ${gl_cv_sys_struct_timespec_in_time_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_time_h=yes -else - gl_cv_sys_struct_timespec_in_time_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + REPLACE_FSTAT=1 + fi - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if ${gl_cv_sys_struct_timespec_in_sys_time_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_sys_time_h=yes -else - gl_cv_sys_struct_timespec_in_sys_time_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if ${gl_cv_sys_struct_timespec_in_pthread_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -static struct timespec x; x.tv_sec = x.tv_nsec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_pthread_h=yes -else - gl_cv_sys_struct_timespec_in_pthread_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 - fi - fi + if test $REPLACE_FSTAT = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" + + : fi + GNULIB_FSTAT=1 +$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_time_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then + REPLACE_FTELL=1 + fi -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac + if test $REPLACE_FTELL = 1; then - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'time.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 -$as_echo "$gl_cv_next_time_h" >&6; } - fi - NEXT_TIME_H=$gl_cv_next_time_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'time.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_time_h - fi - NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive + gl_LIBOBJS="$gl_LIBOBJS ftell.$ac_objext" + fi + GNULIB_FTELL=1 +$as_echo "#define GNULIB_TEST_FTELL 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 -$as_echo_n "checking for wint_t... " >&6; } -if ${gt_cv_c_wint_t+:} false; then : + + + + + + + + + + : + + + + + + if test $ac_cv_have_decl_ftello = no; then + HAVE_DECL_FTELLO=0 + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 +$as_echo_n "checking for ftello... " >&6; } +if ${gl_cv_func_ftello+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be included - before . */ -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ #include -#include -#include - wint_t foo = (wchar_t)'\0'; int main () { - +ftello (stdin); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wint_t=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_ftello=yes else - gt_cv_c_wint_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_func_ftello=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 -$as_echo "$gt_cv_c_wint_t" >&6; } - if test $gt_cv_c_wint_t = yes; then - -$as_echo "#define HAVE_WINT_T 1" >>confdefs.h - - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 +$as_echo "$gl_cv_func_ftello" >&6; } + if test $gl_cv_func_ftello = no; then + HAVE_FTELLO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FTELLO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FTELLO=1 + fi + if test $REPLACE_FTELLO = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if ${gl_cv_header_inttypes_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 +$as_echo_n "checking whether ftello works... " >&6; } +if ${gl_cv_func_ftello_works+:} false; then : $as_echo_n "(cached) " >&6 else + + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_func_ftello_works="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_ftello_works="guessing yes" ;; + esac + if test "$cross_compiling" = yes; then : + : +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include + +#include +#include +#include +#define TESTFILE "conftest.tmp" int -main () +main (void) { -uintmax_t i = (uintmax_t) -1; return !i; - ; + FILE *fp; + + /* Create a file with some contents. */ + fp = fopen (TESTFILE, "w"); + if (fp == NULL) + return 70; + if (fwrite ("foogarsh", 1, 8, fp) < 8) + return 71; + if (fclose (fp)) + return 72; + + /* The file's contents is now "foogarsh". */ + + /* Try writing after reading to EOF. */ + fp = fopen (TESTFILE, "r+"); + if (fp == NULL) + return 73; + if (fseek (fp, -1, SEEK_END)) + return 74; + if (!(getc (fp) == 'h')) + return 1; + if (!(getc (fp) == EOF)) + return 2; + if (!(ftell (fp) == 8)) + return 3; + if (!(ftell (fp) == 8)) + return 4; + if (!(putc ('!', fp) == '!')) + return 5; + if (!(ftell (fp) == 9)) + return 6; + if (!(fclose (fp) == 0)) + return 7; + fp = fopen (TESTFILE, "r"); + if (fp == NULL) + return 75; + { + char buf[10]; + if (!(fread (buf, 1, 10, fp) == 9)) + return 10; + if (!(memcmp (buf, "foogarsh!", 9) == 0)) + return 11; + } + if (!(fclose (fp) == 0)) + return 12; + + /* The file's contents is now "foogarsh!". */ + return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_inttypes_h=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_ftello_works=yes else - gl_cv_header_inttypes_h=no + gl_cv_func_ftello_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 +$as_echo "$gl_cv_func_ftello_works" >&6; } + case "$gl_cv_func_ftello_works" in + *yes) ;; + *) + REPLACE_FTELLO=1 + +$as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h + + ;; + esac + fi fi + if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if ${gl_cv_header_stdint_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS ftello.$ac_objext" + + + for ac_func in _ftelli64 +do : + ac_fn_c_check_func "$LINENO" "_ftelli64" "ac_cv_func__ftelli64" +if test "x$ac_cv_func__ftelli64" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FTELLI64 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_h=yes -else - gl_cv_header_stdint_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then +done -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 -$as_echo_n "checking for intmax_t... " >&6; } -if ${gt_cv_c_intmax_t+:} false; then : + + GNULIB_FTELLO=1 + + + + + +$as_echo "#define GNULIB_TEST_FTELLO 1" >>confdefs.h + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __func__ is available" >&5 +$as_echo_n "checking whether __func__ is available... " >&6; } +if ${gl_cv_var_func+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -#include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -#include -#endif - int main () { -intmax_t x = -1; return !x; +const char *str = __func__; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_intmax_t=yes + gl_cv_var_func=yes else - gt_cv_c_intmax_t=no + gl_cv_var_func=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 -$as_echo "$gt_cv_c_intmax_t" >&6; } - if test $gt_cv_c_intmax_t = yes; then - -$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h - - else - - test $ac_cv_type_long_long_int = yes \ - && ac_type='long long' \ - || ac_type='long' +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_func" >&5 +$as_echo "$gl_cv_var_func" >&6; } + if test "$gl_cv_var_func" != yes; then -cat >>confdefs.h <<_ACEOF -#define intmax_t $ac_type -_ACEOF +$as_echo "#define __func__ \"\"" >>confdefs.h fi @@ -24151,1814 +20701,907 @@ _ACEOF - for ac_func in snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done + : - ac_fn_c_check_decl "$LINENO" "_snprintf" "ac_cv_have_decl__snprintf" "#include -" -if test "x$ac_cv_have_decl__snprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__SNPRINTF $ac_have_decl -_ACEOF - case "$gl_cv_func_snprintf_retval_c99" in - *yes) -$as_echo "#define HAVE_SNPRINTF_RETVAL_C99 1" >>confdefs.h - ;; - esac + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports size specifiers as in C99" >&5 -$as_echo_n "checking whether printf supports size specifiers as in C99... " >&6; } -if ${gl_cv_func_printf_sizes_c99+:} false; then : + if test $ac_cv_func_getdelim = yes; then + HAVE_GETDELIM=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5 +$as_echo_n "checking for working getdelim function... " >&6; } +if ${gl_cv_func_working_getdelim+:} false; then : $as_echo_n "(cached) " >&6 else + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test "$cross_compiling" = yes; then : +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + gl_cv_func_working_getdelim="guessing yes" +else + gl_cv_func_working_getdelim="guessing no" +fi +rm -f conftest* - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on Mac OS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; - darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on OpenBSD >= 3.9. - openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) - gl_cv_func_printf_sizes_c99="guessing no";; - openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; - solaris*) gl_cv_func_printf_sizes_c99="guessing no";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_sizes_c99="guessing no";; - netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_sizes_c99="guessing no";; - esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#include -#if HAVE_STDINT_H_WITH_UINTMAX -# include -#endif -#if HAVE_INTTYPES_H_WITH_UINTMAX -# include -#endif -static char buf[100]; -int main () -{ - int result = 0; -#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX - buf[0] = '\0'; - if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 - || strcmp (buf, "12345671 33") != 0) - result |= 1; -#endif - buf[0] = '\0'; - if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 - || strcmp (buf, "12345672 33") != 0) - result |= 2; - buf[0] = '\0'; - if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 - || strcmp (buf, "12345673 33") != 0) - result |= 4; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 - || strcmp (buf, "1.5 33") != 0) - result |= 8; - return result; -} +# include +# include +# include + int main () + { + FILE *in = fopen ("./conftest.data", "r"); + if (!in) + return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getdelim (&line, &siz, '\n', in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getdelim (&line, &siz, '\n', in) == -1) + return 3; + } + return 0; + } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_sizes_c99=yes + gl_cv_func_working_getdelim=yes else - gl_cv_func_printf_sizes_c99=no + gl_cv_func_working_getdelim=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_sizes_c99" >&5 -$as_echo "$gl_cv_func_printf_sizes_c99" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 +$as_echo "$gl_cv_func_working_getdelim" >&6; } + case "$gl_cv_func_working_getdelim" in + *no) + REPLACE_GETDELIM=1 + ;; + esac + else + HAVE_GETDELIM=0 + fi + + if test $ac_cv_have_decl_getdelim = no; then + HAVE_DECL_GETDELIM=0 + fi + if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports 'long double' arguments" >&5 -$as_echo_n "checking whether printf supports 'long double' arguments... " >&6; } -if ${gl_cv_func_printf_long_double+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - beos*) gl_cv_func_printf_long_double="guessing no";; - mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; - *) gl_cv_func_printf_long_double="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -static char buf[10000]; -int main () -{ - int result = 0; - buf[0] = '\0'; - if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000 33") != 0) - result |= 1; - buf[0] = '\0'; - if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.750000e+00 33") != 0) - result |= 2; - buf[0] = '\0'; - if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 - || strcmp (buf, "1.75 33") != 0) - result |= 4; - return result; -} + + + gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" + + + for ac_func in flockfile funlockfile +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_long_double=yes -else - gl_cv_func_printf_long_double=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +fi +done + ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_long_double" >&5 -$as_echo "$gl_cv_func_printf_long_double" >&6; } +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl +_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports infinite 'double' arguments" >&5 -$as_echo_n "checking whether printf supports infinite 'double' arguments... " >&6; } -if ${gl_cv_func_printf_infinite+:} false; then : - $as_echo_n "(cached) " >&6 -else + fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on Mac OS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; - darwin*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; - hpux*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on NetBSD >= 3. - netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) - gl_cv_func_printf_infinite="guessing no";; - netbsd*) gl_cv_func_printf_infinite="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_infinite="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite="guessing no";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static int -have_minus_zero () -{ - static double plus_zero = 0.0; - double minus_zero = - plus_zero; - return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0; -} -static char buf[10000]; -static double zero = 0.0; -int main () -{ - int result = 0; - if (sprintf (buf, "%f", 1.0 / zero) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 1; - if (sprintf (buf, "%f", -1.0 / zero) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 1; - if (sprintf (buf, "%f", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - if (sprintf (buf, "%e", 1.0 / zero) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 4; - if (sprintf (buf, "%e", -1.0 / zero) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 4; - if (sprintf (buf, "%e", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 8; - if (sprintf (buf, "%g", 1.0 / zero) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 16; - if (sprintf (buf, "%g", -1.0 / zero) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 16; - if (sprintf (buf, "%g", zero / zero) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 32; - /* This test fails on HP-UX 10.20. */ - if (have_minus_zero ()) - if (sprintf (buf, "%g", - zero) < 0 - || strcmp (buf, "-0") != 0) - result |= 64; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_infinite=yes -else - gl_cv_func_printf_infinite=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + GNULIB_GETDELIM=1 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite" >&5 -$as_echo "$gl_cv_func_printf_infinite" >&6; } +$as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h - if test -n "$gl_printf_safe"; then -$as_echo "#define CHECK_PRINTF_SAFE 1" >>confdefs.h - fi - case "$gl_cv_func_printf_long_double" in - *yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports infinite 'long double' arguments" >&5 -$as_echo_n "checking whether printf supports infinite 'long double' arguments... " >&6; } -if ${gl_cv_func_printf_infinite_long_double+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_cpu" in - # Guess no on ia64, x86_64, i386. - ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; - *) - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # Guess yes on HP-UX >= 11. - hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; - hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_infinite_long_double="guessing no";; - esac - ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on Mac OS X. */ -#include -#include -#include -#include -#include -#include -/* The exception port on which our thread listens. */ -static mach_port_t our_exception_port; -/* The main function of the thread listening for exceptions of type - EXC_BAD_ACCESS. */ -static void * -mach_exception_thread (void *arg) -{ - /* Buffer for a message to be received. */ - struct { - mach_msg_header_t head; - mach_msg_body_t msgh_body; - char data[1024]; - } msg; - mach_msg_return_t retval; - /* Wait for a message on the exception port. */ - retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), - our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (retval != MACH_MSG_SUCCESS) - abort (); - exit (1); -} -static void -nocrash_init (void) -{ - mach_port_t self = mach_task_self (); - /* Allocate a port on which the thread shall listen for exceptions. */ - if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) - == KERN_SUCCESS) { - /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ - if (mach_port_insert_right (self, our_exception_port, our_exception_port, - MACH_MSG_TYPE_MAKE_SEND) - == KERN_SUCCESS) { - /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting - for us. */ - exception_mask_t mask = EXC_MASK_BAD_ACCESS; - /* Create the thread listening on the exception port. */ - pthread_attr_t attr; - pthread_t thread; - if (pthread_attr_init (&attr) == 0 - && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 - && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { - pthread_attr_destroy (&attr); - /* Replace the exception port info for these exceptions with our own. - Note that we replace the exception port for the entire task, not only - for a particular thread. This has the effect that when our exception - port gets the message, the thread specific exception port has already - been asked, and we don't need to bother about it. - See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ - task_set_exception_ports (self, mask, our_exception_port, - EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); - } - } - } -} -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Avoid a crash on native Windows. */ -#define WIN32_LEAN_AND_MEAN -#include -#include -static LONG WINAPI -exception_filter (EXCEPTION_POINTERS *ExceptionInfo) -{ - switch (ExceptionInfo->ExceptionRecord->ExceptionCode) - { - case EXCEPTION_ACCESS_VIOLATION: - case EXCEPTION_IN_PAGE_ERROR: - case EXCEPTION_STACK_OVERFLOW: - case EXCEPTION_GUARD_PAGE: - case EXCEPTION_PRIV_INSTRUCTION: - case EXCEPTION_ILLEGAL_INSTRUCTION: - case EXCEPTION_DATATYPE_MISALIGNMENT: - case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: - case EXCEPTION_NONCONTINUABLE_EXCEPTION: - exit (1); - } - return EXCEPTION_CONTINUE_SEARCH; -} -static void -nocrash_init (void) -{ - SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); -} -#else -/* Avoid a crash on POSIX systems. */ -#include -/* A POSIX signal handler. */ -static void -exception_handler (int sig) -{ - exit (1); -} -static void -nocrash_init (void) -{ -#ifdef SIGSEGV - signal (SIGSEGV, exception_handler); -#endif -#ifdef SIGBUS - signal (SIGBUS, exception_handler); -#endif -} -#endif + : -#include -#include -#include -static int -strisnan (const char *string, size_t start_index, size_t end_index) -{ - if (start_index < end_index) - { - if (string[start_index] == '-') - start_index++; - if (start_index + 3 <= end_index - && memcmp (string + start_index, "nan", 3) == 0) - { - start_index += 3; - if (start_index == end_index - || (string[start_index] == '(' && string[end_index - 1] == ')')) - return 1; - } - } - return 0; -} -static char buf[10000]; -static long double zeroL = 0.0L; -int main () -{ - int result = 0; - nocrash_init(); - if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 1; - if (sprintf (buf, "%Le", 1.0L / zeroL) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Le", -1.0L / zeroL) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Le", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 1; - if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0 - || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0 - || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) - result |= 1; - if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 1; -#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE -/* Representation of an 80-bit 'long double' as an initializer for a sequence - of 'unsigned int' words. */ -# ifdef WORDS_BIGENDIAN -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ - ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ - (unsigned int) (mantlo) << 16 \ - } -# else -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { mantlo, manthi, exponent } -# endif - { /* Quiet NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - } - { - /* Signalling NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 2; - } - { /* Pseudo-NaN. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 4; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 4; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 4; - } - { /* Pseudo-Infinity. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 8; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 8; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 8; - } - { /* Pseudo-Zero. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 16; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 16; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 16; - } - { /* Unnormalized number. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 32; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 32; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 32; - } - { /* Pseudo-Denormal. */ - static union { unsigned int word[4]; long double value; } x = - { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; - if (sprintf (buf, "%Lf", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 64; - if (sprintf (buf, "%Le", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 64; - if (sprintf (buf, "%Lg", x.value) < 0 - || !strisnan (buf, 0, strlen (buf))) - result |= 64; - } -#endif - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_infinite_long_double=yes -else - gl_cv_func_printf_infinite_long_double=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_infinite_long_double" >&5 -$as_echo "$gl_cv_func_printf_infinite_long_double" >&6; } - ;; - *) - gl_cv_func_printf_infinite_long_double="irrelevant" - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'a' and 'A' directives" >&5 -$as_echo_n "checking whether printf supports the 'a' and 'A' directives... " >&6; } -if ${gl_cv_func_printf_directive_a+:} false; then : - $as_echo_n "(cached) " >&6 + gl_getline_needs_run_time_check=no + ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" +if test "x$ac_cv_func_getline" = xyes; then : + gl_getline_needs_run_time_check=yes else + am_cv_func_working_getline=no +fi - if test "$cross_compiling" = yes; then : - - case "$host_os" in - # Guess yes on glibc >= 2.5 systems. - *-gnu*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test $gl_getline_needs_run_time_check = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 +$as_echo_n "checking for working getline function... " >&6; } +if ${am_cv_func_working_getline+:} false; then : + $as_echo_n "(cached) " >&6 +else + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #ifdef __GNU_LIBRARY__ - #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)) && !defined __UCLIBC__ - BZ2908 - #endif - #endif +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif +#endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "BZ2908" >/dev/null 2>&1; then : - gl_cv_func_printf_directive_a="guessing yes" + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + am_cv_func_working_getline="guessing yes" else - gl_cv_func_printf_directive_a="guessing no" + am_cv_func_working_getline="guessing no" fi rm -f conftest* - ;; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_a="guessing no";; - esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -static char buf[100]; -static double zero = 0.0; -int main () -{ - int result = 0; - if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.922p+1 33") != 0 - && strcmp (buf, "0x3.244p+0 33") != 0 - && strcmp (buf, "0x6.488p-1 33") != 0 - && strcmp (buf, "0xc.91p-2 33") != 0)) - result |= 1; - if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 - || (strcmp (buf, "-0X1.922P+1 33") != 0 - && strcmp (buf, "-0X3.244P+0 33") != 0 - && strcmp (buf, "-0X6.488P-1 33") != 0 - && strcmp (buf, "-0XC.91P-2 33") != 0)) - result |= 2; - /* This catches a FreeBSD 6.1 bug: it doesn't round. */ - if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 - || (strcmp (buf, "0x1.83p+0 33") != 0 - && strcmp (buf, "0x3.05p-1 33") != 0 - && strcmp (buf, "0x6.0ap-2 33") != 0 - && strcmp (buf, "0xc.14p-3 33") != 0)) - result |= 4; - /* This catches a FreeBSD 6.1 bug. See - */ - if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0 - || buf[0] == '0') - result |= 8; - /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */ - if (sprintf (buf, "%.1a", 1.999) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - result |= 16; - /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a - glibc 2.4 bug . */ - if (sprintf (buf, "%.1La", 1.999L) < 0 - || (strcmp (buf, "0x1.0p+1") != 0 - && strcmp (buf, "0x2.0p+0") != 0 - && strcmp (buf, "0x4.0p-1") != 0 - && strcmp (buf, "0x8.0p-2") != 0)) - result |= 32; - return result; -} +# include +# include +# include + int main () + { + FILE *in = fopen ("./conftest.data", "r"); + if (!in) + return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getline (&line, &siz, in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getline (&line, &siz, in) == -1) + return 3; + } + return 0; + } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_directive_a=yes + am_cv_func_working_getline=yes else - gl_cv_func_printf_directive_a=no + am_cv_func_working_getline=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_a" >&5 -$as_echo "$gl_cv_func_printf_directive_a" >&6; } - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 +$as_echo "$am_cv_func_working_getline" >&6; } + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'F' directive" >&5 -$as_echo_n "checking whether printf supports the 'F' directive... " >&6; } -if ${gl_cv_func_printf_directive_f+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test $ac_cv_have_decl_getline = no; then + HAVE_DECL_GETLINE=0 + fi - if test "$cross_compiling" = yes; then : + case "$am_cv_func_working_getline" in + *no) + REPLACE_GETLINE=1 + ;; + esac - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on FreeBSD >= 6. - freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on Mac OS X >= 10.3. - darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; - darwin*) gl_cv_func_printf_directive_f="guessing yes";; - # Guess yes on Solaris >= 2.10. - solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";; - solaris*) gl_cv_func_printf_sizes_c99="guessing no";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_directive_f="guessing no";; - esac + if test $REPLACE_GETLINE = 1; then -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -static char buf[100]; -static double zero = 0.0; -int main () -{ - int result = 0; - if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 - || strcmp (buf, "1234567.000000 33") != 0) - result |= 1; - if (sprintf (buf, "%F", 1.0 / zero) < 0 - || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) - result |= 2; - /* This catches a Cygwin 1.5.x bug. */ - if (sprintf (buf, "%.F", 1234.0) < 0 - || strcmp (buf, "1234") != 0) - result |= 4; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_directive_f=yes -else - gl_cv_func_printf_directive_f=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_f" >&5 -$as_echo "$gl_cv_func_printf_directive_f" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'n' directive" >&5 -$as_echo_n "checking whether printf supports the 'n' directive... " >&6; } -if ${gl_cv_func_printf_directive_n+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : + gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" - case "$host_os" in - mingw*) gl_cv_func_printf_directive_n="guessing no";; - *) gl_cv_func_printf_directive_n="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + : -#include -#include -#include -#ifdef _MSC_VER -/* See page about "Parameter Validation" on msdn.microsoft.com. */ -static void cdecl -invalid_parameter_handler (const wchar_t *expression, - const wchar_t *function, - const wchar_t *file, unsigned int line, - uintptr_t dummy) -{ - exit (1); -} -#endif -static char fmtstring[10]; -static char buf[100]; -int main () -{ - int count = -1; -#ifdef _MSC_VER - _set_invalid_parameter_handler (invalid_parameter_handler); -#endif - /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) - support %n in format strings in read-only memory but not in writable - memory. */ - strcpy (fmtstring, "%d %n"); - if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 - || strcmp (buf, "123 ") != 0 - || count != 4) - return 1; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_directive_n=yes -else - gl_cv_func_printf_directive_n=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_n" >&5 -$as_echo "$gl_cv_func_printf_directive_n" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the 'ls' directive" >&5 -$as_echo_n "checking whether printf supports the 'ls' directive... " >&6; } -if ${gl_cv_func_printf_directive_ls+:} false; then : - $as_echo_n "(cached) " >&6 -else + GNULIB_GETLINE=1 - if test "$cross_compiling" = yes; then : - case "$host_os" in - openbsd*) gl_cv_func_printf_directive_ls="guessing no";; - irix*) gl_cv_func_printf_directive_ls="guessing no";; - solaris*) gl_cv_func_printf_directive_ls="guessing no";; - cygwin*) gl_cv_func_printf_directive_ls="guessing no";; - beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";; - *) gl_cv_func_printf_directive_ls="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -#include -int main () -{ - int result = 0; - char buf[100]; - /* Test whether %ls works at all. - This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on - Cygwin 1.5. */ - { - static const wchar_t wstring[] = { 'a', 'b', 'c', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "abc") != 0) - result |= 1; - } - /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an - assertion failure inside libc), but not on OpenBSD 4.0. */ - { - static const wchar_t wstring[] = { 'a', 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%ls", wstring) < 0 - || strcmp (buf, "a") != 0) - result |= 2; - } - /* Test whether precisions in %ls are supported as specified in ISO C 99 - section 7.19.6.1: - "If a precision is specified, no more than that many bytes are written - (including shift sequences, if any), and the array shall contain a - null wide character if, to equal the multibyte character sequence - length given by the precision, the function would need to access a - wide character one past the end of the array." - This test fails on Solaris 10. */ - { - static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 }; - buf[0] = '\0'; - if (sprintf (buf, "%.2ls", wstring) < 0 - || strcmp (buf, "ab") != 0) - result |= 8; - } - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_directive_ls=yes -else - gl_cv_func_printf_directive_ls=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +$as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_directive_ls" >&5 -$as_echo "$gl_cv_func_printf_directive_ls" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the grouping flag" >&5 -$as_echo_n "checking whether printf supports the grouping flag... " >&6; } -if ${gl_cv_func_printf_flag_grouping+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; - netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; - mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; - *) gl_cv_func_printf_flag_grouping="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -static char buf[100]; -int main () -{ - if (sprintf (buf, "%'d %d", 1234567, 99) < 0 - || buf[strlen (buf) - 1] != '9') - return 1; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_flag_grouping=yes -else - gl_cv_func_printf_flag_grouping=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_grouping" >&5 -$as_echo "$gl_cv_func_printf_flag_grouping" >&6; } + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the left-adjust flag correctly" >&5 -$as_echo_n "checking whether printf supports the left-adjust flag correctly... " >&6; } -if ${gl_cv_func_printf_flag_leftadjust+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on HP-UX 11. - hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; - # Guess no on HP-UX 10 and older. - hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_printf_flag_leftadjust="guessing yes";; - esac + + + gl_gettimeofday_timezone=void + if test $ac_cv_func_gettimeofday != yes; then + HAVE_GETTIMEOFDAY=0 + else + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 +$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } +if ${gl_cv_func_gettimeofday_clobber+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + # When cross-compiling: + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include #include -static char buf[100]; -int main () + #include + #include + #include + +int +main () { - /* Check that a '-' flag is not annihilated by a negative width. */ - if (sprintf (buf, "a%-*sc", -3, "b") < 0 - || strcmp (buf, "ab c") != 0) - return 1; + + time_t t = 0; + struct tm *lt; + struct tm saved_lt; + struct timeval tv; + lt = localtime (&t); + saved_lt = *lt; + gettimeofday (&tv, NULL); + return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; + + ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_flag_leftadjust=yes + gl_cv_func_gettimeofday_clobber=no else - gl_cv_func_printf_flag_leftadjust=no + gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_leftadjust" >&5 -$as_echo "$gl_cv_func_printf_flag_leftadjust" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 +$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } + case "$gl_cv_func_gettimeofday_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 + + REPLACE_GMTIME=1 + REPLACE_LOCALTIME=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports the zero flag correctly" >&5 -$as_echo_n "checking whether printf supports the zero flag correctly... " >&6; } -if ${gl_cv_func_printf_flag_zero+:} false; then : +$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h + + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 +$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } +if ${gl_cv_func_gettimeofday_posix_signature+:} false; then : $as_echo_n "(cached) " >&6 else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct timeval c; + int gettimeofday (struct timeval *restrict, void *restrict); - if test "$cross_compiling" = yes; then : - - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_flag_zero="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_flag_zero="guessing no";; - esac +int +main () +{ +/* glibc uses struct timezone * rather than the POSIX void * + if _GNU_SOURCE is defined. However, since the only portable + use of gettimeofday uses NULL as the second parameter, and + since the glibc definition is actually more typesafe, it is + not worth wrapping this to get a compliant signature. */ + int (*f) (struct timeval *restrict, void *restrict) + = gettimeofday; + int x = f (&c, 0); + return !(x | c.tv_sec | c.tv_usec); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +int gettimeofday (struct timeval *restrict, struct timezone *restrict); -#include -#include -static char buf[100]; -static double zero = 0.0; -int main () +int +main () { - if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0 - || (strcmp (buf, " inf") != 0 - && strcmp (buf, " infinity") != 0)) - return 1; + + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_flag_zero=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=almost else - gl_cv_func_printf_flag_zero=no + gl_cv_func_gettimeofday_posix_signature=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 +$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } + if test $gl_cv_func_gettimeofday_posix_signature = almost; then + gl_gettimeofday_timezone='struct timezone' + elif test $gl_cv_func_gettimeofday_posix_signature != yes; then + REPLACE_GETTIMEOFDAY=1 + fi + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + + fi +cat >>confdefs.h <<_ACEOF +#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone +_ACEOF -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_flag_zero" >&5 -$as_echo "$gl_cv_func_printf_flag_zero" >&6; } + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports large precisions" >&5 -$as_echo_n "checking whether printf supports large precisions... " >&6; } -if ${gl_cv_func_printf_precision+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess no only on Solaris, native Windows, and BeOS systems. - solaris*) gl_cv_func_printf_precision="guessing no" ;; - mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; - beos*) gl_cv_func_printf_precision="guessing no" ;; - *) gl_cv_func_printf_precision="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -static char buf[5000]; -int main () -{ - int result = 0; -#ifdef __BEOS__ - /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ - return 1; -#endif - if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) - result |= 1; - if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5) - result |= 2; - if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5 - || buf[0] != '1') - result |= 4; - if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5 - || buf[0] != '1') - result |= 4; - return result; -} + + + gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" + + + for ac_header in sys/timeb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_TIMEB_H 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_precision=yes -else - gl_cv_func_printf_precision=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +done + + for ac_func in _ftime +do : + ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" +if test "x$ac_cv_func__ftime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FTIME 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_precision" >&5 -$as_echo "$gl_cv_func_printf_precision" >&6; } +done + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf survives out-of-memory conditions" >&5 -$as_echo_n "checking whether printf survives out-of-memory conditions... " >&6; } -if ${gl_cv_func_printf_enomem+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_func_printf_enomem="guessing no" - if test "$cross_compiling" = no; then - if test $APPLE_UNIVERSAL_BUILD = 0; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on Mac OS X. */ -#include -#include -#include -#include -#include -#include -/* The exception port on which our thread listens. */ -static mach_port_t our_exception_port; -/* The main function of the thread listening for exceptions of type - EXC_BAD_ACCESS. */ -static void * -mach_exception_thread (void *arg) -{ - /* Buffer for a message to be received. */ - struct { - mach_msg_header_t head; - mach_msg_body_t msgh_body; - char data1024; - } msg; - mach_msg_return_t retval; - /* Wait for a message on the exception port. */ - retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), - our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (retval != MACH_MSG_SUCCESS) - abort (); - exit (1); -} -static void -nocrash_init (void) -{ - mach_port_t self = mach_task_self (); - /* Allocate a port on which the thread shall listen for exceptions. */ - if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) - == KERN_SUCCESS) { - /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ - if (mach_port_insert_right (self, our_exception_port, our_exception_port, - MACH_MSG_TYPE_MAKE_SEND) - == KERN_SUCCESS) { - /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting - for us. */ - exception_mask_t mask = EXC_MASK_BAD_ACCESS; - /* Create the thread listening on the exception port. */ - pthread_attr_t attr; - pthread_t thread; - if (pthread_attr_init (&attr) == 0 - && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 - && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { - pthread_attr_destroy (&attr); - /* Replace the exception port info for these exceptions with our own. - Note that we replace the exception port for the entire task, not only - for a particular thread. This has the effect that when our exception - port gets the message, the thread specific exception port has already - been asked, and we don't need to bother about it. - See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ - task_set_exception_ports (self, mask, our_exception_port, - EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); - } - } - } -} -#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* Avoid a crash on native Windows. */ -#define WIN32_LEAN_AND_MEAN -#include -#include -static LONG WINAPI -exception_filter (EXCEPTION_POINTERS *ExceptionInfo) -{ - switch (ExceptionInfo->ExceptionRecord->ExceptionCode) - { - case EXCEPTION_ACCESS_VIOLATION: - case EXCEPTION_IN_PAGE_ERROR: - case EXCEPTION_STACK_OVERFLOW: - case EXCEPTION_GUARD_PAGE: - case EXCEPTION_PRIV_INSTRUCTION: - case EXCEPTION_ILLEGAL_INSTRUCTION: - case EXCEPTION_DATATYPE_MISALIGNMENT: - case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: - case EXCEPTION_NONCONTINUABLE_EXCEPTION: - exit (1); - } - return EXCEPTION_CONTINUE_SEARCH; -} -static void -nocrash_init (void) -{ - SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter); -} -#else -/* Avoid a crash on POSIX systems. */ -#include -/* A POSIX signal handler. */ -static void -exception_handler (int sig) -{ - exit (1); -} -static void -nocrash_init (void) -{ -#ifdef SIGSEGV - signal (SIGSEGV, exception_handler); -#endif -#ifdef SIGBUS - signal (SIGBUS, exception_handler); -#endif -} -#endif + GNULIB_GETTIMEOFDAY=1 -#include -#include -#include -#include -#include -int main() -{ - struct rlimit limit; - int ret; - nocrash_init (); - /* Some printf implementations allocate temporary space with malloc. */ - /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ -#ifdef RLIMIT_DATA - if (getrlimit (RLIMIT_DATA, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_DATA, &limit) < 0) - return 77; -#endif - /* On Linux systems, malloc() is limited by RLIMIT_AS. */ -#ifdef RLIMIT_AS - if (getrlimit (RLIMIT_AS, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_AS, &limit) < 0) - return 77; -#endif - /* Some printf implementations allocate temporary space on the stack. */ -#ifdef RLIMIT_STACK - if (getrlimit (RLIMIT_STACK, &limit) < 0) - return 77; - if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) - limit.rlim_max = 5000000; - limit.rlim_cur = limit.rlim_max; - if (setrlimit (RLIMIT_STACK, &limit) < 0) - return 77; -#endif - ret = printf ("%.5000000f", 1.0); - return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); -} -_ACEOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - (./conftest 2>&5 - result=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $result" >&5 - if test $result != 0 && test $result != 77; then result=1; fi - exit $result - ) >/dev/null 2>/dev/null - case $? in - 0) gl_cv_func_printf_enomem="yes" ;; - 77) gl_cv_func_printf_enomem="guessing no" ;; - *) gl_cv_func_printf_enomem="no" ;; - esac - else - gl_cv_func_printf_enomem="guessing no" - fi - rm -fr conftest* - else - gl_cv_func_printf_enomem="guessing no" - fi - fi - if test "$gl_cv_func_printf_enomem" = "guessing no"; then - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Solaris. - solaris*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on AIX. - aix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on HP-UX/hppa. - hpux*) case "$host_cpu" in - hppa*) gl_cv_func_printf_enomem="guessing yes";; - *) gl_cv_func_printf_enomem="guessing no";; - esac - ;; - # Guess yes on IRIX. - irix*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on OSF/1. - osf*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on BeOS. - beos*) gl_cv_func_printf_enomem="guessing yes";; - # Guess yes on Haiku. - haiku*) gl_cv_func_printf_enomem="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_printf_enomem="guessing no";; - esac - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_enomem" >&5 -$as_echo "$gl_cv_func_printf_enomem" >&6; } +$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h - case "$gl_cv_func_printf_long_double" in - *yes) - ;; - *) -$as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h - ;; - esac + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default" -if test "x$ac_cv_have_decl_vsnprintf" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_VSNPRINTF $ac_have_decl -_ACEOF - GNULIB_BTOWC=0; - GNULIB_WCTOB=0; - GNULIB_MBSINIT=0; - GNULIB_MBRTOWC=0; - GNULIB_MBRLEN=0; - GNULIB_MBSRTOWCS=0; - GNULIB_MBSNRTOWCS=0; - GNULIB_WCRTOMB=0; - GNULIB_WCSRTOMBS=0; - GNULIB_WCSNRTOMBS=0; - GNULIB_WCWIDTH=0; - GNULIB_WMEMCHR=0; - GNULIB_WMEMCMP=0; - GNULIB_WMEMCPY=0; - GNULIB_WMEMMOVE=0; - GNULIB_WMEMSET=0; - GNULIB_WCSLEN=0; - GNULIB_WCSNLEN=0; - GNULIB_WCSCPY=0; - GNULIB_WCPCPY=0; - GNULIB_WCSNCPY=0; - GNULIB_WCPNCPY=0; - GNULIB_WCSCAT=0; - GNULIB_WCSNCAT=0; - GNULIB_WCSCMP=0; - GNULIB_WCSNCMP=0; - GNULIB_WCSCASECMP=0; - GNULIB_WCSNCASECMP=0; - GNULIB_WCSCOLL=0; - GNULIB_WCSXFRM=0; - GNULIB_WCSDUP=0; - GNULIB_WCSCHR=0; - GNULIB_WCSRCHR=0; - GNULIB_WCSCSPN=0; - GNULIB_WCSSPN=0; - GNULIB_WCSPBRK=0; - GNULIB_WCSSTR=0; - GNULIB_WCSTOK=0; - GNULIB_WCSWIDTH=0; - HAVE_BTOWC=1; - HAVE_MBSINIT=1; - HAVE_MBRTOWC=1; - HAVE_MBRLEN=1; - HAVE_MBSRTOWCS=1; - HAVE_MBSNRTOWCS=1; - HAVE_WCRTOMB=1; - HAVE_WCSRTOMBS=1; - HAVE_WCSNRTOMBS=1; - HAVE_WMEMCHR=1; - HAVE_WMEMCMP=1; - HAVE_WMEMCPY=1; - HAVE_WMEMMOVE=1; - HAVE_WMEMSET=1; - HAVE_WCSLEN=1; - HAVE_WCSNLEN=1; - HAVE_WCSCPY=1; - HAVE_WCPCPY=1; - HAVE_WCSNCPY=1; - HAVE_WCPNCPY=1; - HAVE_WCSCAT=1; - HAVE_WCSNCAT=1; - HAVE_WCSCMP=1; - HAVE_WCSNCMP=1; - HAVE_WCSCASECMP=1; - HAVE_WCSNCASECMP=1; - HAVE_WCSCOLL=1; - HAVE_WCSXFRM=1; - HAVE_WCSDUP=1; - HAVE_WCSCHR=1; - HAVE_WCSRCHR=1; - HAVE_WCSCSPN=1; - HAVE_WCSSPN=1; - HAVE_WCSPBRK=1; - HAVE_WCSSTR=1; - HAVE_WCSTOK=1; - HAVE_WCSWIDTH=1; - HAVE_DECL_WCTOB=1; - HAVE_DECL_WCWIDTH=1; - REPLACE_MBSTATE_T=0; - REPLACE_BTOWC=0; - REPLACE_WCTOB=0; - REPLACE_MBSINIT=0; - REPLACE_MBRTOWC=0; - REPLACE_MBRLEN=0; - REPLACE_MBSRTOWCS=0; - REPLACE_MBSNRTOWCS=0; - REPLACE_WCRTOMB=0; - REPLACE_WCSRTOMBS=0; - REPLACE_WCSNRTOMBS=0; - REPLACE_WCWIDTH=0; - REPLACE_WCSWIDTH=0; + am_save_CPPFLAGS="$CPPFLAGS" + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5 -$as_echo_n "checking whether uses 'inline' correctly... " >&6; } -if ${gl_cv_header_wchar_h_correct_inline+:} false; then : + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else - gl_cv_header_wchar_h_correct_inline=yes - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #define wcstod renamed_wcstod -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -extern int zero (void); -int main () { return zero(); } + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} _ACEOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - mv conftest.$ac_objext conftest1.$ac_objext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - #define wcstod renamed_wcstod -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ -#include -#include -#include -#include -int zero (void) { return 0; } - +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} _ACEOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - mv conftest.$ac_objext conftest2.$ac_objext - if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then - : - else - gl_cv_header_wchar_h_correct_inline=no - fi - fi - fi - rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext - +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5 -$as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; } - if test $gl_cv_header_wchar_h_correct_inline = no; then - as_fn_error $? " cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS). -This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in -C99 mode. You have four options: - - Add the flag -fgnu89-inline to CC and reconfigure, or - - Fix your include files, using parts of - , or - - Use a gcc version older than 4.3, or - - Don't use the flags -std=c99 or -std=gnu99. -Configuration aborted." "$LINENO" 5 - fi - - - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - : +#include +#include +int main () +{ + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +else + am_cv_func_iconv_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + LIBS="$am_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 -$as_echo_n "checking if environ is properly declared... " >&6; } - if ${gt_cv_var_environ_declaration+:} false; then : + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 +$as_echo_n "checking for iconv declaration... " >&6; } + if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if HAVE_UNISTD_H - #include - #endif - /* mingw, BeOS, Haiku declare environ in , not in . */ - #include - extern struct { int foo; } environ; +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + int main () { -environ.foo = 1; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_var_environ_declaration=no + am_cv_proto_iconv_arg1="" else - gt_cv_var_environ_declaration=yes + am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 -$as_echo "$gt_cv_var_environ_declaration" >&6; } - if test $gt_cv_var_environ_declaration = yes; then - -$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h - - fi + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: + $am_cv_proto_iconv" >&5 +$as_echo " + $am_cv_proto_iconv" >&6; } +cat >>confdefs.h <<_ACEOF +#define ICONV_CONST $am_cv_proto_iconv_arg1 +_ACEOF - if test $gt_cv_var_environ_declaration != yes; then - HAVE_DECL_ENVIRON=0 fi - GNULIB_FCNTL=0; - GNULIB_NONBLOCKING=0; - GNULIB_OPEN=0; - GNULIB_OPENAT=0; - HAVE_FCNTL=1; - HAVE_OPENAT=1; - REPLACE_FCNTL=0; - REPLACE_OPEN=0; - REPLACE_OPENAT=0; - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5 -$as_echo_n "checking for working fcntl.h... " >&6; } -if ${gl_cv_header_working_fcntl_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5 +$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; } +if ${gl_cv_ld_output_def+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - gl_cv_header_working_fcntl_h=cross-compiling -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$enable_shared" = no; then + gl_cv_ld_output_def="not needed, shared libraries are disabled" + else + gl_ldflags_save=$LDFLAGS + LDFLAGS="-Wl,--output-def,conftest.def" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - #include - #ifndef O_NOATIME - #define O_NOATIME 0 - #endif - #ifndef O_NOFOLLOW - #define O_NOFOLLOW 0 - #endif - static int const constants[] = - { - O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, - O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY - }; int main () { - int status = !constants; - { - static char const sym[] = "conftest.sym"; - if (symlink (".", sym) != 0 - || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) - status |= 32; - unlink (sym); - } - { - static char const file[] = "confdefs.h"; - int fd = open (file, O_RDONLY | O_NOATIME); - char c; - struct stat st0, st1; - if (fd < 0 - || fstat (fd, &st0) != 0 - || sleep (1) != 0 - || read (fd, &c, 1) != 1 - || close (fd) != 0 - || stat (file, &st1) != 0 - || st0.st_atime != st1.st_atime) - status |= 64; - } - return status; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_header_working_fcntl_h=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_ld_output_def=yes else - case $? in #( - 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( - 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( - 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( - *) gl_cv_header_working_fcntl_h='no';; - esac + gl_cv_ld_output_def=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + rm -f conftest.def + LDFLAGS="$gl_ldflags_save" + fi fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5 +$as_echo "$gl_cv_ld_output_def" >&6; } + if test "x$gl_cv_ld_output_def" = "xyes"; then + HAVE_LD_OUTPUT_DEF_TRUE= + HAVE_LD_OUTPUT_DEF_FALSE='#' +else + HAVE_LD_OUTPUT_DEF_TRUE='#' + HAVE_LD_OUTPUT_DEF_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5 -$as_echo "$gl_cv_header_working_fcntl_h" >&6; } - - case $gl_cv_header_working_fcntl_h in #( - *O_NOATIME* | no | cross-compiling) ac_val=0;; #( - *) ac_val=1;; - esac - -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOATIME $ac_val -_ACEOF - - - case $gl_cv_header_working_fcntl_h in #( - *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( - *) ac_val=1;; - esac -cat >>confdefs.h <<_ACEOF -#define HAVE_WORKING_O_NOFOLLOW $ac_val -_ACEOF + # Check whether --enable-ld-version-script was given. +if test "${enable_ld_version_script+set}" = set; then : + enableval=$enable_ld_version_script; have_ld_version_script=$enableval +fi + if test -z "$have_ld_version_script"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5 +$as_echo_n "checking if LD -Wl,--version-script works... " >&6; } + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" + cat > conftest.map <conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ungetc works on arbitrary bytes" >&5 -$as_echo_n "checking whether ungetc works on arbitrary bytes... " >&6; } -if ${gl_cv_func_ungetc_works+:} false; then : - $as_echo_n "(cached) " >&6 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + accepts_syntax_errors=yes else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_ungetc_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_ungetc_works="guessing no" ;; - esac + accepts_syntax_errors=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$accepts_syntax_errors" = no; then + cat > conftest.map <conftest.$ac_ext +VERS_2 { + global: sym; +} VERS_1; +EOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int main () { -FILE *f; - if (!(f = fopen ("conftest.tmp", "w+"))) return 1; - if (fputs ("abc", f) < 0) return 2; - rewind (f); - if (fgetc (f) != 'a') return 3; - if (fgetc (f) != 'b') return 4; - if (ungetc ('d', f) != 'd') return 5; - if (ftell (f) != 1) return 6; - if (fgetc (f) != 'd') return 7; - if (ftell (f) != 2) return 8; - if (fseek (f, 0, SEEK_CUR) != 0) return 9; - if (ftell (f) != 2) return 10; - if (fgetc (f) != 'c') return 11; - fclose (f); remove ("conftest.tmp"); + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ungetc_works=yes +if ac_fn_c_try_link "$LINENO"; then : + have_ld_version_script=yes else - gl_cv_func_ungetc_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + have_ld_version_script=no fi - - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else + have_ld_version_script=no + fi + rm -f conftest.map + LDFLAGS="$save_LDFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5 +$as_echo "$have_ld_version_script" >&6; } + fi + if test "$have_ld_version_script" = "yes"; then + HAVE_LD_VERSION_SCRIPT_TRUE= + HAVE_LD_VERSION_SCRIPT_FALSE='#' +else + HAVE_LD_VERSION_SCRIPT_TRUE='#' + HAVE_LD_VERSION_SCRIPT_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ungetc_works" >&5 -$as_echo "$gl_cv_func_ungetc_works" >&6; } - case "$gl_cv_func_ungetc_works" in - *yes) ;; - *) - -$as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h - - ;; - esac @@ -25973,107 +21616,89 @@ $as_echo "#define FUNC_UNGETC_BROKEN 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5 -$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; } -if ${gl_cv_func_getcwd_null+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 +$as_echo_n "checking whether lseek detects pipes... " >&6; } +if ${gl_cv_func_lseek_pipe+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_getcwd_null="guessing yes";; - # Guess yes on Cygwin. - cygwin*) gl_cv_func_getcwd_null="guessing yes";; - # If we don't know, assume the worst. - *) gl_cv_func_getcwd_null="guessing no";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + mingw*) + gl_cv_func_lseek_pipe=no + ;; + *) + if test $cross_compiling = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# if HAVE_UNISTD_H -# include -# else /* on Windows with MSVC */ -# include -# endif -# ifndef getcwd - char *getcwd (); -# endif +#include /* for off_t */ +#include /* for SEEK_CUR */ +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif int main () { -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -/* mingw cwd does not start with '/', but getcwd does allocate. - However, mingw fails to honor non-zero size. */ -#else - if (chdir ("/") != 0) - return 1; - else - { - char *f = getcwd (NULL, 0); - if (! f) - return 2; - if (f[0] != '/') - return 3; - if (f[1] != '\0') - return 4; - return 0; - } -#endif + /* Exit with success only if stdin is seekable. */ + return lseek (0, (off_t)0, SEEK_CUR) < 0; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getcwd_null=yes -else - gl_cv_func_getcwd_null=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5 -$as_echo "$gl_cv_func_getcwd_null" >&6; } - +if ac_fn_c_try_link "$LINENO"; then : + if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && test 1 = "`echo hi \ + | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5 -$as_echo_n "checking for getcwd with POSIX signature... " >&6; } -if ${gl_cv_func_getcwd_posix_signature+:} false; then : - $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_func_lseek_pipe=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ -extern - #ifdef __cplusplus - "C" - #endif - char *getcwd (char *, size_t); - - ; - return 0; -} +#if defined __BEOS__ +/* BeOS mistakenly return 0 when trying to seek on pipes. */ + Choke me. +#endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_getcwd_posix_signature=yes + gl_cv_func_lseek_pipe=yes else - gl_cv_func_getcwd_posix_signature=no + gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 +$as_echo "$gl_cv_func_lseek_pipe" >&6; } + if test $gl_cv_func_lseek_pipe = no; then + REPLACE_LSEEK=1 + +$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h + + fi + + + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_LSEEK=1 + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5 -$as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } + if test $REPLACE_LSEEK = 1; then @@ -26082,33 +21707,21 @@ $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } + gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" + fi - GNULIB_IMAXABS=0; - GNULIB_IMAXDIV=0; - GNULIB_STRTOIMAX=0; - GNULIB_STRTOUMAX=0; - HAVE_DECL_IMAXABS=1; - HAVE_DECL_IMAXDIV=1; - HAVE_DECL_STRTOIMAX=1; - HAVE_DECL_STRTOUMAX=1; - REPLACE_STRTOIMAX=0; - INT32_MAX_LT_INTMAX_MAX=1; - INT64_MAX_EQ_LONG_MAX='defined _LP64'; - PRI_MACROS_BROKEN=0; - PRIPTR_PREFIX=__PRIPTR_PREFIX; - UINT32_MAX_LT_UINTMAX_MAX=1; - UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; + GNULIB_LSEEK=1 - : +$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h @@ -26117,10 +21730,15 @@ $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } + if test $gl_cv_func_malloc_posix = yes; then +$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h - : + else + REPLACE_MALLOC=1 + fi + if test $REPLACE_MALLOC = 1; then @@ -26128,396 +21746,207 @@ $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; } - if test $gl_cv_have_include_next = yes; then - gl_cv_next_inttypes_h='<'inttypes.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_inttypes_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_inttypes_h = yes; then + gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'inttypes.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_inttypes_h='<'inttypes.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 -$as_echo "$gl_cv_next_inttypes_h" >&6; } - fi - NEXT_INTTYPES_H=$gl_cv_next_inttypes_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'inttypes.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_inttypes_h - fi - NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive + GNULIB_MALLOC_POSIX=1 +$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h - for gl_func in imaxabs imaxdiv strtoimax strtoumax; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF + if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then - eval ac_cv_have_decl_$gl_func=yes -fi - done - for ac_header in inttypes.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" -if test "x$ac_cv_header_inttypes_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H 1 -_ACEOF -fi -done - if test $ac_cv_header_inttypes_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 -$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } -if ${gt_cv_inttypes_pri_broken+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef PRId32 -char *p = PRId32; -#endif + gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" -int -main () -{ - ; - return 0; -} + for ac_header in bp-sym.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" +if test "x$ac_cv_header_bp_sym_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BP_SYM_H 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_inttypes_pri_broken=no -else - gt_cv_inttypes_pri_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 -$as_echo "$gt_cv_inttypes_pri_broken" >&6; } - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then -cat >>confdefs.h <<_ACEOF -#define PRI_MACROS_BROKEN 1 -_ACEOF +done + - PRI_MACROS_BROKEN=1 - else - PRI_MACROS_BROKEN=0 fi + GNULIB_MEMCHR=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 -$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.sym conftest.file - echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_lstat_dereferences_slashed_symlink=yes -else - gl_cv_func_lstat_dereferences_slashed_symlink=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +$as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" - fi - rm -f conftest.sym conftest.file -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 -$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *yes) -cat >>confdefs.h <<_ACEOF -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -_ACEOF - ;; - esac - for ac_header in stdlib.h + for ac_func in memmem do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : + ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem" +if test "x$ac_cv_func_memmem" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 +#define HAVE_MEMMEM 1 _ACEOF fi - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : + if test $ac_cv_func_memmem = yes; then + HAVE_MEMMEM=1 + else + HAVE_MEMMEM=0 + fi + + : + + + + + + if test $ac_cv_have_decl_memmem = no; then + HAVE_DECL_MEMMEM=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5 +$as_echo_n "checking whether memmem works... " >&6; } +if ${gl_cv_func_memmem_works_always+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on platforms where we know the result. - *-gnu* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull=yes ;; - # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull=no ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *malloc (); - #endif -int -main () -{ -return ! malloc (0); - ; - return 0; -} +#ifdef __GNU_LIBRARY__ + #include + #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \ + || __GLIBC_MINOR__ > 12)) \ + || (__GLIBC__ > 2)) \ + || defined __UCLIBC__ + Lucky user + #endif +#elif defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) + Lucky user + #endif +#else + Lucky user +#endif _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky user" >/dev/null 2>&1; then : + gl_cv_func_memmem_works_always="guessing yes" else - ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_func_memmem_works_always="guessing no" fi +rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } - if test $ac_cv_func_malloc_0_nonnull = yes; then : - gl_cv_func_malloc_0_nonnull=1 else - gl_cv_func_malloc_0_nonnull=0 -fi - - -cat >>confdefs.h <<_ACEOF -#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull -_ACEOF - - - + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5 -$as_echo_n "checking for promoted mode_t type... " >&6; } -if ${gl_cv_promoted_mode_t+:} false; then : - $as_echo_n "(cached) " >&6 -else +#include /* for memmem */ +#define P "_EF_BF_BD" +#define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P +#define NEEDLE P P P P P - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include int main () { -typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1]; + + int result = 0; + if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE))) + result |= 1; + /* Check for empty needle behavior. */ + { + const char *haystack = "AAA"; + if (memmem (haystack, 3, NULL, 0) != haystack) + result |= 2; + } + return result; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_promoted_mode_t='int' +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_memmem_works_always=yes else - gl_cv_promoted_mode_t='mode_t' + gl_cv_func_memmem_works_always=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5 -$as_echo "$gl_cv_promoted_mode_t" >&6; } - -cat >>confdefs.h <<_ACEOF -#define PROMOTED_MODE_T $gl_cv_promoted_mode_t -_ACEOF - - +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memmem_works_always" >&5 +$as_echo "$gl_cv_func_memmem_works_always" >&6; } + case "$gl_cv_func_memmem_works_always" in + *yes) ;; + *) + REPLACE_MEMMEM=1 + ;; + esac + fi + : + if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then - ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" -if test "x$ac_cv_have_decl_strerror_r" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRERROR_R $ac_have_decl -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS memmem.$ac_objext" + fi - : + GNULIB_MEMMEM=1 - if test $ac_cv_have_decl_strerror_r = no; then - HAVE_DECL_STRERROR_R=0 - fi - if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - if test $gl_cv_func_strerror_r_posix_signature = yes; then - case "$gl_cv_func_strerror_r_works" in - *no) REPLACE_STRERROR_R=1 ;; - esac - else - REPLACE_STRERROR_R=1 - fi - else - REPLACE_STRERROR_R=1 - fi - fi +$as_echo "#define GNULIB_TEST_MEMMEM 1" >>confdefs.h @@ -26526,41 +21955,38 @@ _ACEOF + : - ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" -if test "x$ac_cv_have_decl_setenv" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SETENV $ac_have_decl -_ACEOF + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 +$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h + else + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - : + gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" + fi - if test $ac_cv_have_decl_setenv = no; then - HAVE_DECL_SETENV=0 - fi - : + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then @@ -26569,35 +21995,19 @@ _ACEOF + gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" - : + fi - for ac_header in search.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" -if test "x$ac_cv_header_search_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SEARCH_H 1 -_ACEOF -fi -done - for ac_func in tsearch -do : - ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" -if test "x$ac_cv_func_tsearch" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TSEARCH 1 -_ACEOF -fi -done + : @@ -26606,161 +22016,322 @@ done + if test $gl_cv_have_include_next = yes; then + gl_cv_next_netdb_h='<'netdb.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_netdb_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_netdb_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'netdb.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_netdb_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_netdb_h + gl_cv_next_netdb_h='"'$gl_header'"' + else + gl_cv_next_netdb_h='<'netdb.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 +$as_echo "$gl_cv_next_netdb_h" >&6; } + fi + NEXT_NETDB_H=$gl_cv_next_netdb_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'netdb.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_netdb_h + fi + NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive + if test $ac_cv_header_netdb_h = yes; then + HAVE_NETDB_H=1 + else + HAVE_NETDB_H=0 + fi - ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" -if test "x$ac_cv_have_decl_unsetenv" = xyes; then : - ac_have_decl=1 + for gl_func in getaddrinfo freeaddrinfo gai_strerror getnameinfo; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_UNSETENV $ac_have_decl +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= + eval ac_cv_have_decl_$gl_func=yes fi + done + - gl_cond_libtool=true - gl_m4_base='gl/m4' + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_netinet_in_h_selfcontained+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_netinet_in_h_selfcontained=yes +else + gl_cv_header_netinet_in_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 +$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } + if test $gl_cv_header_netinet_in_h_selfcontained = yes; then + NETINET_IN_H='' + else + NETINET_IN_H='netinet/in.h' + for ac_header in netinet/in.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NETINET_IN_H 1 +_ACEOF +fi +done - gl_source_base='gl' - if test "$ac_cv_header_winsock2_h" = yes; then + : - gl_LIBOBJS="$gl_LIBOBJS accept.$ac_objext" - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_netinet_in_h='<'netinet/in.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_netinet_in_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_netinet_in_h = yes; then - GNULIB_ACCEPT=1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'netinet/in.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_netinet_in_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_netinet_in_h + gl_cv_next_netinet_in_h='"'$gl_header'"' + else + gl_cv_next_netinet_in_h='<'netinet/in.h'>' + fi -$as_echo "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 +$as_echo "$gl_cv_next_netinet_in_h" >&6; } + fi + NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'netinet/in.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_netinet_in_h + fi + NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H=$gl_next_as_first_directive -LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` + if test $ac_cv_header_netinet_in_h = yes; then + HAVE_NETINET_IN_H=1 + else + HAVE_NETINET_IN_H=0 + fi - if test $ac_cv_func_alloca_works = no; then - : fi - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if ${gl_cv_rpl_alloca+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - gl_cv_rpl_alloca=yes + if test -n "$NETINET_IN_H"; then + GL_GENERATE_NETINET_IN_H_TRUE= + GL_GENERATE_NETINET_IN_H_FALSE='#' else - gl_cv_rpl_alloca=no + GL_GENERATE_NETINET_IN_H_TRUE='#' + GL_GENERATE_NETINET_IN_H_FALSE= fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h + # Extract the first word of "pmccabe", so it can be a program name with args. +set dummy pmccabe; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PMCCABE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PMCCABE in + [\\/]* | ?:[\\/]*) + ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS - if test -n "$ALLOCA_H"; then - GL_GENERATE_ALLOCA_H_TRUE= - GL_GENERATE_ALLOCA_H_FALSE='#' + test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false" + ;; +esac +fi +PMCCABE=$ac_cv_path_PMCCABE +if test -n "$PMCCABE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5 +$as_echo "$PMCCABE" >&6; } else - GL_GENERATE_ALLOCA_H_TRUE='#' - GL_GENERATE_ALLOCA_H_FALSE= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + : + if test $gl_cv_func_malloc_posix = yes; then +$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h - for ac_func in alphasort -do : - ac_fn_c_check_func "$LINENO" "alphasort" "ac_cv_func_alphasort" -if test "x$ac_cv_func_alphasort" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ALPHASORT 1 -_ACEOF - -fi -done - - if test $ac_cv_func_alphasort = no; then - HAVE_ALPHASORT=0 + else + REPLACE_REALLOC=1 fi - if test $HAVE_ALPHASORT = 0; then + if test $REPLACE_REALLOC = 1; then @@ -26769,268 +22340,616 @@ done - gl_LIBOBJS="$gl_LIBOBJS alphasort.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" - : fi - GNULIB_ALPHASORT=1 - - - + GNULIB_REALLOC_POSIX=1 -$as_echo "#define GNULIB_TEST_ALPHASORT 1" >>confdefs.h +$as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H 1 +_ACEOF - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl -_ACEOF -if test $ac_have_decl = 1; then : +done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 +$as_echo_n "checking for SIZE_MAX... " >&6; } +if ${gl_cv_size_max+:} false; then : + $as_echo_n "(cached) " >&6 else -$as_echo "#define GNULIB_PROGRAM_INVOCATION_NAME 1" >>confdefs.h + gl_cv_size_max= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then : + gl_cv_size_max=yes fi +rm -f conftest* -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl -_ACEOF -if test $ac_have_decl = 1; then : + if test -z "$gl_cv_size_max"; then + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include +#include "; then : else + size_t_bits_minus_1= +fi -$as_echo "#define GNULIB_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : +else + fits_in_uint= fi - - # Check if program_invocation_name and program_invocation_short_name - # are defined elsewhere. It is improbable that only one of them will - # be defined and other not, I prefer to stay on the safe side and to - # test each one separately. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_name is defined" >&5 -$as_echo_n "checking whether program_invocation_name is defined... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + extern size_t foo; + extern unsigned long foo; + int main () { -program_invocation_name = "test"; + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h +if ac_fn_c_try_compile "$LINENO"; then : + fits_in_uint=0 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 +$as_echo "$gl_cv_size_max" >&6; } + if test "$gl_cv_size_max" != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5 -$as_echo_n "checking whether program_invocation_short_name is defined... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -program_invocation_short_name = "test"; - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $gl_cv_size_max _ACEOF -if ac_fn_c_try_link "$LINENO"; then : -$as_echo "#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - : + gl_cv_func_snprintf_usable=no + for ac_func in snprintf +do : + ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" +if test "x$ac_cv_func_snprintf" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SNPRINTF 1 +_ACEOF + +fi +done + if test $ac_cv_func_snprintf = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 +$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } +if ${gl_cv_func_snprintf_size1+:} false; then : + $as_echo_n "(cached) " >&6 +else - : + if test "$cross_compiling" = yes; then : + gl_cv_func_snprintf_size1="guessing yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif +int main() +{ + static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; + my_snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_snprintf_size1=yes +else + gl_cv_func_snprintf_size1=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 +$as_echo "$gl_cv_func_snprintf_size1" >&6; } + case "$gl_cv_func_snprintf_size1" in + *yes) + case "$gl_cv_func_snprintf_retval_c99" in + *yes) - : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 +$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } +if ${gl_cv_func_printf_positions+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_printf_positions=yes +else + gl_cv_func_printf_positions=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - : +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 +$as_echo "$gl_cv_func_printf_positions" >&6; } + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_snprintf_usable=yes + ;; + esac + ;; + esac + ;; + esac + fi + if test $gl_cv_func_snprintf_usable = no; then - : + gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" + if test $ac_cv_func_snprintf = yes; then + REPLACE_SNPRINTF=1 + fi : + fi + : - : + if test $ac_cv_have_decl_snprintf = no; then + HAVE_DECL_SNPRINTF=0 + fi - : + GNULIB_SNPRINTF=1 - : +$as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define GNULIB_SNPRINTF 1 +_ACEOF - : + ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " +/* is not needed according to POSIX, but the + in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#if HAVE_SYS_SOCKET_H +# include +#elif HAVE_WS2TCPIP_H +# include +#endif +" +if test "x$ac_cv_type_socklen_t" = xyes; then : +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 +$as_echo_n "checking for socklen_t equivalent... " >&6; } + if ${gl_cv_socklen_t_equiv+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Systems have either "struct sockaddr *" or + # "void *" as the second argument to getpeername + gl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void; do + for t in int size_t "unsigned int" "long int" "unsigned long int"; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + int getpeername (int, $arg2 *, $t *); +int +main () +{ +$t len; + getpeername (0, 0, &len); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_socklen_t_equiv="$t" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$gl_cv_socklen_t_equiv" != "" && break + done + test "$gl_cv_socklen_t_equiv" != "" && break + done +fi - : + if test "$gl_cv_socklen_t_equiv" = ""; then + as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 +$as_echo "$gl_cv_socklen_t_equiv" >&6; } +cat >>confdefs.h <<_ACEOF +#define socklen_t $gl_cv_socklen_t_equiv +_ACEOF +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if ${gt_cv_ssize_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_ssize_t=yes +else + gt_cv_ssize_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +$as_echo "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then +$as_echo "#define ssize_t int" >>confdefs.h - : + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 +$as_echo_n "checking for working stdalign.h... " >&6; } +if ${gl_cv_header_working_stdalign_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + ((defined __cplusplus && 201103 <= __cplusplus) \ + || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif +int +main () +{ - : + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_working_stdalign_h=yes +else + gl_cv_header_working_stdalign_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 +$as_echo "$gl_cv_header_working_stdalign_h" >&6; } + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi + if test -n "$STDALIGN_H"; then + GL_GENERATE_STDALIGN_H_TRUE= + GL_GENERATE_STDALIGN_H_FALSE='#' +else + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE= +fi - : + # Define two additional variables used in the Makefile substitution. + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' +else + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= +fi + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi - : + STDDEF_H= + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + STDDEF_H=stddef.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 +$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } +if ${gl_cv_decl_null_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_null_works=yes +else + gl_cv_decl_null_works=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +$as_echo "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + STDDEF_H=stddef.h + fi + if test -n "$STDDEF_H"; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' +else + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= +fi + if test -n "$STDDEF_H"; then - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_error:2:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format" + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stddef_h='<'stddef.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stddef_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stddef.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' - : + gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + gl_header=$gl_cv_absolute_stddef_h + gl_cv_next_stddef_h='"'$gl_header'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +$as_echo "$gl_cv_next_stddef_h" >&6; } + fi + NEXT_STDDEF_H=$gl_cv_next_stddef_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stddef.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stddef_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - if test $ac_cv_header_arpa_inet_h = yes; then - HAVE_ARPA_INET_H=1 - else - HAVE_ARPA_INET_H=0 - fi + fi - : @@ -27040,75 +22959,107 @@ rm -f core conftest.err conftest.$ac_objext \ if test $gl_cv_have_include_next = yes; then - gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' + gl_cv_next_stdio_h='<'stdio.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_arpa_inet_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdio_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_arpa_inet_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'arpa/inet.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_arpa_inet_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' - fi + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdio.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_stdio_h + gl_cv_next_stdio_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 -$as_echo "$gl_cv_next_arpa_inet_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 +$as_echo "$gl_cv_next_stdio_h" >&6; } fi - NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h + NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'arpa/inet.h'>' + gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_arpa_inet_h + gl_next_as_first_directive=$gl_cv_next_stdio_h fi - NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive + + GNULIB_FSCANF=1 +cat >>confdefs.h <<_ACEOF +#define GNULIB_FSCANF 1 +_ACEOF - for gl_func in inet_ntop inet_pton; do + GNULIB_SCANF=1 + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_SCANF 1 +_ACEOF + + + GNULIB_FGETC=1 + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 + GNULIB_FREAD=1 + + + GNULIB_FPRINTF=1 + GNULIB_PRINTF=1 + GNULIB_VFPRINTF=1 + GNULIB_VPRINTF=1 + GNULIB_FPUTC=1 + GNULIB_PUTC=1 + GNULIB_PUTCHAR=1 + GNULIB_FPUTS=1 + GNULIB_PUTS=1 + GNULIB_FWRITE=1 + + + + + for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -27117,15 +23068,7 @@ if eval \${$as_gl_Symbol+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* On some systems, this header is not self-consistent. */ -#if !(defined __GLIBC__ || defined __UCLIBC__) -# include -#endif -#ifdef __TANDEM -# include -#endif -#include +#include int main () @@ -27163,732 +23106,480 @@ fi - if test "$ac_cv_header_winsock2_h" = yes; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS bind.$ac_objext" - - fi - - - - - - GNULIB_BIND=1 - - - -$as_echo "#define GNULIB_TEST_BIND 1" >>confdefs.h + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdlib_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - for ac_header in byteswap.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default" -if test "x$ac_cv_header_byteswap_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_BYTESWAP_H 1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - BYTESWAP_H='' - -else - - BYTESWAP_H='byteswap.h' + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdlib.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' -fi + gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -done + gl_header=$gl_cv_absolute_stdlib_h + gl_cv_next_stdlib_h='"'$gl_header'"' - if test -n "$BYTESWAP_H"; then - GL_GENERATE_BYTESWAP_H_TRUE= - GL_GENERATE_BYTESWAP_H_FALSE='#' -else - GL_GENERATE_BYTESWAP_H_TRUE='#' - GL_GENERATE_BYTESWAP_H_FALSE= fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 +$as_echo "$gl_cv_next_stdlib_h" >&6; } + fi + NEXT_STDLIB_H=$gl_cv_next_stdlib_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdlib.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdlib_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. - # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. - # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* - # programs in the package would end up linked with that potentially-shared - # library, inducing unnecessary run-time overhead. - LIB_CLOCK_GETTIME= - gl_saved_libs=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 -$as_echo_n "checking for library containing clock_gettime... " >&6; } -if ${ac_cv_search_clock_gettime+:} false; then : + for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random random_r realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#include +#if HAVE_SYS_LOADAVG_H +# include #endif -char clock_gettime (); +#if HAVE_RANDOM_H +# include +#endif + int main () { -return clock_gettime (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_clock_gettime=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_clock_gettime+:} false; then : - break -fi -done -if ${ac_cv_search_clock_gettime+:} false; then : - +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - ac_cv_search_clock_gettime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + eval "$as_gl_Symbol=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 -$as_echo "$ac_cv_search_clock_gettime" >&6; } -ac_res=$ac_cv_search_clock_gettime -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_clock_gettime" = "none required" || - LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - for ac_func in clock_gettime clock_settime -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF + eval ac_cv_have_decl_$gl_func=yes fi -done - - LIBS=$gl_saved_libs - - - - - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_CLOSE=1 - fi - - - - - - : + done - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h + for ac_func in strcasecmp do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : + ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" +if test "x$ac_cv_func_strcasecmp" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 +#define HAVE_STRCASECMP 1 _ACEOF fi - done + if test $ac_cv_func_strcasecmp = no; then + HAVE_STRCASECMP=0 fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then - REPLACE_CLOSE=1 - fi - - - - if test $REPLACE_CLOSE = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext" - - fi - - - - - - GNULIB_CLOSE=1 - - - - - -$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h - - - - for ac_func in closedir + for ac_func in strncasecmp do : - ac_fn_c_check_func "$LINENO" "closedir" "ac_cv_func_closedir" -if test "x$ac_cv_func_closedir" = xyes; then : + ac_fn_c_check_func "$LINENO" "strncasecmp" "ac_cv_func_strncasecmp" +if test "x$ac_cv_func_strncasecmp" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_CLOSEDIR 1 +#define HAVE_STRNCASECMP 1 _ACEOF fi done - if test $ac_cv_func_closedir = no; then - HAVE_CLOSEDIR=0 - fi - - - if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS closedir.$ac_objext" - + if test $ac_cv_func_strncasecmp = yes; then + HAVE_STRNCASECMP=1 + else + HAVE_STRNCASECMP=0 fi + ac_fn_c_check_decl "$LINENO" "strncasecmp" "ac_cv_have_decl_strncasecmp" "$ac_includes_default" +if test "x$ac_cv_have_decl_strncasecmp" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNCASECMP $ac_have_decl +_ACEOF - - - - GNULIB_CLOSEDIR=1 - - - - - -$as_echo "#define GNULIB_TEST_CLOSEDIR 1" >>confdefs.h - - - - - if test "$ac_cv_header_winsock2_h" = yes; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS connect.$ac_objext" - + if test $ac_cv_have_decl_strncasecmp = no; then + HAVE_DECL_STRNCASECMP=0 fi + if test $HAVE_STRCASECMP = 0; then - GNULIB_CONNECT=1 - - - - - -$as_echo "#define GNULIB_TEST_CONNECT 1" >>confdefs.h - - - - - - - - - - - - - : - - + gl_LIBOBJS="$gl_LIBOBJS strcasecmp.$ac_objext" - if test $gl_cv_have_include_next = yes; then - gl_cv_next_dirent_h='<'dirent.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_dirent_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_dirent_h = yes; then + : + fi + if test $HAVE_STRNCASECMP = 0; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'dirent.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_dirent_h='<'dirent.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 -$as_echo "$gl_cv_next_dirent_h" >&6; } - fi - NEXT_DIRENT_H=$gl_cv_next_dirent_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'dirent.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_dirent_h - fi - NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive + gl_LIBOBJS="$gl_LIBOBJS strncasecmp.$ac_objext" + : - if test $ac_cv_header_dirent_h = yes; then - HAVE_DIRENT_H=1 - else - HAVE_DIRENT_H=0 fi - for gl_func in alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5 -$as_echo_n "checking whether // is distinct from /... " >&6; } -if ${gl_cv_double_slash_root+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test x"$cross_compiling" = xyes ; then - # When cross-compiling, there is no way to tell whether // is special - # short of a list of hosts. However, the only known hosts to date - # that have a distinct // are Apollo DomainOS (too old to port to), - # Cygwin, and z/OS. If anyone knows of another system for which // has - # special semantics and is distinct from /, please report it to - # . - case $host in - *-cygwin | i370-ibm-openedition) - gl_cv_double_slash_root=yes ;; - *) - # Be optimistic and assume that / and // are the same when we - # don't know. - gl_cv_double_slash_root='unknown, assuming no' ;; - esac - else - set x `ls -di / // 2>/dev/null` - if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then - gl_cv_double_slash_root=no - else - gl_cv_double_slash_root=yes - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_double_slash_root" >&5 -$as_echo "$gl_cv_double_slash_root" >&6; } - if test "$gl_cv_double_slash_root" = yes; then -$as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h - fi + : -$as_echo "#define HAVE_DUP2 1" >>confdefs.h + if test $ac_cv_have_decl_strndup = no; then + HAVE_DECL_STRNDUP=0 + fi - if test $HAVE_DUP2 = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 -$as_echo_n "checking whether dup2 works... " >&6; } -if ${gl_cv_func_dup2_works+:} false; then : + if test $ac_cv_func_strndup = yes; then + HAVE_STRNDUP=1 + # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5 +$as_echo_n "checking for working strndup... " >&6; } +if ${gl_cv_func_strndup_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - case "$host_os" in - mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works="guessing no" ;; - cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works="guessing no" ;; - linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a - # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works="guessing no" ;; - freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. - gl_cv_func_dup2_works="guessing no" ;; - haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works="guessing no" ;; - *) gl_cv_func_dup2_works="guessing yes" ;; - esac + + case $host_os in + aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; + *) gl_cv_func_strndup_works="guessing yes";; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include -#include -#include + #include + #include int main () { -int result = 0; -#ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; -#endif - if (dup2 (1, 1) == 0) - result |= 2; -#ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; -#endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, 1000000) == -1 && errno != EBADF) - result |= 16; - /* Flush out a cygwin core dump. */ - if (dup2 (2, -1) != -1 || errno != EBADF) - result |= 32; - return result; +#if !HAVE_DECL_STRNDUP + extern + #ifdef __cplusplus + "C" + #endif + char *strndup (const char *, size_t); +#endif + char *s; + s = strndup ("some longer string", 15); + free (s); + s = strndup ("shorter string", 13); + return s[13] != '\0'; ; return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_dup2_works=yes + gl_cv_func_strndup_works=yes else - gl_cv_func_dup2_works=no + gl_cv_func_strndup_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 -$as_echo "$gl_cv_func_dup2_works" >&6; } - case "$gl_cv_func_dup2_works" in - *yes) ;; - *) - REPLACE_DUP2=1 - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5 +$as_echo "$gl_cv_func_strndup_works" >&6; } + case $gl_cv_func_strndup_works in + *no) REPLACE_STRNDUP=1 ;; esac + else + HAVE_STRNDUP=0 fi + if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then + - if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then + gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" + + fi - gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" - fi + GNULIB_STRNDUP=1 - GNULIB_DUP2=1 +$as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 -$as_echo_n "checking for error_at_line... " >&6; } -if ${ac_cv_lib_error_at_line+:} false; then : + : + + + + + + if test $ac_cv_have_decl_strnlen = no; then + HAVE_DECL_STRNLEN=0 + else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 +$as_echo_n "checking for working strnlen... " >&6; } +if ${ac_cv_func_strnlen_working+:} false; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + # Guess no on AIX systems, yes otherwise. + case "$host_os" in + aix*) ac_cv_func_strnlen_working=no;; + *) ac_cv_func_strnlen_working=yes;; + esac +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +$ac_includes_default int main () { -error_at_line (0, 0, "", 0, "an error occurred"); + +#define S "foobar" +#define S_LEN (sizeof S - 1) + + /* At least one implementation is buggy: that of AIX 4.3 would + give strnlen (S, 1) == 3. */ + + int i; + for (i = 0; i < S_LEN + 1; ++i) + { + int expected = i <= S_LEN ? i : S_LEN; + if (strnlen (S, i) != expected) + return 1; + } + return 0; + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_error_at_line=yes +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strnlen_working=yes else - ac_cv_lib_error_at_line=no + ac_cv_func_strnlen_working=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 -$as_echo "$ac_cv_lib_error_at_line" >&6; } - if test $ac_cv_lib_error_at_line = no; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 +$as_echo "$ac_cv_func_strnlen_working" >&6; } +test $ac_cv_func_strnlen_working = no && : + if test $ac_cv_func_strnlen_working = no; then + REPLACE_STRNLEN=1 + fi + fi + if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then - gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" - : + gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" + : fi - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" + GNULIB_STRNLEN=1 - FLOAT_H= - REPLACE_FLOAT_LDBL=0 - case "$host_os" in - aix* | beos* | openbsd* | mirbsd* | irix*) - FLOAT_H=float.h - ;; - freebsd*) - case "$host_cpu" in - i[34567]86 ) - FLOAT_H=float.h - ;; - x86_64 ) - # On x86_64 systems, the C compiler may still be generating - # 32-bit code. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __LP64__ || defined __x86_64__ || defined __amd64__ - yes - #endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : +$as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h -else - FLOAT_H=float.h -fi -rm -f conftest* - ;; - esac - ;; - linux*) - case "$host_cpu" in - powerpc*) - FLOAT_H=float.h - ;; - esac - ;; - esac - case "$host_os" in - aix* | freebsd* | linux*) - if test -n "$FLOAT_H"; then - REPLACE_FLOAT_LDBL=1 - fi - ;; - esac - REPLACE_ITOLD=0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5 -$as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; } -if ${gl_cv_func_itold_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host" in - sparc*-*-linux*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __LP64__ || defined __arch64__ - yes - #endif + + + + for ac_func in strtok_r +do : + ac_fn_c_check_func "$LINENO" "strtok_r" "ac_cv_func_strtok_r" +if test "x$ac_cv_func_strtok_r" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRTOK_R 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes" >/dev/null 2>&1; then : - gl_cv_func_itold_works="guessing no" -else - gl_cv_func_itold_works="guessing yes" + fi -rm -f conftest* +done - ;; - *) gl_cv_func_itold_works="guessing yes" ;; - esac + if test $ac_cv_func_strtok_r = yes; then + HAVE_STRTOK_R=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtok_r works" >&5 +$as_echo_n "checking whether strtok_r works... " >&6; } +if ${gl_cv_func_strtok_r_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + + case "$host_os" in + # Guess no on glibc systems. + *-gnu*) gl_cv_func_strtok_r_works="guessing no";; + *) gl_cv_func_strtok_r_works="guessing yes";; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int i = -1; -volatile long double ld; -int main () + #ifndef __OPTIMIZE__ + # define __OPTIMIZE__ 1 + #endif + #undef __OPTIMIZE_SIZE__ + #undef __NO_INLINE__ + #include + #include + +int +main () { - ld += i * 1.0L; - if (ld > 0) - return 1; +static const char dummy[] = "\177\01a"; + char delimiters[] = "xxxxxxxx"; + char *save_ptr = (char *) dummy; + strtok_r (delimiters, "x", &save_ptr); + strtok_r (NULL, "x", &save_ptr); + return 0; + + ; return 0; } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_itold_works=yes + gl_cv_func_strtok_r_works=yes else - gl_cv_func_itold_works=no + gl_cv_func_strtok_r_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -27896,250 +23587,89 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5 -$as_echo "$gl_cv_func_itold_works" >&6; } - case "$gl_cv_func_itold_works" in - *no) - REPLACE_ITOLD=1 - FLOAT_H=float.h - ;; - esac - - if test -n "$FLOAT_H"; then - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_float_h='<'float.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_float_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'float.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtok_r_works" >&5 +$as_echo "$gl_cv_func_strtok_r_works" >&6; } + case "$gl_cv_func_strtok_r_works" in + *no) + UNDEFINE_STRTOK_R=1 + ;; + esac + else + HAVE_STRTOK_R=0 + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 -$as_echo "$gl_cv_next_float_h" >&6; } - fi - NEXT_FLOAT_H=$gl_cv_next_float_h + : - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'float.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_float_h - fi - NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive + if test $ac_cv_have_decl_strtok_r = no; then + HAVE_DECL_STRTOK_R=0 fi - if test -n "$FLOAT_H"; then - GL_GENERATE_FLOAT_H_TRUE= - GL_GENERATE_FLOAT_H_FALSE='#' -else - GL_GENERATE_FLOAT_H_TRUE='#' - GL_GENERATE_FLOAT_H_FALSE= -fi - + if test $HAVE_STRTOK_R = 0 || test $REPLACE_STRTOK_R = 1; then - if test $REPLACE_FLOAT_LDBL = 1; then + gl_LIBOBJS="$gl_LIBOBJS strtok_r.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS float.$ac_objext" + : fi - if test $REPLACE_ITOLD = 1; then - - - - - gl_LIBOBJS="$gl_LIBOBJS itold.$ac_objext" - - fi - + GNULIB_STRTOK_R=1 - if test $gl_cv_func_frexp_no_libm = yes; then - : +$as_echo "#define GNULIB_TEST_STRTOK_R 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp works" >&5 -$as_echo_n "checking whether frexp works... " >&6; } -if ${gl_cv_func_frexp_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; - *) gl_cv_func_frexp_works="guessing yes";; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#if HAVE_DECL_ALARM -# include -# include -#endif -/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. - ICC 10.0 has a bug when optimizing the expression -zero. - The expression -DBL_MIN * DBL_MIN does not work when cross-compiling - to PowerPC on Mac OS X 10.5. */ -#if defined __hpux || defined __sgi || defined __ICC -static double -compute_minus_zero (void) -{ - return -DBL_MIN * DBL_MIN; -} -# define minus_zero compute_minus_zero () -#else -double minus_zero = -0.0; -#endif -int main() -{ - int result = 0; - int i; - volatile double x; - double zero = 0.0; -#if HAVE_DECL_ALARM - /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite - number. Let the test fail in this case. */ - signal (SIGALRM, SIG_DFL); - alarm (5); -#endif - /* Test on denormalized numbers. */ - for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) - ; - if (x > 0.0) - { - int exp; - double y = frexp (x, &exp); - /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. - On NetBSD: y = 0.75. Correct: y = 0.5. */ - if (y != 0.5) - result |= 1; - } - /* Test on infinite numbers. */ - x = 1.0 / zero; - { - int exp; - double y = frexp (x, &exp); - if (y != x) - result |= 2; - } - /* Test on negative zero. */ - x = minus_zero; - { - int exp; - double y = frexp (x, &exp); - if (memcmp (&y, &x, sizeof x)) - result |= 4; - } - return result; -} + for ac_func in strverscmp +do : + ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp" +if test "x$ac_cv_func_strverscmp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRVERSCMP 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_frexp_works=yes -else - gl_cv_func_frexp_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5 -$as_echo "$gl_cv_func_frexp_works" >&6; } +done - case "$gl_cv_func_frexp_works" in - *yes) gl_func_frexp_no_libm=yes ;; - *) gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;; - esac - else - gl_func_frexp_no_libm=no - REPLACE_FREXP=1 + if test $ac_cv_func_strverscmp = no; then + HAVE_STRVERSCMP=0 fi - if test $gl_func_frexp_no_libm = yes; then -$as_echo "#define HAVE_FREXP_IN_LIBC 1" >>confdefs.h + if test $HAVE_STRVERSCMP = 0; then - fi - if test $gl_func_frexp_no_libm != yes; then + gl_LIBOBJS="$gl_LIBOBJS strverscmp.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS frexp.$ac_objext" + : fi @@ -28147,374 +23677,513 @@ $as_echo "#define HAVE_FREXP_IN_LIBC 1" >>confdefs.h - GNULIB_FREXP=1 + GNULIB_STRVERSCMP=1 + +$as_echo "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_FREXP 1" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "frexpl" "ac_cv_have_decl_frexpl" "#include -" -if test "x$ac_cv_have_decl_frexpl" = xyes; then : + case "$host_os" in + osf*) -else - HAVE_DECL_FREXPL=0 -fi +$as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h - if test $HAVE_DECL_FREXPL = 1; then + ;; + esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used without linking with libm" >&5 -$as_echo_n "checking whether frexpl() can be used without linking with libm... " >&6; } -if ${gl_cv_func_frexpl_no_libm+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - long double x; +#include int main () { -int e; return frexpl (x, &e) > 0; + ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_frexpl_no_libm=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_socket_h_selfcontained=yes else - gl_cv_func_frexpl_no_libm=no + gl_cv_header_sys_socket_h_selfcontained=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5 -$as_echo "$gl_cv_func_frexpl_no_libm" >&6; } - - if test $gl_cv_func_frexpl_no_libm = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + for ac_func in shutdown +do : + ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" +if test "x$ac_cv_func_shutdown" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SHUTDOWN 1 +_ACEOF +fi +done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl works" >&5 -$as_echo_n "checking whether frexpl works... " >&6; } -if ${gl_cv_func_frexpl_works+:} false; then : + if test $ac_cv_func_shutdown = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 +$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } +if ${gl_cv_header_sys_socket_h_shut+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - - case "$host_os" in - aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*) - gl_cv_func_frexpl_works="guessing no";; - *) gl_cv_func_frexpl_works="guessing yes";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -/* Override the values of , like done in float.in.h. */ -#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) -#endif -#if defined __i386__ && defined __FreeBSD__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) -#endif -#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP DBL_MIN_EXP -#endif -#if defined __sgi && (LDBL_MANT_DIG >= 106) -# if defined __GNUC__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP DBL_MIN_EXP -# endif -#endif -extern -#ifdef __cplusplus -"C" -#endif -long double frexpl (long double, int *); -int main() +#include +int +main () { - int result = 0; - volatile long double x; - /* Test on finite numbers that fails on AIX 5.1. */ - x = 16.0L; - { - int exp = -9999; - frexpl (x, &exp); - if (exp != 5) - result |= 1; - } - /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl - function returns an invalid (incorrectly normalized) value: it returns - y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } - but the correct result is - 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ - x = 1.01L; - { - int exp = -9999; - long double y = frexpl (x, &exp); - if (!(exp == 1 && y == 0.505L)) - result |= 2; - } - /* Test on large finite numbers. This fails on BeOS at i = 16322, while - LDBL_MAX_EXP = 16384. - In the loop end test, we test x against Infinity, rather than comparing - i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ - { - int i; - for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) - { - int exp = -9999; - frexpl (x, &exp); - if (exp != i) - { - result |= 4; - break; - } - } - } - /* Test on denormalized numbers. */ - { - int i; - for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) - ; - if (x > 0.0L) - { - int exp; - long double y = frexpl (x, &exp); - /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, - exp = -16382, y = 0.5. On Mac OS X 10.5: exp = -16384, y = 0.5. */ - if (exp != LDBL_MIN_EXP - 1) - result |= 8; - } - } - /* Test on infinite numbers. */ - x = 1.0L / 0.0L; - { - int exp; - long double y = frexpl (x, &exp); - if (y != x) - result |= 16; - } - return result; +int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; + ; + return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_frexpl_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_socket_h_shut=yes else - gl_cv_func_frexpl_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_header_sys_socket_h_shut=no fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5 -$as_echo "$gl_cv_func_frexpl_works" >&6; } - - case "$gl_cv_func_frexpl_works" in - *yes) gl_func_frexpl_no_libm=yes ;; - *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; - esac - else - gl_func_frexpl_no_libm=no - REPLACE_FREXPL=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 +$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi fi - if test $gl_func_frexpl_no_libm = yes; then + fi + # We need to check for ws2tcpip.h now. -$as_echo "#define HAVE_FREXPL_IN_LIBC 1" >>confdefs.h - fi - fi - if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; then + : - gl_LIBOBJS="$gl_LIBOBJS frexpl.$ac_objext" - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_socket_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_sys_socket_h = yes; then - GNULIB_FREXPL=1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/socket.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_socket_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_socket_h + gl_cv_next_sys_socket_h='"'$gl_header'"' + else + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + fi -$as_echo "#define GNULIB_TEST_FREXPL 1" >>confdefs.h +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 +$as_echo "$gl_cv_next_sys_socket_h" >&6; } + fi + NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/socket.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_socket_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive - if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then - REPLACE_FSEEK=1 + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi fi - if test $REPLACE_FSEEK = 1; then + ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif + +" +if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 +_ACEOF +fi +ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +" +if test "x$ac_cv_type_sa_family_t" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_SA_FAMILY_T 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS fseek.$ac_objext" +fi + if test $ac_cv_type_struct_sockaddr_storage = no; then + HAVE_STRUCT_SOCKADDR_STORAGE=0 + fi + if test $ac_cv_type_sa_family_t = no; then + HAVE_SA_FAMILY_T=0 fi + if test $ac_cv_type_struct_sockaddr_storage != no; then + ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif + #ifdef HAVE_WS2TCPIP_H + #include + #endif +" +if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 +_ACEOF +else + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 +fi - GNULIB_FSEEK=1 + fi + if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ + || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then + SYS_SOCKET_H='sys/socket.h' + fi + : -$as_echo "#define GNULIB_TEST_FSEEK 1" >>confdefs.h + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF +fi +done + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 -$as_echo_n "checking for fseeko... " >&6; } -if ${gl_cv_func_fseeko+:} false; then : + for gl_func in socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +/* Some systems require prerequisite headers. */ +#include +#include int main () { -fseeko (stdin, 0, 0); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_fseeko=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - gl_cv_func_fseeko=no + eval "$as_gl_Symbol=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 -$as_echo "$gl_cv_func_fseeko" >&6; } + done - : - if test $ac_cv_have_decl_fseeko = no; then - HAVE_DECL_FSEEKO=0 - fi - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 - else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FSEEKO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FSEEKO=1 - fi - fi - if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + : - gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" - for ac_func in _fseeki64 -do : - ac_fn_c_check_func "$LINENO" "_fseeki64" "ac_cv_func__fseeki64" -if test "x$ac_cv_func__fseeki64" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FSEEKI64 1 + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_stat_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_sys_stat_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/stat.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_stat_h + gl_cv_next_sys_stat_h='"'$gl_header'"' + else + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + fi + fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } + fi + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/stat.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_stat_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive - fi - GNULIB_FSEEKO=1 + if test $WINDOWS_64_BIT_ST_SIZE = 1; then -$as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h + + fi + + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = xyes; then : + +else +$as_echo "#define nlink_t int" >>confdefs.h +fi - : + for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done - if test $ac_cv_func___fseterr = no; then @@ -28523,557 +24192,441 @@ $as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS fseterr.$ac_objext" - fi + : + - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_FSTAT=1 - fi - if test $WINDOWS_64_BIT_ST_SIZE = 1; then - REPLACE_FSTAT=1 - fi - if test $REPLACE_FSTAT = 1; then + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_uio_h='<'sys/uio.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_uio_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_sys_uio_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/uio.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_uio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_uio_h + gl_cv_next_sys_uio_h='"'$gl_header'"' + else + gl_cv_next_sys_uio_h='<'sys/uio.h'>' + fi - gl_LIBOBJS="$gl_LIBOBJS fstat.$ac_objext" - : - fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 +$as_echo "$gl_cv_next_sys_uio_h" >&6; } + fi + NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/uio.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_uio_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive - GNULIB_FSTAT=1 + if test $ac_cv_header_sys_uio_h = yes; then + HAVE_SYS_UIO_H=1 + else + HAVE_SYS_UIO_H=0 + fi -$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h - if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then - REPLACE_FTELL=1 - fi - if test $REPLACE_FTELL = 1; then + ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include +" +if test "x$ac_cv_have_decl_localtime_r" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_LOCALTIME_R $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_localtime_r = no; then + HAVE_DECL_LOCALTIME_R=0 + fi + : - gl_LIBOBJS="$gl_LIBOBJS ftell.$ac_objext" + if test $ac_cv_func_localtime_r = yes; then + HAVE_LOCALTIME_R=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 +$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } +if ${gl_cv_time_r_posix+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +/* We don't need to append 'restrict's to the argument types, + even though the POSIX signature has the 'restrict's, + since C99 says they can't affect type compatibility. */ + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0; + /* Check the return type is a pointer. + On HP-UX 10 it is 'int'. */ + *localtime_r (0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_time_r_posix=yes +else + gl_cv_time_r_posix=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 +$as_echo "$gl_cv_time_r_posix" >&6; } + if test $gl_cv_time_r_posix = yes; then + REPLACE_LOCALTIME_R=0 + else + REPLACE_LOCALTIME_R=1 + fi + else + HAVE_LOCALTIME_R=0 fi + if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then - GNULIB_FTELL=1 - - - - - -$as_echo "#define GNULIB_TEST_FTELL 1" >>confdefs.h - + gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" + : + fi - : + GNULIB_TIME_R=1 - if test $ac_cv_have_decl_ftello = no; then - HAVE_DECL_FTELLO=0 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ftello" >&5 -$as_echo_n "checking for ftello... " >&6; } -if ${gl_cv_func_ftello+:} false; then : - $as_echo_n "(cached) " >&6 -else +$as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -ftello (stdin); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_ftello=yes -else - gl_cv_func_ftello=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello" >&5 -$as_echo "$gl_cv_func_ftello" >&6; } - if test $gl_cv_func_ftello = no; then - HAVE_FTELLO=0 - else - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_FTELLO=1 - fi - if test $gl_cv_var_stdin_large_offset = no; then - REPLACE_FTELLO=1 - fi - if test $REPLACE_FTELLO = 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ftello works" >&5 -$as_echo_n "checking whether ftello works... " >&6; } -if ${gl_cv_func_ftello_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$host_os" in - # Guess no on Solaris. - solaris*) gl_cv_func_ftello_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_ftello_works="guessing yes" ;; - esac - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#define TESTFILE "conftest.tmp" -int -main (void) -{ - FILE *fp; - /* Create a file with some contents. */ - fp = fopen (TESTFILE, "w"); - if (fp == NULL) - return 70; - if (fwrite ("foogarsh", 1, 8, fp) < 8) - return 71; - if (fclose (fp)) - return 72; - /* The file's contents is now "foogarsh". */ - /* Try writing after reading to EOF. */ - fp = fopen (TESTFILE, "r+"); - if (fp == NULL) - return 73; - if (fseek (fp, -1, SEEK_END)) - return 74; - if (!(getc (fp) == 'h')) - return 1; - if (!(getc (fp) == EOF)) - return 2; - if (!(ftell (fp) == 8)) - return 3; - if (!(ftell (fp) == 8)) - return 4; - if (!(putc ('!', fp) == '!')) - return 5; - if (!(ftell (fp) == 9)) - return 6; - if (!(fclose (fp) == 0)) - return 7; - fp = fopen (TESTFILE, "r"); - if (fp == NULL) - return 75; - { - char buf[10]; - if (!(fread (buf, 1, 10, fp) == 9)) - return 10; - if (!(memcmp (buf, "foogarsh!", 9) == 0)) - return 11; - } - if (!(fclose (fp) == 0)) - return 12; - /* The file's contents is now "foogarsh!". */ - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ftello_works=yes -else - gl_cv_func_ftello_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ftello_works" >&5 -$as_echo "$gl_cv_func_ftello_works" >&6; } - case "$gl_cv_func_ftello_works" in - *yes) ;; - *) - REPLACE_FTELLO=1 + : -$as_echo "#define FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE 1" >>confdefs.h - ;; - esac - fi - fi - if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then + if test $gl_cv_have_include_next = yes; then + gl_cv_next_unistd_h='<'unistd.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_unistd_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_unistd_h = yes; then - gl_LIBOBJS="$gl_LIBOBJS ftello.$ac_objext" - for ac_func in _ftelli64 -do : - ac_fn_c_check_func "$LINENO" "_ftelli64" "ac_cv_func__ftelli64" -if test "x$ac_cv_func__ftelli64" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FTELLI64 1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac -fi -done - - - fi + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'unistd.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_unistd_h + gl_cv_next_unistd_h='"'$gl_header'"' + else + gl_cv_next_unistd_h='<'unistd.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 +$as_echo "$gl_cv_next_unistd_h" >&6; } + fi + NEXT_UNISTD_H=$gl_cv_next_unistd_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'unistd.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_unistd_h + fi + NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive - GNULIB_FTELLO=1 + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 + else + HAVE_UNISTD_H=0 + fi -$as_echo "#define GNULIB_TEST_FTELLO 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __func__ is available" >&5 -$as_echo_n "checking whether __func__ is available... " >&6; } -if ${gl_cv_var_func+:} false; then : + for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#if HAVE_UNISTD_H +# include +#endif +/* Some systems declare various items in the wrong headers. */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +# endif +#endif + int main () { -const char *str = __func__; +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_var_func=yes + eval "$as_gl_Symbol=yes" else - gl_cv_var_func=no + eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_var_func" >&5 -$as_echo "$gl_cv_var_func" >&6; } - if test "$gl_cv_var_func" != yes; then +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF -$as_echo "#define __func__ \"\"" >>confdefs.h + eval ac_cv_have_decl_$gl_func=yes +fi + done - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&5 -$as_echo "$as_me: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&6;} - GETADDRINFO_LIB= - gai_saved_LIBS="$LIBS" + # Check whether --enable-valgrind-tests was given. +if test "${enable_valgrind_tests+set}" = set; then : + enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval +else + opt_valgrind_tests=yes +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getaddrinfo" >&5 -$as_echo_n "checking for library containing getaddrinfo... " >&6; } -if ${ac_cv_search_getaddrinfo+:} false; then : + + # Run self-tests under valgrind? + if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then + for ac_prog in valgrind +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_VALGRIND+:} false; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getaddrinfo (); -int -main () -{ -return getaddrinfo (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" + if test -n "$VALGRIND"; then + ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_VALGRIND="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getaddrinfo=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getaddrinfo+:} false; then : - break -fi done -if ${ac_cv_search_getaddrinfo+:} false; then : + done +IFS=$as_save_IFS -else - ac_cv_search_getaddrinfo=no fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getaddrinfo" >&5 -$as_echo "$ac_cv_search_getaddrinfo" >&6; } -ac_res=$ac_cv_search_getaddrinfo -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getaddrinfo" != "none required"; then - GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" - fi +VALGRIND=$ac_cv_prog_VALGRIND +if test -n "$VALGRIND"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5 +$as_echo "$VALGRIND" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" - HAVE_GETADDRINFO=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 -$as_echo_n "checking for getaddrinfo... " >&6; } -if ${gl_cv_func_getaddrinfo+:} false; then : - $as_echo_n "(cached) " >&6 -else + test -n "$VALGRIND" && break +done - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + fi -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#include + OPTS="-q --error-exitcode=1 --leak-check=full --suppressions=suppressions.valgrind" -int -main () -{ -getaddrinfo("", "", NULL, NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_getaddrinfo=yes -else - gl_cv_func_getaddrinfo=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getaddrinfo" >&5 -$as_echo "$gl_cv_func_getaddrinfo" >&6; } - if test $gl_cv_func_getaddrinfo = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in ws2tcpip.h and -lws2_32" >&5 -$as_echo_n "checking for getaddrinfo in ws2tcpip.h and -lws2_32... " >&6; } -if ${gl_cv_w32_getaddrinfo+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test -n "$VALGRIND" \ + && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then + opt_valgrind_tests=yes + VALGRIND="$VALGRIND $OPTS" + else + opt_valgrind_tests=no + VALGRIND= + fi - gl_cv_w32_getaddrinfo=no - am_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5 +$as_echo_n "checking whether self tests are run under valgrind... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5 +$as_echo "$opt_valgrind_tests" >&6; } -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include -int -main () -{ -getaddrinfo(NULL, NULL, NULL, NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getaddrinfo=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getaddrinfo" >&5 -$as_echo "$gl_cv_w32_getaddrinfo" >&6; } - if test "$gl_cv_w32_getaddrinfo" = "yes"; then - GETADDRINFO_LIB="-lws2_32" - LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" - else - HAVE_GETADDRINFO=0 - fi - fi + : - # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an - # inline function declared in ws2tcpip.h, so we need to get that - # header included somehow. - ac_fn_c_check_decl "$LINENO" "gai_strerror" "ac_cv_have_decl_gai_strerror" " -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include -" -if test "x$ac_cv_have_decl_gai_strerror" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GAI_STRERROR $ac_have_decl -_ACEOF - if test $ac_cv_have_decl_gai_strerror = yes; then - ac_fn_c_check_decl "$LINENO" "gai_strerrorA" "ac_cv_have_decl_gai_strerrorA" " -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include -" -if test "x$ac_cv_have_decl_gai_strerrorA" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi + if test $ac_cv_func_vasnprintf = no; then -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GAI_STRERRORA $ac_have_decl -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror with POSIX signature" >&5 -$as_echo_n "checking for gai_strerror with POSIX signature... " >&6; } -if ${gl_cv_func_gai_strerror_posix_signature+:} false; then : - $as_echo_n "(cached) " >&6 -else + : + - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -#include -extern -#ifdef __cplusplus -"C" -#endif -const char *gai_strerror(int); -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gai_strerror_posix_signature=yes -else - gl_cv_func_gai_strerror_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gai_strerror_posix_signature" >&5 -$as_echo "$gl_cv_func_gai_strerror_posix_signature" >&6; } - if test $gl_cv_func_gai_strerror_posix_signature = no; then - REPLACE_GAI_STRERROR=1 - fi - fi - LIBS="$gai_saved_LIBS" @@ -29082,175 +24635,97 @@ $as_echo "$gl_cv_func_gai_strerror_posix_signature" >&6; } - ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" " -#include -#include -" -if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : + gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 -_ACEOF -fi - : + gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" - ac_fn_c_check_decl "$LINENO" "getaddrinfo" "ac_cv_have_decl_getaddrinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_have_decl_getaddrinfo" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETADDRINFO $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "freeaddrinfo" "ac_cv_have_decl_freeaddrinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_have_decl_freeaddrinfo" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_FREEADDRINFO $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "getnameinfo" "ac_cv_have_decl_getnameinfo" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_have_decl_getnameinfo" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETNAMEINFO $ac_have_decl -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" - if test $ac_cv_have_decl_getaddrinfo = no; then - HAVE_DECL_GETADDRINFO=0 - fi - if test $ac_cv_have_decl_freeaddrinfo = no; then - HAVE_DECL_FREEADDRINFO=0 - fi - if test $ac_cv_have_decl_gai_strerror = no; then - HAVE_DECL_GAI_STRERROR=0 - fi - if test $ac_cv_have_decl_getnameinfo = no; then - HAVE_DECL_GETNAMEINFO=0 - fi - ac_fn_c_check_type "$LINENO" "struct addrinfo" "ac_cv_type_struct_addrinfo" " -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_NETDB_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_type_struct_addrinfo" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_ADDRINFO 1 -_ACEOF -fi - if test $ac_cv_type_struct_addrinfo = no; then - HAVE_STRUCT_ADDRINFO=0 + + + gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" + + if test $ac_cv_func_vasnprintf = yes; then + +$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h + fi - case " $GETADDRINFO_LIB " in - *" $HOSTENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; - esac - case " $GETADDRINFO_LIB " in - *" $SERVENT_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; - esac - case " $GETADDRINFO_LIB " in - *" $INET_NTOP_LIB "*) ;; - *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; - esac - if test $HAVE_GETADDRINFO = 0; then + ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +if test "x$ac_cv_type_ptrdiff_t" = xyes; then : + +else + +$as_echo "#define ptrdiff_t long" >>confdefs.h + + +fi + + - gl_LIBOBJS="$gl_LIBOBJS getaddrinfo.$ac_objext" fi - if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then + + + for ac_func in vasprintf +do : + ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" +if test "x$ac_cv_func_vasprintf" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VASPRINTF 1 +_ACEOF + +fi +done + + if test $ac_cv_func_vasprintf = no; then + + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" + @@ -29259,132 +24734,179 @@ fi - gl_LIBOBJS="$gl_LIBOBJS gai_strerror.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" + + if test $ac_cv_func_vasprintf = yes; then + REPLACE_VASPRINTF=1 + else + HAVE_VASPRINTF=0 fi - GNULIB_GETADDRINFO=1 + fi -$as_echo "#define GNULIB_TEST_GETADDRINFO 1" >>confdefs.h + GNULIB_VASPRINTF=1 - : +$as_echo "#define GNULIB_TEST_VASPRINTF 1" >>confdefs.h + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" - : + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" + + + + gl_cv_func_vsnprintf_usable=no + for ac_func in vsnprintf +do : + ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" +if test "x$ac_cv_func_vsnprintf" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VSNPRINTF 1 +_ACEOF + +fi +done + if test $ac_cv_func_vsnprintf = yes; then - if test $ac_cv_func_getdelim = yes; then - HAVE_GETDELIM=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5 -$as_echo_n "checking for working getdelim function... " >&6; } -if ${gl_cv_func_working_getdelim+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 +$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } +if ${gl_cv_func_snprintf_size1+:} false; then : $as_echo_n "(cached) " >&6 else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + if test "$cross_compiling" = yes; then : + gl_cv_func_snprintf_size1="guessing yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif +#include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) +{ + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} #endif - +int main() +{ + static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; + my_snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then : - gl_cv_func_working_getdelim="guessing yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_snprintf_size1=yes else - gl_cv_func_working_getdelim="guessing no" + gl_cv_func_snprintf_size1=no fi -rm -f conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 +$as_echo "$gl_cv_func_snprintf_size1" >&6; } + + case "$gl_cv_func_snprintf_size1" in + *yes) + + case "$gl_cv_func_snprintf_retval_c99" in + *yes) + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 +$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } +if ${gl_cv_func_printf_positions+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# include -# include -# include - int main () - { - FILE *in = fopen ("./conftest.data", "r"); - if (!in) - return 1; - { - /* Test result for a NULL buffer and a zero size. - Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len = getdelim (&line, &siz, '\n', in); - if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) - return 2; - } - { - /* Test result for a NULL buffer and a non-zero size. - This crashes on FreeBSD 8.0. */ - char *line = NULL; - size_t siz = (size_t)(~0) / 4; - if (getdelim (&line, &siz, '\n', in) == -1) - return 3; - } - return 0; - } - +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +} _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_getdelim=yes + gl_cv_func_printf_positions=yes else - gl_cv_func_working_getdelim=no + gl_cv_func_printf_positions=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 -$as_echo "$gl_cv_func_working_getdelim" >&6; } - case "$gl_cv_func_working_getdelim" in - *no) - REPLACE_GETDELIM=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 +$as_echo "$gl_cv_func_printf_positions" >&6; } + + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_vsnprintf_usable=yes + ;; + esac + ;; + esac ;; esac - else - HAVE_GETDELIM=0 fi + if test $gl_cv_func_vsnprintf_usable = no; then - if test $ac_cv_have_decl_getdelim = no; then - HAVE_DECL_GETDELIM=0 - fi - if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then @@ -29393,46 +24915,40 @@ $as_echo "$gl_cv_func_working_getdelim" >&6; } - gl_LIBOBJS="$gl_LIBOBJS getdelim.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS vsnprintf.$ac_objext" + + if test $ac_cv_func_vsnprintf = yes; then + REPLACE_VSNPRINTF=1 + fi + : + fi - for ac_func in flockfile funlockfile -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF + : -fi -done - ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" -if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl -_ACEOF + if test $ac_cv_have_decl_vsnprintf = no; then + HAVE_DECL_VSNPRINTF=0 fi - GNULIB_GETDELIM=1 + + GNULIB_VSNPRINTF=1 -$as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h +$as_echo "#define GNULIB_TEST_VSNPRINTF 1" >>confdefs.h + + + @@ -29449,135 +24965,190 @@ $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h - gl_getline_needs_run_time_check=no - ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" -if test "x$ac_cv_func_getline" = xyes; then : - gl_getline_needs_run_time_check=yes -else - am_cv_func_working_getline=no -fi - if test $gl_getline_needs_run_time_check = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 -$as_echo_n "checking for working getline function... " >&6; } -if ${am_cv_func_working_getline+:} false; then : + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wchar_h='<'wchar.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_wchar_h+:} false; then : $as_echo_n "(cached) " >&6 else - echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) && !defined __UCLIBC__ - Lucky GNU user - #endif -#endif + if test $ac_cv_header_wchar_h = yes; then + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then : - am_cv_func_working_getline="guessing yes" -else - am_cv_func_working_getline="guessing no" + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'wchar.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_wchar_h + gl_cv_next_wchar_h='"'$gl_header'"' + else + gl_cv_next_wchar_h='<'wchar.h'>' + fi + + fi -rm -f conftest* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 +$as_echo "$gl_cv_next_wchar_h" >&6; } + fi + NEXT_WCHAR_H=$gl_cv_next_wchar_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'wchar.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_wchar_h + fi + NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + + if test $gt_cv_c_wint_t = yes; then + HAVE_WINT_T=1 + else + HAVE_WINT_T=0 + fi + + + + for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# include -# include -# include - int main () - { - FILE *in = fopen ("./conftest.data", "r"); - if (!in) - return 1; - { - /* Test result for a NULL buffer and a zero size. - Based on a test program from Karl Heuer. */ - char *line = NULL; - size_t siz = 0; - int len = getline (&line, &siz, in); - if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) - return 2; - } - { - /* Test result for a NULL buffer and a non-zero size. - This crashes on FreeBSD 8.0. */ - char *line = NULL; - size_t siz = (size_t)(~0) / 4; - if (getline (&line, &siz, in) == -1) - return 3; - } - return 0; - } +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +#endif +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_working_getline=yes +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - am_cv_func_working_getline=no + eval "$as_gl_Symbol=no" fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 -$as_echo "$am_cv_func_working_getline" >&6; } - fi + done - if test $ac_cv_have_decl_getline = no; then - HAVE_DECL_GETLINE=0 - fi - case "$am_cv_func_working_getline" in - *no) - REPLACE_GETLINE=1 - ;; - esac - if test $REPLACE_GETLINE = 1; then + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H 1 +_ACEOF +fi +done + # End of code from modules - gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" - : - fi + gltests_libdeps= + gltests_ltlibdeps= - GNULIB_GETLINE=1 -$as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h + gl_source_base='gl/tests' + gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + gl_module_indicator_condition=$gltests_WITNESS - if test $REPLACE_GETOPT = 1; then @@ -29586,175 +25157,612 @@ $as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" + if test $gl_cv_have_include_next = yes; then + gl_cv_next_fcntl_h='<'fcntl.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_fcntl_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'fcntl.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + gl_header=$gl_cv_absolute_fcntl_h + gl_cv_next_fcntl_h='"'$gl_header'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 +$as_echo "$gl_cv_next_fcntl_h" >&6; } + fi + NEXT_FCNTL_H=$gl_cv_next_fcntl_h - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'fcntl.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_fcntl_h + fi + NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive - : - GNULIB_GL_UNISTD_H_GETOPT=1 - fi + for gl_func in fcntl openat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF -$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h + eval ac_cv_have_decl_$gl_func=yes +fi + done + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FDOPEN=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5 +$as_echo_n "checking whether fdopen sets errno... " >&6; } +if ${gl_cv_func_fdopen_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + mingw*) gl_cv_func_fdopen_works="guessing no" ;; + *) gl_cv_func_fdopen_works="guessing yes" ;; + esac - REPLACE_GETOPT=1 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test $REPLACE_GETOPT = 1; then +#include +#include +int +main (void) +{ + FILE *fp; + errno = 0; + fp = fdopen (-1, "r"); + if (fp == NULL && errno == 0) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fdopen_works=yes +else + gl_cv_func_fdopen_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - GETOPT_H=getopt.h -$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5 +$as_echo "$gl_cv_func_fdopen_works" >&6; } + case "$gl_cv_func_fdopen_works" in + *no) REPLACE_FDOPEN=1 ;; + esac + fi + if test $REPLACE_FDOPEN = 1; then - fi - if test $REPLACE_GETOPT = 1; then + gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" + if test "$GNULIB_FDOPEN" != 1; then + if test "$GNULIB_FDOPEN" = 0; then + GNULIB_FDOPEN=$gl_module_indicator_condition + else + GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)" + fi + fi - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" +$as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h - : + for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF - GNULIB_GL_UNISTD_H_GETOPT=1 - fi +fi +done + if test $ac_cv_func_getpagesize = no; then + HAVE_GETPAGESIZE=0 + for ac_header in OS.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "OS.h" "ac_cv_header_OS_h" "$ac_includes_default" +if test "x$ac_cv_header_OS_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_OS_H 1 +_ACEOF +fi +done - for ac_func in getpass + if test $ac_cv_header_OS_h = yes; then + HAVE_OS_H=1 + fi + for ac_header in sys/param.h do : - ac_fn_c_check_func "$LINENO" "getpass" "ac_cv_func_getpass" -if test "x$ac_cv_func_getpass" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_param_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GETPASS 1 +#define HAVE_SYS_PARAM_H 1 _ACEOF fi + done + if test $ac_cv_header_sys_param_h = yes; then + HAVE_SYS_PARAM_H=1 + fi + fi + case "$host_os" in + mingw*) + REPLACE_GETPAGESIZE=1 + ;; + esac + ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" +if test "x$ac_cv_have_decl_getpagesize" = xyes; then : + +else + HAVE_DECL_GETPAGESIZE=0 +fi - : + if test $REPLACE_GETPAGESIZE = 1; then - if test $ac_cv_func_getpass = yes; then - HAVE_GETPASS=1 - else - HAVE_GETPASS=0 + + + + + gltests_LIBOBJS="$gltests_LIBOBJS getpagesize.$ac_objext" + fi - if test $HAVE_GETPASS = 0; then + + + + + if test "$GNULIB_GETPAGESIZE" != 1; then + if test "$GNULIB_GETPAGESIZE" = 0; then + GNULIB_GETPAGESIZE=$gl_module_indicator_condition + else + GNULIB_GETPAGESIZE="($GNULIB_GETPAGESIZE || $gl_module_indicator_condition)" + fi + fi +$as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS getpass.$ac_objext" - : + PRIPTR_PREFIX= + if test -n "$STDINT_H"; then + PRIPTR_PREFIX='"l"' + else + for glpfx in '' l ll I64; do + case $glpfx in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + I64) gltype1='__int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + extern intptr_t foo; + extern $gltype1 foo; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + PRIPTR_PREFIX='"'$glpfx'"' +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test -n "$PRIPTR_PREFIX" && break + done + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 +$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } +if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + #include + #if HAVE_STDINT_H + #include + #endif - : + #if defined INT32_MAX && defined INTMAX_MAX + #define CONDITION (INT32_MAX < INTMAX_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (int) < sizeof (long long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes +else + gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 +$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } + if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then + INT32_MAX_LT_INTMAX_MAX=1; + else + INT32_MAX_LT_INTMAX_MAX=0; + fi + + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 +$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } +if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + #include + #if HAVE_STDINT_H + #include + #endif + #if defined INT64_MAX + #define CONDITION (INT64_MAX == LONG_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (long long int) == sizeof (long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes +else + gl_cv_test_INT64_MAX_EQ_LONG_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 +$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } + if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then + INT64_MAX_EQ_LONG_MAX=1; + else + INT64_MAX_EQ_LONG_MAX=0; + fi + else + INT64_MAX_EQ_LONG_MAX=-1 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 +$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } +if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + #include + #if HAVE_STDINT_H + #include + #endif + #if defined UINT32_MAX && defined UINTMAX_MAX + #define CONDITION (UINT32_MAX < UINTMAX_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ - ac_fn_c_check_decl "$LINENO" "__fsetlocking" "ac_cv_have_decl___fsetlocking" "#include - #if HAVE_STDIO_EXT_H - #include - #endif -" -if test "x$ac_cv_have_decl___fsetlocking" = xyes; then : - ac_have_decl=1 + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes else - ac_have_decl=0 + gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 +$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } + if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then + UINT32_MAX_LT_UINTMAX_MAX=1; + else + UINT32_MAX_LT_UINTMAX_MAX=0; + fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL___FSETLOCKING $ac_have_decl + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 +$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } +if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Work also in C++ mode. */ + #define __STDC_LIMIT_MACROS 1 + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H + + #include + #if HAVE_STDINT_H + #include + #endif + + #if defined UINT64_MAX + #define CONDITION (UINT64_MAX == ULONG_MAX) + #elif HAVE_LONG_LONG_INT + #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) + #else + #define CONDITION 0 + #endif + int test[CONDITION ? 1 : -1]; +int +main () +{ + + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes +else + gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 +$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } + if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then + UINT64_MAX_EQ_ULONG_MAX=1; + else + UINT64_MAX_EQ_ULONG_MAX=0; + fi + + + else + UINT64_MAX_EQ_ULONG_MAX=-1 + fi + + + + + + + # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it + # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is + # irrelevant for anonymous mappings. + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = xyes; then : + gl_have_mmap=yes +else + gl_have_mmap=no +fi - : + # Try to allow MAP_ANONYMOUS. + gl_have_mmap_anonymous=no + if test $gl_have_mmap = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 +$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef MAP_ANONYMOUS + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + if test $gl_have_mmap_anonymous != yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef MAP_ANON + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - : +$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 +$as_echo "$gl_have_mmap_anonymous" >&6; } + if test $gl_have_mmap_anonymous = yes; then +$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h + fi + fi : @@ -29771,86 +25779,184 @@ _ACEOF - : + # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it + # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is + # irrelevant for anonymous mappings. + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = xyes; then : + gl_have_mmap=yes +else + gl_have_mmap=no +fi - : - fi + # Try to allow MAP_ANONYMOUS. + gl_have_mmap_anonymous=no + if test $gl_have_mmap = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 +$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test "$ac_cv_header_winsock2_h" = yes; then +#include +#ifdef MAP_ANONYMOUS + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + if test $gl_have_mmap_anonymous != yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef MAP_ANON + I cannot identify this map +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "I cannot identify this map" >/dev/null 2>&1; then : +$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h + gl_have_mmap_anonymous=yes +fi +rm -f conftest* + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 +$as_echo "$gl_have_mmap_anonymous" >&6; } + if test $gl_have_mmap_anonymous = yes; then - gl_LIBOBJS="$gl_LIBOBJS getpeername.$ac_objext" +$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h + fi fi + : - GNULIB_GETPEERNAME=1 - + : -$as_echo "#define GNULIB_TEST_GETPEERNAME 1" >>confdefs.h + : - : + # Check whether --enable-valgrind-tests was given. +if test "${enable_valgrind_tests+set}" = set; then : + enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval +else + opt_valgrind_tests=yes +fi - if test $ac_cv_func_getsubopt = no; then - HAVE_GETSUBOPT=0 + # Run self-tests under valgrind? + if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then + for ac_prog in valgrind +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_VALGRIND+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$VALGRIND"; then + ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_VALGRIND="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS - if test $HAVE_GETSUBOPT = 0; then - +fi +fi +VALGRIND=$ac_cv_prog_VALGRIND +if test -n "$VALGRIND"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5 +$as_echo "$VALGRIND" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + test -n "$VALGRIND" && break +done + fi + OPTS="-q --error-exitcode=1 --leak-check=full --suppressions=suppressions.valgrind" + if test -n "$VALGRIND" \ + && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then + opt_valgrind_tests=yes + VALGRIND="$VALGRIND $OPTS" + else + opt_valgrind_tests=no + VALGRIND= + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5 +$as_echo_n "checking whether self tests are run under valgrind... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5 +$as_echo "$opt_valgrind_tests" >&6; } - gl_LIBOBJS="$gl_LIBOBJS getsubopt.$ac_objext" + abs_aux_dir=`cd "$ac_aux_dir"; pwd` - : - fi - GNULIB_GETSUBOPT=1 -$as_echo "#define GNULIB_TEST_GETSUBOPT 1" >>confdefs.h + LIBTESTS_LIBDEPS="$gltests_libdeps" + GNULIB_INET_NTOP=0; + GNULIB_INET_PTON=0; + HAVE_DECL_INET_NTOP=1; + HAVE_DECL_INET_PTON=1; + REPLACE_INET_NTOP=0; + REPLACE_INET_PTON=0; @@ -29858,11 +25964,11 @@ $as_echo "#define GNULIB_TEST_GETSUBOPT 1" >>confdefs.h - : + : @@ -29870,229 +25976,339 @@ $as_echo "#define GNULIB_TEST_GETSUBOPT 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 +$as_echo_n "checking if environ is properly declared... " >&6; } + if ${gt_cv_var_environ_declaration+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include + extern struct { int foo; } environ; +int +main () +{ +environ.foo = 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_var_environ_declaration=no +else + gt_cv_var_environ_declaration=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi - : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 +$as_echo "$gt_cv_var_environ_declaration" >&6; } + if test $gt_cv_var_environ_declaration = yes; then +$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h + fi + if test $gt_cv_var_environ_declaration != yes; then + HAVE_DECL_ENVIRON=0 + fi +ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" +if test "x$ac_cv_have_decl_strerror_r" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - gl_gettimeofday_timezone=void - if test $ac_cv_func_gettimeofday != yes; then - HAVE_GETTIMEOFDAY=0 - else +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRERROR_R $ac_have_decl +_ACEOF +for ac_func in strerror_r +do : + ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" +if test "x$ac_cv_func_strerror_r" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRERROR_R 1 +_ACEOF +fi +done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 -$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } -if ${gl_cv_func_gettimeofday_clobber+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 +$as_echo_n "checking whether strerror_r returns char *... " >&6; } +if ${ac_cv_func_strerror_r_char_p+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - # When cross-compiling: - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_cv_func_strerror_r_char_p=no + if test $ac_cv_have_decl_strerror_r = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - #include - +$ac_includes_default int main () { - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; + char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + char *p = strerror_r (0, buf, sizeof buf); + return !p || x; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_gettimeofday_clobber=no +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + # strerror_r is not declared. Choose between + # systems that have relatively inaccessible declarations for the + # function. BeOS and DEC UNIX 4.0 fall in this category, but the + # former has a strerror_r that returns char*, while the latter + # has a strerror_r that returns `int'. + # This test should segfault on the DEC system. + if test "$cross_compiling" = yes; then : + : else - gl_cv_func_gettimeofday_clobber=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + extern char *strerror_r (); +int +main () +{ +char buf[100]; + char x = *strerror_r (0, buf, sizeof buf); + return ! isalpha (x); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_strerror_r_char_p=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 -$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 +$as_echo "$ac_cv_func_strerror_r_char_p" >&6; } +if test $ac_cv_func_strerror_r_char_p = yes; then - case "$gl_cv_func_gettimeofday_clobber" in - *yes) - REPLACE_GETTIMEOFDAY=1 +$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h +fi -$as_echo "#define gmtime rpl_gmtime" >>confdefs.h + ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default" +if test "x$ac_cv_have_decl_fseeko" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi -$as_echo "#define localtime rpl_localtime" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FSEEKO $ac_have_decl +_ACEOF -$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 -$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } -if ${gl_cv_func_gettimeofday_posix_signature+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - struct timeval c; - int gettimeofday (struct timeval *restrict, void *restrict); -int -main () -{ -/* glibc uses struct timezone * rather than the POSIX void * - if _GNU_SOURCE is defined. However, since the only portable - use of gettimeofday uses NULL as the second parameter, and - since the glibc definition is actually more typesafe, it is - not worth wrapping this to get a compliant signature. */ - int (*f) (struct timeval *restrict, void *restrict) - = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gettimeofday_posix_signature=yes + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 +$as_echo_n "checking for fseeko... " >&6; } +if ${gl_cv_func_fseeko+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int gettimeofday (struct timeval *restrict, struct timezone *restrict); +#include int main () { - +fseeko (stdin, 0, 0); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gettimeofday_posix_signature=almost +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_fseeko=yes else - gl_cv_func_gettimeofday_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_func_fseeko=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 -$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } - if test $gl_cv_func_gettimeofday_posix_signature = almost; then - gl_gettimeofday_timezone='struct timezone' - elif test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 - fi - if test $REPLACE_STRUCT_TIMEVAL = 1; then - REPLACE_GETTIMEOFDAY=1 - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 +$as_echo "$gl_cv_func_fseeko" >&6; } - fi -cat >>confdefs.h <<_ACEOF -#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone -_ACEOF + : - if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 + fi + fi + HOSTENT_LIB= + gl_saved_libs="$LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl network net; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break +fi +done +if ${ac_cv_search_gethostbyname+:} false; then : +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_gethostbyname" != "none required"; then + HOSTENT_LIB="$ac_cv_search_gethostbyname" + fi +fi - for ac_header in sys/timeb.h + LIBS="$gl_saved_libs" + if test -z "$HOSTENT_LIB"; then + for ac_func in gethostbyname do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_timeb_h" = xyes; then : + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMEB_H 1 +#define HAVE_GETHOSTBYNAME 1 _ACEOF -fi +else -done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } +if ${gl_cv_w32_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_w32_gethostbyname=no + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - for ac_func in _ftime -do : - ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" -if test "x$ac_cv_func__ftime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FTIME 1 +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include + +int +main () +{ +gethostbyname(NULL); + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_w32_gethostbyname=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 +$as_echo "$gl_cv_w32_gethostbyname" >&6; } + if test "$gl_cv_w32_gethostbyname" = "yes"; then + HOSTENT_LIB="-lws2_32" + fi +fi +done fi - - - GNULIB_GETTIMEOFDAY=1 - - - - - -$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h - - - - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - - - HOSTENT_LIB= + SERVENT_LIB= gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if ${ac_cv_search_gethostbyname+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 +$as_echo_n "checking for library containing getservbyname... " >&6; } +if ${ac_cv_search_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -30105,16 +26321,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char gethostbyname (); +char getservbyname (); int main () { -return gethostbyname (); +return getservbyname (); ; return 0; } _ACEOF -for ac_lib in '' nsl network net; do +for ac_lib in '' socket network net; do if test -z "$ac_lib"; then ac_res="none required" else @@ -30122,50 +26338,50 @@ for ac_lib in '' nsl network net; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gethostbyname=$ac_res + ac_cv_search_getservbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if ${ac_cv_search_gethostbyname+:} false; then : + if ${ac_cv_search_getservbyname+:} false; then : break fi done -if ${ac_cv_search_gethostbyname+:} false; then : +if ${ac_cv_search_getservbyname+:} false; then : else - ac_cv_search_gethostbyname=no + ac_cv_search_getservbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } -ac_res=$ac_cv_search_gethostbyname +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 +$as_echo "$ac_cv_search_getservbyname" >&6; } +ac_res=$ac_cv_search_getservbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_gethostbyname" != "none required"; then - HOSTENT_LIB="$ac_cv_search_gethostbyname" + if test "$ac_cv_search_getservbyname" != "none required"; then + SERVENT_LIB="$ac_cv_search_getservbyname" fi fi LIBS="$gl_saved_libs" - if test -z "$HOSTENT_LIB"; then - for ac_func in gethostbyname + if test -z "$SERVENT_LIB"; then + for ac_func in getservbyname do : - ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" -if test "x$ac_cv_func_gethostbyname" = xyes; then : + ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" +if test "x$ac_cv_func_getservbyname" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GETHOSTBYNAME 1 +#define HAVE_GETSERVBYNAME 1 _ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } -if ${gl_cv_w32_gethostbyname+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } +if ${gl_cv_w32_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else - gl_cv_w32_gethostbyname=no + gl_cv_w32_getservbyname=no gl_save_LIBS="$LIBS" LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -30179,23 +26395,23 @@ else int main () { -gethostbyname(NULL); +getservbyname(NULL,NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_gethostbyname=yes + gl_cv_w32_getservbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 -$as_echo "$gl_cv_w32_gethostbyname" >&6; } - if test "$gl_cv_w32_gethostbyname" = "yes"; then - HOSTENT_LIB="-lws2_32" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 +$as_echo "$gl_cv_w32_getservbyname" >&6; } + if test "$gl_cv_w32_getservbyname" = "yes"; then + SERVENT_LIB="-lws2_32" fi fi @@ -30376,41 +26592,6 @@ _ACEOF fi - if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS inet_ntop.$ac_objext" - - - - - fi - - - - - - GNULIB_INET_NTOP=1 - - - - - - - - - - - - HAVE_INET_PTON=1 - INET_PTON_LIB= - @@ -30420,160 +26601,108 @@ _ACEOF - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF - -fi - -done - - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - - - if test $HAVE_WINSOCK2_H = 1; then - ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include -" -if test "x$ac_cv_have_decl_inet_pton" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_PTON $ac_have_decl -_ACEOF - if test $ac_cv_have_decl_inet_pton = yes; then - REPLACE_INET_PTON=1 - INET_PTON_LIB="-lws2_32" - else - HAVE_DECL_INET_PTON=0 - HAVE_INET_PTON=0 - fi - else - gl_save_LIBS=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5 -$as_echo_n "checking for library containing inet_pton... " >&6; } -if ${ac_cv_search_inet_pton+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5 +$as_echo_n "checking for IPv4 sockets... " >&6; } + if ${gl_cv_socket_ipv4+:} false; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include #endif -char inet_pton (); int main () { -return inet_pton (); +int x = AF_INET; struct in_addr y; struct sockaddr_in z; + if (&x && &y && &z) return 0; ; return 0; } _ACEOF -for ac_lib in '' nsl resolv; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_pton=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_inet_pton+:} false; then : - break -fi -done -if ${ac_cv_search_inet_pton+:} false; then : - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_socket_ipv4=yes else - ac_cv_search_inet_pton=no + gl_cv_socket_ipv4=no fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 -$as_echo "$ac_cv_search_inet_pton" >&6; } -ac_res=$ac_cv_search_inet_pton -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -else - for ac_func in inet_pton -do : - ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" -if test "x$ac_cv_func_inet_pton" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INET_PTON 1 -_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv4" >&5 +$as_echo "$gl_cv_socket_ipv4" >&6; } + if test $gl_cv_socket_ipv4 = yes; then -fi -done +$as_echo "#define HAVE_IPV4 1" >>confdefs.h - if test $ac_cv_func_inet_pton = no; then - HAVE_INET_PTON=0 - fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv6 sockets" >&5 +$as_echo_n "checking for IPv6 sockets... " >&6; } + if ${gl_cv_socket_ipv6+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETINET_IN_H +#include +#endif +#ifdef HAVE_WINSOCK2_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +int +main () +{ +int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; + if (&x && &y && &z) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_socket_ipv6=yes +else + gl_cv_socket_ipv6=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - LIBS=$gl_save_LIBS - - if test "$ac_cv_search_inet_pton" != "no" \ - && test "$ac_cv_search_inet_pton" != "none required"; then - INET_PTON_LIB="$ac_cv_search_inet_pton" - fi - - - : - - + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socket_ipv6" >&5 +$as_echo "$gl_cv_socket_ipv6" >&6; } + if test $gl_cv_socket_ipv6 = yes; then +$as_echo "#define HAVE_IPV6 1" >>confdefs.h + fi - ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include - #if HAVE_NETDB_H - # include - #endif -" -if test "x$ac_cv_have_decl_inet_pton" = xyes; then : + ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default" +if test "x$ac_cv_have_decl_getpass" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_INET_PTON $ac_have_decl +#define HAVE_DECL_GETPASS $ac_have_decl _ACEOF - if test $ac_cv_have_decl_inet_pton = no; then - HAVE_DECL_INET_PTON=0 - fi - fi - if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then @@ -30582,225 +26711,88 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS inet_pton.$ac_objext" - fi - GNULIB_INET_PTON=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(double) can be used without linking with libm" >&5 -$as_echo_n "checking whether isnan(double) can be used without linking with libm... " >&6; } -if ${gl_cv_func_isnand_no_libm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #if __GNUC__ >= 4 - # undef isnand - # define isnand(x) __builtin_isnan ((double)(x)) - #else - # undef isnand - # define isnand(x) isnan ((double)(x)) - #endif - double x; -int -main () -{ -return isnand (x); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_isnand_no_libm=yes -else - gl_cv_func_isnand_no_libm=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnand_no_libm" >&5 -$as_echo "$gl_cv_func_isnand_no_libm" >&6; } - - gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm - if test $gl_cv_func_isnand_no_libm = yes; then -$as_echo "#define HAVE_ISNAND_IN_LIBC 1" >>confdefs.h - - fi - - if test $gl_func_isnand_no_libm != yes; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS isnand.$ac_objext" - - - - - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl +_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) can be used without linking with libm" >&5 -$as_echo_n "checking whether isnan(float) can be used without linking with libm... " >&6; } -if ${gl_cv_func_isnanf_no_libm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #if __GNUC__ >= 4 - # undef isnanf - # define isnanf(x) __builtin_isnanf ((float)(x)) - #elif defined isnan - # undef isnanf - # define isnanf(x) isnan ((float)(x)) - #endif - float x; -int -main () -{ -return isnanf (x); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_isnanf_no_libm=yes + ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default" +if test "x$ac_cv_have_decl_flockfile" = xyes; then : + ac_have_decl=1 else - gl_cv_func_isnanf_no_libm=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - + ac_have_decl=0 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_no_libm" >&5 -$as_echo "$gl_cv_func_isnanf_no_libm" >&6; } - - if test $gl_cv_func_isnanf_no_libm = yes; then - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FLOCKFILE $ac_have_decl +_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(float) works" >&5 -$as_echo_n "checking whether isnan(float) works... " >&6; } -if ${gl_cv_func_isnanf_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - irix* | solaris*) gl_cv_func_isnanf_works="guessing no";; - *) gl_cv_func_isnanf_works="guessing yes";; - esac + ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then : + ac_have_decl=1 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if __GNUC__ >= 4 -# undef isnanf -# define isnanf(x) __builtin_isnanf ((float)(x)) -#elif defined isnan -# undef isnanf -# define isnanf(x) isnan ((float)(x)) -#endif -/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ -#ifdef __DECC -static float -NaN () -{ - static float zero = 0.0f; - return zero / zero; -} -#else -# define NaN() (0.0f / 0.0f) -#endif -#define NWORDS \ - ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { unsigned int word[NWORDS]; float value; } memory_float; -int main() -{ - int result = 0; - - if (isnanf (1.0f / 0.0f)) - result |= 1; + ac_have_decl=0 +fi - if (!isnanf (NaN ())) - result |= 2; +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl +_ACEOF -#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT - /* The isnanf function should be immune against changes in the sign bit and - in the mantissa bits. The xor operation twiddles a bit that can only be - a sign bit or a mantissa bit. */ - if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0) - { - memory_float m; - m.value = NaN (); - /* Set the bits below the exponent to 01111...111. */ - m.word[0] &= -1U << FLT_EXPBIT0_BIT; - m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1; - if (!isnanf (m.value)) - result |= 4; - } -#endif - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_isnanf_works=yes + ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default" +if test "x$ac_cv_have_decl_funlockfile" = xyes; then : + ac_have_decl=1 else - gl_cv_func_isnanf_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_have_decl=0 fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FUNLOCKFILE $ac_have_decl +_ACEOF -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanf_works" >&5 -$as_echo "$gl_cv_func_isnanf_works" >&6; } - fi - if test $gl_cv_func_isnanf_no_libm = yes \ - && { case "$gl_cv_func_isnanf_works" in - *yes) true;; - *) false;; - esac - }; then - gl_func_isnanf_no_libm=yes -$as_echo "#define HAVE_ISNANF_IN_LIBC 1" >>confdefs.h + ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - else - gl_func_isnanf_no_libm=no - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl +_ACEOF - if test $gl_func_isnanf_no_libm != yes; then +: @@ -30808,607 +26800,356 @@ $as_echo "#define HAVE_ISNANF_IN_LIBC 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS isnanf.$ac_objext" + for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF +fi +done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 -$as_echo_n "checking where to find the exponent in a 'float'... " >&6; } -if ${gl_cv_cc_float_expbit0+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else - - if test "$cross_compiling" = yes; then : - gl_cv_cc_float_expbit0="word 0 bit 23" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { float value; unsigned int word[NWORDS]; } memory_float; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (float x) -{ - memory_float m; - size_t i; - /* Clear it first, in case - sizeof (float) < sizeof (memory_float). */ - memset (&m, 0, sizeof (memory_float)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25f); - add_to_ored_words (0.5f); - add_to_ored_words (1.0f); - add_to_ored_words (2.0f); - add_to_ored_words (4.0f); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on platforms where we know the result. + *-gnu* | freebsd* | netbsd* | openbsd* \ + | hpux* | solaris* | cygwin* | mingw*) + ac_cv_func_malloc_0_nonnull=yes ;; + # If we don't know, assume the worst. + *) ac_cv_func_malloc_0_nonnull=no ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H + # include + #else + char *malloc (); + #endif + +int +main () +{ +return ! malloc (0); + ; + return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_float_expbit0=`cat conftest.out` + ac_cv_func_malloc_0_nonnull=yes else - gl_cv_cc_float_expbit0="unknown" + ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 -$as_echo "$gl_cv_cc_float_expbit0" >&6; } - case "$gl_cv_cc_float_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } + if test $ac_cv_func_malloc_0_nonnull = yes; then : + gl_cv_func_malloc_0_nonnull=1 +else + gl_cv_func_malloc_0_nonnull=0 +fi + cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_WORD $word +#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull _ACEOF + + ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" +if test "x$ac_cv_have_decl_alarm" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_BIT $bit +#define HAVE_DECL_ALARM $ac_have_decl _ACEOF - ;; - esac - fi + # parse-datetime.y works with bison only. + : ${YACC='bison -y'} - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnan(long double) can be used without linking with libm" >&5 -$as_echo_n "checking whether isnan(long double) can be used without linking with libm... " >&6; } -if ${gl_cv_func_isnanl_no_libm+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compound literals" >&5 +$as_echo_n "checking for compound literals... " >&6; } +if ${gl_cv_compound_literals+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #if __GNUC__ >= 4 - # undef isnanl - # define isnanl(x) __builtin_isnanl ((long double)(x)) - #elif defined isnan - # undef isnanl - # define isnanl(x) isnan ((long double)(x)) - #endif - long double x; +struct s { int i, j; }; int main () { -return isnanl (x); +struct s t = (struct s) { 3, 4 }; + if (t.i != 0) return 0; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_isnanl_no_libm=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compound_literals=yes else - gl_cv_func_isnanl_no_libm=no + gl_cv_compound_literals=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_no_libm" >&5 -$as_echo "$gl_cv_func_isnanl_no_libm" >&6; } - - gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm - if test $gl_func_isnanl_no_libm = yes; then - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compound_literals" >&5 +$as_echo "$gl_cv_compound_literals" >&6; } + if test $gl_cv_compound_literals = yes; then +$as_echo "#define HAVE_COMPOUND_LITERALS 1" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isnanl works" >&5 -$as_echo_n "checking whether isnanl works... " >&6; } -if ${gl_cv_func_isnanl_works+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else - - if test "$cross_compiling" = yes; then : - case "$host_cpu" in - # Guess no on ia64, x86_64, i386. - ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; - *) - case "$host_os" in - netbsd*) gl_cv_func_isnanl_works="guessing no";; - *) gl_cv_func_isnanl_works="guessing yes";; - esac - ;; - esac - -else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +#include -#include -#include -#include -#if __GNUC__ >= 4 -# undef isnanl -# define isnanl(x) __builtin_isnanl ((long double)(x)) -#elif defined isnan -# undef isnanl -# define isnanl(x) isnan ((long double)(x)) -#endif -#define NWORDS \ - ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { unsigned int word[NWORDS]; long double value; } - memory_long_double; -/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the - runtime type conversion. */ -#ifdef __sgi -static long double NaNl () -{ - double zero = 0.0; - return zero / zero; -} -#else -# define NaNl() (0.0L / 0.0L) -#endif -int main () +int +main () { - int result = 0; - - if (!isnanl (NaNl ())) - result |= 1; - - { - memory_long_double m; - unsigned int i; - - /* The isnanl function should be immune against changes in the sign bit and - in the mantissa bits. The xor operation twiddles a bit that can only be - a sign bit or a mantissa bit (since the exponent never extends to - bit 31). */ - m.value = NaNl (); - m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); - for (i = 0; i < NWORDS; i++) - m.word[i] |= 1; - if (!isnanl (m.value)) - result |= 1; - } - -#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE -/* Representation of an 80-bit 'long double' as an initializer for a sequence - of 'unsigned int' words. */ -# ifdef WORDS_BIGENDIAN -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ - ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ - (unsigned int) (mantlo) << 16 \ - } -# else -# define LDBL80_WORDS(exponent,manthi,mantlo) \ - { mantlo, manthi, exponent } -# endif - { /* Quiet NaN. */ - static memory_long_double x = - { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; - if (!isnanl (x.value)) - result |= 2; - } - { - /* Signalling NaN. */ - static memory_long_double x = - { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; - if (!isnanl (x.value)) - result |= 2; - } - /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, - Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in - Intel IA-64 Architecture Software Developer's Manual, Volume 1: - Application Architecture. - Table 5-2 "Floating-Point Register Encodings" - Figure 5-6 "Memory to Floating-Point Register Data Translation" - */ - { /* Pseudo-NaN. */ - static memory_long_double x = - { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; - if (!isnanl (x.value)) - result |= 4; - } - { /* Pseudo-Infinity. */ - static memory_long_double x = - { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; - if (!isnanl (x.value)) - result |= 8; - } - { /* Pseudo-Zero. */ - static memory_long_double x = - { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; - if (!isnanl (x.value)) - result |= 16; - } - { /* Unnormalized number. */ - static memory_long_double x = - { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; - if (!isnanl (x.value)) - result |= 32; - } - { /* Pseudo-Denormal. */ - static memory_long_double x = - { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; - if (!isnanl (x.value)) - result |= 64; - } -#endif - - return result; +struct tm tm; + int *p = &tm.tm_sec; + return !p; + ; + return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_isnanl_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_struct_tm=time.h else - gl_cv_func_isnanl_works=no + ac_cv_struct_tm=sys/time.h fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +$as_echo "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isnanl_works" >&5 -$as_echo "$gl_cv_func_isnanl_works" >&6; } - case "$gl_cv_func_isnanl_works" in - *yes) ;; - *) gl_func_isnanl_no_libm=no ;; - esac - fi - if test $gl_func_isnanl_no_libm = yes; then -$as_echo "#define HAVE_ISNANL_IN_LIBC 1" >>confdefs.h + ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include +" +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : - fi +$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h - if test $gl_func_isnanl_no_libm != yes; then +fi + GNULIB_PSELECT=0; + GNULIB_SELECT=0; + HAVE_PSELECT=1; + REPLACE_PSELECT=0; + REPLACE_SELECT=0; - gl_LIBOBJS="$gl_LIBOBJS isnanl.$ac_objext" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5 -$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; } -if ${gl_cv_cc_long_double_expbit0+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - - gl_cv_cc_long_double_expbit0="unknown" - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { long double value; unsigned int word[NWORDS]; } - memory_long_double; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (long double x) -{ - memory_long_double m; - size_t i; - /* Clear it first, in case - sizeof (long double) < sizeof (memory_long_double). */ - memset (&m, 0, sizeof (memory_long_double)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25L); - add_to_ored_words (0.5L); - add_to_ored_words (1.0L); - add_to_ored_words (2.0L); - add_to_ored_words (4.0L); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_long_double_expbit0=`cat conftest.out` -else - gl_cv_cc_long_double_expbit0="unknown" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - rm -f conftest.out - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_expbit0" >&5 -$as_echo "$gl_cv_cc_long_double_expbit0" >&6; } - case "$gl_cv_cc_long_double_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` - -cat >>confdefs.h <<_ACEOF -#define LDBL_EXPBIT0_WORD $word -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define LDBL_EXPBIT0_BIT $bit -_ACEOF - - ;; - esac - - - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5 -$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; } -if ${gl_cv_ld_output_def+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include int main () { - +struct timeval b; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_ld_output_def=yes -else - gl_cv_ld_output_def=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5 -$as_echo "$gl_cv_ld_output_def" >&6; } - if test "x$gl_cv_ld_output_def" = "xyes"; then - HAVE_LD_OUTPUT_DEF_TRUE= - HAVE_LD_OUTPUT_DEF_FALSE='#' +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_select_h_selfcontained=yes else - HAVE_LD_OUTPUT_DEF_TRUE='#' - HAVE_LD_OUTPUT_DEF_FALSE= -fi - - - - # Check whether --enable-ld-version-script was given. -if test "${enable_ld_version_script+set}" = set; then : - enableval=$enable_ld_version_script; have_ld_version_script=$enableval + gl_cv_header_sys_select_h_selfcontained=no fi - - if test -z "$have_ld_version_script"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5 -$as_echo_n "checking if LD -Wl,--version-script works... " >&6; } - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" - cat > conftest.map <conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_header_sys_select_h_selfcontained = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include int main () { - +int memset; int bzero; ; return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - accepts_syntax_errors=yes -else - accepts_syntax_errors=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$accepts_syntax_errors" = no; then - cat > conftest.map <conftest.$ac_ext +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - +#include int main () { + #undef memset + #define memset nonexistent_memset + extern + #ifdef __cplusplus + "C" + #endif + void *memset (void *, int, unsigned long); + #undef bzero + #define bzero nonexistent_bzero + extern + #ifdef __cplusplus + "C" + #endif + void bzero (void *, unsigned long); + fd_set fds; + FD_ZERO (&fds); + ; return 0; } + _ACEOF if ac_fn_c_try_link "$LINENO"; then : - have_ld_version_script=yes + else - have_ld_version_script=no + gl_cv_header_sys_select_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - else - have_ld_version_script=no - fi - rm -f conftest.map - LDFLAGS="$save_LDFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5 -$as_echo "$have_ld_version_script" >&6; } - fi - if test "$have_ld_version_script" = "yes"; then - HAVE_LD_VERSION_SCRIPT_TRUE= - HAVE_LD_VERSION_SCRIPT_FALSE='#' -else - HAVE_LD_VERSION_SCRIPT_TRUE='#' - HAVE_LD_VERSION_SCRIPT_FALSE= + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } - if test "$ac_cv_header_winsock2_h" = yes; then + : - gl_LIBOBJS="$gl_LIBOBJS listen.$ac_objext" - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_select_h='<'sys/select.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_select_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_sys_select_h = yes; then - GNULIB_LISTEN=1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/select.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_select_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_select_h + gl_cv_next_sys_select_h='"'$gl_header'"' + else + gl_cv_next_sys_select_h='<'sys/select.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 +$as_echo "$gl_cv_next_sys_select_h" >&6; } + fi + NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h -$as_echo "#define GNULIB_TEST_LISTEN 1" >>confdefs.h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/select.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_select_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive + if test $ac_cv_header_sys_select_h = yes; then + HAVE_SYS_SELECT_H=1 + else + HAVE_SYS_SELECT_H=0 + fi @@ -31420,168 +27161,280 @@ $as_echo "#define GNULIB_TEST_LISTEN 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 -$as_echo_n "checking whether lseek detects pipes... " >&6; } -if ${gl_cv_func_lseek_pipe+:} false; then : + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + +fi + +done + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + + + for gl_func in pselect select; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - case "$host_os" in - mingw*) - gl_cv_func_lseek_pipe=no - ;; - *) - if test $cross_compiling = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include /* for off_t */ -#include /* for SEEK_CUR */ -#if HAVE_UNISTD_H -# include -#else /* on Windows with MSVC */ -# include +/* Some systems require prerequisite headers. */ +#include +#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H +# include #endif +#include int main () { - - /* Exit with success only if stdin is seekable. */ - return lseek (0, (off_t)0, SEEK_CUR) < 0; - +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if test -s conftest$ac_exeext \ - && ./conftest$ac_exeext < conftest.$ac_ext \ - && test 1 = "`echo hi \ - | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then - gl_cv_func_lseek_pipe=yes - else - gl_cv_func_lseek_pipe=no - fi +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + + eval ac_cv_have_decl_$gl_func=yes +fi + done + + + ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_setenv" = xyes; then : + ac_have_decl=1 else - gl_cv_func_lseek_pipe=no + ac_have_decl=0 fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __BEOS__ -/* BeOS mistakenly return 0 when trying to seek on pipes. */ - Choke me. -#endif +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SETENV $ac_have_decl +_ACEOF + + + + + + + + + + + : + + + + + + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi + + : + + + + + + + + + + : + + + + + + for ac_header in search.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default" +if test "x$ac_cv_header_search_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SEARCH_H 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_lseek_pipe=yes -else - gl_cv_func_lseek_pipe=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - ;; - esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 -$as_echo "$gl_cv_func_lseek_pipe" >&6; } - if test $gl_cv_func_lseek_pipe = no; then - REPLACE_LSEEK=1 - -$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h - fi +done + for ac_func in tsearch +do : + ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch" +if test "x$ac_cv_func_tsearch" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TSEARCH 1 +_ACEOF - if test $WINDOWS_64_BIT_OFF_T = 1; then - REPLACE_LSEEK=1 - fi +fi +done - if test $REPLACE_LSEEK = 1; then + GNULIB_PTHREAD_SIGMASK=0; + GNULIB_RAISE=0; + GNULIB_SIGNAL_H_SIGPIPE=0; + GNULIB_SIGPROCMASK=0; + GNULIB_SIGACTION=0; + HAVE_POSIX_SIGNALBLOCKING=1; + HAVE_PTHREAD_SIGMASK=1; + HAVE_RAISE=1; + HAVE_SIGSET_T=1; + HAVE_SIGINFO_T=1; + HAVE_SIGACTION=1; + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + HAVE_SIGHANDLER_T=1; + REPLACE_PTHREAD_SIGMASK=0; + REPLACE_RAISE=0; + ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " + #include + /* Mingw defines sigset_t not in , but in . */ + #include - gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" +" +if test "x$ac_cv_type_sigset_t" = xyes; then : - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_SIGSET_T 1 +_ACEOF +gl_cv_type_sigset_t=yes +else + gl_cv_type_sigset_t=no +fi + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* - GNULIB_LSEEK=1 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then +$as_echo "#define uid_t int" >>confdefs.h +$as_echo "#define gid_t int" >>confdefs.h +fi -$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h + ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default" +if test "x$ac_cv_have_decl_strdup" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRDUP $ac_have_decl _ACEOF -fi -done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : + REPLACE_STRERROR_0=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5 +$as_echo_n "checking whether strerror(0) succeeds... " >&6; } +if ${gl_cv_func_strerror_0_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on platforms where we know the result. - *-gnu* | freebsd* | netbsd* | openbsd* \ - | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull=yes ;; - # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull=no ;; - esac + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_strerror_0_works="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H - # include - #else - char *malloc (); - #endif +#include + #include int main () { -return ! malloc (0); +int result = 0; + char *str; + errno = 0; + str = strerror (0); + if (!*str) result |= 1; + if (errno) result |= 2; + if (strstr (str, "nknown") || strstr (str, "ndefined")) + result |= 4; + return result; ; return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes + gl_cv_func_strerror_0_works=yes else - ac_cv_func_malloc_0_nonnull=no + gl_cv_func_strerror_0_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -31589,21 +27442,43 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } - if test $ac_cv_func_malloc_0_nonnull = yes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5 +$as_echo "$gl_cv_func_strerror_0_works" >&6; } + case "$gl_cv_func_strerror_0_works" in + *yes) ;; + *) + REPLACE_STRERROR_0=1 + +$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h + + ;; + esac -$as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h + ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_unsetenv" = xyes; then : + ac_have_decl=1 else - $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_UNSETENV $ac_have_decl +_ACEOF + - REPLACE_MALLOC=1 + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= fi + gl_cond_libtool=true + gl_m4_base='src/gl/m4' - if test $REPLACE_MALLOC = 1; then @@ -31612,55 +27487,107 @@ fi - gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" + gl_source_base='src/gl' - fi + if test "$ac_cv_header_winsock2_h" = yes; then -cat >>confdefs.h <<_ACEOF -#define GNULIB_MALLOC_GNU 1 -_ACEOF - if test $gl_cv_func_malloc_posix = yes; then -$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h + ggl_LIBOBJS="$ggl_LIBOBJS accept.$ac_objext" - else - REPLACE_MALLOC=1 fi - if test $REPLACE_MALLOC = 1; then + GNULIB_ACCEPT=1 - gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" +$as_echo "#define GNULIB_TEST_ACCEPT 1" >>confdefs.h + + + +LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` + + + + if test $ac_cv_func_alloca_works = no; then + : fi + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if ${gl_cv_rpl_alloca+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then : + gl_cv_rpl_alloca=yes +else + gl_cv_rpl_alloca=no +fi +rm -f conftest* - GNULIB_MALLOC_POSIX=1 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then + +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + + ALLOCA_H=alloca.h + else + ALLOCA_H= + fi + else + ALLOCA_H=alloca.h + fi + + if test -n "$ALLOCA_H"; then + GL_GENERATE_ALLOCA_H_TRUE= + GL_GENERATE_ALLOCA_H_FALSE='#' +else + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE= +fi -$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h + + : + + if test $ac_cv_header_arpa_inet_h = yes; then + HAVE_ARPA_INET_H=1 + else + HAVE_ARPA_INET_H=0 + fi @@ -31678,317 +27605,411 @@ $as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then - gl_cv_next_math_h='<'math.h'>' + gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_math_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_arpa_inet_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_math_h = yes; then + if test $ac_cv_header_arpa_inet_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - gl_header_literal_regex=`echo 'math.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_math_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'arpa/inet.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_arpa_inet_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_arpa_inet_h + gl_cv_next_arpa_inet_h='"'$gl_header'"' else - gl_cv_next_math_h='<'math.h'>' + gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_math_h" >&5 -$as_echo "$gl_cv_next_math_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_arpa_inet_h" >&5 +$as_echo "$gl_cv_next_arpa_inet_h" >&6; } fi - NEXT_MATH_H=$gl_cv_next_math_h + NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'math.h'>' + gl_next_as_first_directive='<'arpa/inet.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_math_h + gl_next_as_first_directive=$gl_cv_next_arpa_inet_h fi - NEXT_AS_FIRST_DIRECTIVE_MATH_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H=$gl_next_as_first_directive + + - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NAN macro works" >&5 -$as_echo_n "checking whether NAN macro works... " >&6; } -if ${gl_cv_header_math_nan_works+:} false; then : + + for gl_func in inet_ntop inet_pton; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +/* On some systems, this header is not self-consistent. */ +#if !(defined __GLIBC__ || defined __UCLIBC__) +# include +#endif +#ifdef __TANDEM +# include +#endif +#include + int main () { -/* Solaris 10 has a broken definition of NAN. Other platforms - fail to provide NAN, or provide it only in C99 mode; this - test only needs to fail when NAN is provided but wrong. */ - float f = 1.0f; -#ifdef NAN - f = NAN; -#endif - return f == 0; +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_math_nan_works=yes + eval "$as_gl_Symbol=yes" else - gl_cv_header_math_nan_works=no + eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_nan_works" >&5 -$as_echo "$gl_cv_header_math_nan_works" >&6; } - if test $gl_cv_header_math_nan_works = no; then - REPLACE_NAN=1 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether HUGE_VAL works" >&5 -$as_echo_n "checking whether HUGE_VAL works... " >&6; } -if ${gl_cv_header_math_huge_val_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -/* Solaris 10 has a broken definition of HUGE_VAL. */ - double d = HUGE_VAL; - return d == 0; - ; - return 0; -} +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_math_huge_val_works=yes -else - gl_cv_header_math_huge_val_works=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + eval ac_cv_have_decl_$gl_func=yes fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_math_huge_val_works" >&5 -$as_echo "$gl_cv_header_math_huge_val_works" >&6; } - if test $gl_cv_header_math_huge_val_works = no; then - REPLACE_HUGE_VAL=1 + done + + + + + if test "$ac_cv_header_winsock2_h" = yes; then + + + + + + + + + ggl_LIBOBJS="$ggl_LIBOBJS bind.$ac_objext" + fi - for gl_func in acosf acosl asinf asinl atanf atanl cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf expf expl exp2 exp2f exp2l expm1 expm1f expm1l fabsf fabsl floorf floorl fma fmaf fmal fmod fmodf fmodl frexpf frexpl hypotf hypotl ilogb ilogbf ilogbl ldexpf ldexpl log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l logb logbf logbl modf modff modfl powf remainder remainderf remainderl rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl tanf tanl tanhf trunc truncf truncl; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : + + + + GNULIB_BIND=1 + + + + + +$as_echo "#define GNULIB_TEST_BIND 1" >>confdefs.h + + + + + + + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_CLOCK_GETTIME= + + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (); int main () { -#undef $gl_func - (void) $gl_func; +return clock_gettime (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : + else - eval "$as_gl_Symbol=no" + ac_cv_search_clock_gettime=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_clock_gettime" = "none required" || + LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime +fi + + for ac_func in clock_gettime clock_settime +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - eval ac_cv_have_decl_$gl_func=yes fi - done +done + + LIBS=$gl_saved_libs + + + + + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_CLOSE=1 + fi + + + + + + : + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + +fi + +done + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then + REPLACE_CLOSE=1 + fi + + + + if test $REPLACE_CLOSE = 1; then + + + + - if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then + ggl_LIBOBJS="$ggl_LIBOBJS close.$ac_objext" + + fi + + + + + + GNULIB_CLOSE=1 +$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext" - for ac_header in bp-sym.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" -if test "x$ac_cv_header_bp_sym_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_BP_SYM_H 1 -_ACEOF + if test "$ac_cv_header_winsock2_h" = yes; then -fi -done - fi + ggl_LIBOBJS="$ggl_LIBOBJS connect.$ac_objext" - GNULIB_MEMCHR=1 + fi -$as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h + GNULIB_CONNECT=1 +$as_echo "#define GNULIB_TEST_CONNECT 1" >>confdefs.h - for ac_func in memmem -do : - ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem" -if test "x$ac_cv_func_memmem" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MEMMEM 1 -_ACEOF -fi -done - if test $ac_cv_func_memmem = yes; then - HAVE_MEMMEM=1 - else - HAVE_MEMMEM=0 - fi - : +$as_echo "#define HAVE_DUP2 1" >>confdefs.h - if test $ac_cv_have_decl_memmem = no; then - HAVE_DECL_MEMMEM=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5 -$as_echo_n "checking whether memmem works... " >&6; } -if ${gl_cv_func_memmem_works_always+:} false; then : + if test $HAVE_DUP2 = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 +$as_echo_n "checking whether dup2 works... " >&6; } +if ${gl_cv_func_dup2_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __GNU_LIBRARY__ - #include - #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \ - || __GLIBC_MINOR__ > 12)) \ - || (__GLIBC__ > 2)) \ - || defined __UCLIBC__ - Lucky user - #endif -#elif defined __CYGWIN__ - #include - #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7) - Lucky user - #endif -#else - Lucky user -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky user" >/dev/null 2>&1; then : - gl_cv_func_memmem_works_always="guessing yes" -else - gl_cv_func_memmem_works_always="guessing no" -fi -rm -f conftest* - - + case "$host_os" in + mingw*) # on this platform, dup2 always returns 0 for success + gl_cv_func_dup2_works="guessing no" ;; + cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 + gl_cv_func_dup2_works="guessing no" ;; + linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a + # closed fd may yield -EBADF instead of -1 / errno=EBADF. + gl_cv_func_dup2_works="guessing no" ;; + freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. + gl_cv_func_dup2_works="guessing no" ;; + haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include /* for memmem */ -#define P "_EF_BF_BD" -#define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P -#define NEEDLE P P P P P - + #include +#include +#include int main () { - - int result = 0; - if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE))) - result |= 1; - /* Check for empty needle behavior. */ - { - const char *haystack = "AAA"; - if (memmem (haystack, 3, NULL, 0) != haystack) - result |= 2; - } - return result; +int result = 0; +#ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; +#endif + if (dup2 (1, 1) == 0) + result |= 2; +#ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; +#endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, 1000000) == -1 && errno != EBADF) + result |= 16; + /* Flush out some cygwin core dumps. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + dup2 (2, 255); + dup2 (2, 256); + return result; ; return 0; } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_memmem_works_always=yes + gl_cv_func_dup2_works=yes else - gl_cv_func_memmem_works_always=no + gl_cv_func_dup2_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -31996,18 +28017,29 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memmem_works_always" >&5 -$as_echo "$gl_cv_func_memmem_works_always" >&6; } - case "$gl_cv_func_memmem_works_always" in +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 +$as_echo "$gl_cv_func_dup2_works" >&6; } + case "$gl_cv_func_dup2_works" in *yes) ;; *) - REPLACE_MEMMEM=1 + REPLACE_DUP2=1 + for ac_func in setdtablesize +do : + ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize" +if test "x$ac_cv_func_setdtablesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SETDTABLESIZE 1 +_ACEOF + +fi +done + ;; esac fi - : - if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then + + if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then @@ -32016,7 +28048,8 @@ $as_echo "$gl_cv_func_memmem_works_always" >&6; } - gl_LIBOBJS="$gl_LIBOBJS memmem.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS dup2.$ac_objext" + fi @@ -32024,13 +28057,13 @@ $as_echo "$gl_cv_func_memmem_works_always" >&6; } - GNULIB_MEMMEM=1 + GNULIB_DUP2=1 -$as_echo "#define GNULIB_TEST_MEMMEM 1" >>confdefs.h +$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h @@ -32040,74 +28073,183 @@ $as_echo "#define GNULIB_TEST_MEMMEM 1" >>confdefs.h - for ac_func in mempcpy -do : - ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" -if test "x$ac_cv_func_mempcpy" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MEMPCPY 1 -_ACEOF + GNULIB_ENVIRON=1 -fi -done - if test $ac_cv_func_mempcpy = no; then - HAVE_MEMPCPY=0 - fi - if test $HAVE_MEMPCPY = 0; then +$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 +$as_echo_n "checking for error_at_line... " >&6; } +if ${ac_cv_lib_error_at_line+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +error_at_line (0, 0, "", 0, "an error occurred"); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_error_at_line=yes +else + ac_cv_lib_error_at_line=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 +$as_echo "$ac_cv_lib_error_at_line" >&6; } - gl_LIBOBJS="$gl_LIBOBJS mempcpy.$ac_objext" + if test $ac_cv_lib_error_at_line = no; then - : - fi - GNULIB_MEMPCPY=1 + ggl_LIBOBJS="$ggl_LIBOBJS error.$ac_objext" + : + fi -$as_echo "#define GNULIB_TEST_MEMPCPY 1" >>confdefs.h + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" + XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" - : + FLOAT_H= + REPLACE_FLOAT_LDBL=0 + case "$host_os" in + aix* | beos* | openbsd* | mirbsd* | irix*) + FLOAT_H=float.h + ;; + freebsd*) + case "$host_cpu" in + i[34567]86 ) + FLOAT_H=float.h + ;; + x86_64 ) + # On x86_64 systems, the C compiler may still be generating + # 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __x86_64__ || defined __amd64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : +else + FLOAT_H=float.h +fi +rm -f conftest* + ;; + esac + ;; + linux*) + case "$host_cpu" in + powerpc*) + FLOAT_H=float.h + ;; + esac + ;; + esac + case "$host_os" in + aix* | freebsd* | linux*) + if test -n "$FLOAT_H"; then + REPLACE_FLOAT_LDBL=1 + fi + ;; + esac + REPLACE_ITOLD=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether conversion from 'int' to 'long double' works" >&5 +$as_echo_n "checking whether conversion from 'int' to 'long double' works... " >&6; } +if ${gl_cv_func_itold_works+:} false; then : + $as_echo_n "(cached) " >&6 +else - if test $ac_cv_func__set_invalid_parameter_handler = yes; then - HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 + if test "$cross_compiling" = yes; then : + case "$host" in + sparc*-*-linux*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __arch64__ + yes + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + gl_cv_func_itold_works="guessing no" +else + gl_cv_func_itold_works="guessing yes" +fi +rm -f conftest* -$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h + ;; + *) gl_cv_func_itold_works="guessing yes" ;; + esac - else - HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 - fi +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int i = -1; +volatile long double ld; +int main () +{ + ld += i * 1.0L; + if (ld > 0) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_itold_works=yes +else + gl_cv_func_itold_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_itold_works" >&5 +$as_echo "$gl_cv_func_itold_works" >&6; } + case "$gl_cv_func_itold_works" in + *no) + REPLACE_ITOLD=1 + FLOAT_H=float.h + ;; + esac + if test -n "$FLOAT_H"; then @@ -32115,205 +28257,140 @@ $as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext" - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_float_h='<'float.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_float_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'float.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_absolute_float_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + gl_header=$gl_cv_absolute_float_h + gl_cv_next_float_h='"'$gl_header'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_float_h" >&5 +$as_echo "$gl_cv_next_float_h" >&6; } + fi + NEXT_FLOAT_H=$gl_cv_next_float_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'float.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_float_h + fi + NEXT_AS_FIRST_DIRECTIVE_FLOAT_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext" fi + if test -n "$FLOAT_H"; then + GL_GENERATE_FLOAT_H_TRUE= + GL_GENERATE_FLOAT_H_FALSE='#' +else + GL_GENERATE_FLOAT_H_TRUE='#' + GL_GENERATE_FLOAT_H_FALSE= +fi + if test $REPLACE_FLOAT_LDBL = 1; then - : + ggl_LIBOBJS="$ggl_LIBOBJS float.$ac_objext" + fi + if test $REPLACE_ITOLD = 1; then - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netdb_h='<'netdb.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_netdb_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_netdb_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'netdb.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_netdb_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_netdb_h='<'netdb.h'>' - fi + ggl_LIBOBJS="$ggl_LIBOBJS itold.$ac_objext" + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 -$as_echo "$gl_cv_next_netdb_h" >&6; } - fi - NEXT_NETDB_H=$gl_cv_next_netdb_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'netdb.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_netdb_h - fi - NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then + REPLACE_FSEEK=1 + fi + + if test $REPLACE_FSEEK = 1; then - if test $ac_cv_header_netdb_h = yes; then - HAVE_NETDB_H=1 - else - HAVE_NETDB_H=0 - fi - for gl_func in getaddrinfo freeaddrinfo gai_strerror getnameinfo; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done + ggl_LIBOBJS="$ggl_LIBOBJS fseek.$ac_objext" + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if ${gl_cv_header_netinet_in_h_selfcontained+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_netinet_in_h_selfcontained=yes -else - gl_cv_header_netinet_in_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 -$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } - if test $gl_cv_header_netinet_in_h_selfcontained = yes; then - NETINET_IN_H='' - else - NETINET_IN_H='netinet/in.h' - for ac_header in netinet/in.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" -if test "x$ac_cv_header_netinet_in_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NETINET_IN_H 1 -_ACEOF -fi + GNULIB_FSEEK=1 -done +$as_echo "#define GNULIB_TEST_FSEEK 1" >>confdefs.h - : @@ -32322,748 +28399,559 @@ done - if test $gl_cv_have_include_next = yes; then - gl_cv_next_netinet_in_h='<'netinet/in.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_netinet_in_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5 +$as_echo_n "checking for fseeko... " >&6; } +if ${gl_cv_func_fseeko+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_netinet_in_h = yes; then - - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include +int +main () +{ +fseeko (stdin, 0, 0); + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'netinet/in.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_netinet_in_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_netinet_in_h='<'netinet/in.h'>' - fi - +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_fseeko=yes +else + gl_cv_func_fseeko=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 -$as_echo "$gl_cv_next_netinet_in_h" >&6; } - fi - NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fseeko" >&5 +$as_echo "$gl_cv_func_fseeko" >&6; } + + + : - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'netinet/in.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_netinet_in_h - fi - NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H=$gl_next_as_first_directive - if test $ac_cv_header_netinet_in_h = yes; then - HAVE_NETINET_IN_H=1 - else - HAVE_NETINET_IN_H=0 + if test $ac_cv_have_decl_fseeko = no; then + HAVE_DECL_FSEEKO=0 + fi + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FSEEKO=1 + fi + if test $gl_cv_var_stdin_large_offset = no; then + REPLACE_FSEEKO=1 fi fi - if test -n "$NETINET_IN_H"; then - GL_GENERATE_NETINET_IN_H_TRUE= - GL_GENERATE_NETINET_IN_H_FALSE='#' -else - GL_GENERATE_NETINET_IN_H_TRUE='#' - GL_GENERATE_NETINET_IN_H_FALSE= -fi + if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then - for ac_func in opendir + + + ggl_LIBOBJS="$ggl_LIBOBJS fseeko.$ac_objext" + + + for ac_func in _fseeki64 do : - ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir" -if test "x$ac_cv_func_opendir" = xyes; then : + ac_fn_c_check_func "$LINENO" "_fseeki64" "ac_cv_func__fseeki64" +if test "x$ac_cv_func__fseeki64" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_OPENDIR 1 +#define HAVE__FSEEKI64 1 _ACEOF fi done - if test $ac_cv_func_opendir = no; then - HAVE_OPENDIR=0 + fi - if test $HAVE_OPENDIR = 0 || test $REPLACE_OPENDIR = 1; then + GNULIB_FSEEKO=1 + + + + + +$as_echo "#define GNULIB_TEST_FSEEKO 1" >>confdefs.h + - gl_LIBOBJS="$gl_LIBOBJS opendir.$ac_objext" + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then + REPLACE_FSTAT=1 fi + if test $WINDOWS_64_BIT_ST_SIZE = 1; then + REPLACE_FSTAT=1 + fi - GNULIB_OPENDIR=1 + if test $REPLACE_FSTAT = 1; then -$as_echo "#define GNULIB_TEST_OPENDIR 1" >>confdefs.h - # Extract the first word of "pmccabe", so it can be a program name with args. -set dummy pmccabe; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PMCCABE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PMCCABE in - [\\/]* | ?:[\\/]*) - ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + ggl_LIBOBJS="$ggl_LIBOBJS fstat.$ac_objext" + + : fi -done - done -IFS=$as_save_IFS - test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false" - ;; -esac -fi -PMCCABE=$ac_cv_path_PMCCABE -if test -n "$PMCCABE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5 -$as_echo "$PMCCABE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test $gl_cv_func_frexp_no_libm = yes; then + GNULIB_FSTAT=1 - : +$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexp works" >&5 -$as_echo_n "checking whether frexp works... " >&6; } -if ${gl_cv_func_frexp_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; - *) gl_cv_func_frexp_works="guessing yes";; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&5 +$as_echo "$as_me: checking how to do getaddrinfo, freeaddrinfo and getnameinfo" >&6;} + GETADDRINFO_LIB= + gai_saved_LIBS="$LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getaddrinfo" >&5 +$as_echo_n "checking for library containing getaddrinfo... " >&6; } +if ${ac_cv_search_getaddrinfo+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#include -#if HAVE_DECL_ALARM -# include -# include -#endif -/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. - ICC 10.0 has a bug when optimizing the expression -zero. - The expression -DBL_MIN * DBL_MIN does not work when cross-compiling - to PowerPC on Mac OS X 10.5. */ -#if defined __hpux || defined __sgi || defined __ICC -static double -compute_minus_zero (void) -{ - return -DBL_MIN * DBL_MIN; -} -# define minus_zero compute_minus_zero () -#else -double minus_zero = -0.0; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif -int main() +char getaddrinfo (); +int +main () { - int result = 0; - int i; - volatile double x; - double zero = 0.0; -#if HAVE_DECL_ALARM - /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite - number. Let the test fail in this case. */ - signal (SIGALRM, SIG_DFL); - alarm (5); -#endif - /* Test on denormalized numbers. */ - for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) - ; - if (x > 0.0) - { - int exp; - double y = frexp (x, &exp); - /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. - On NetBSD: y = 0.75. Correct: y = 0.5. */ - if (y != 0.5) - result |= 1; - } - /* Test on infinite numbers. */ - x = 1.0 / zero; - { - int exp; - double y = frexp (x, &exp); - if (y != x) - result |= 2; - } - /* Test on negative zero. */ - x = minus_zero; - { - int exp; - double y = frexp (x, &exp); - if (memcmp (&y, &x, sizeof x)) - result |= 4; - } - return result; +return getaddrinfo (); + ; + return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_frexp_works=yes -else - gl_cv_func_frexp_works=no +for ac_lib in '' socket network net; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_getaddrinfo=$ac_res fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_getaddrinfo+:} false; then : + break fi +done +if ${ac_cv_search_getaddrinfo+:} false; then : - +else + ac_cv_search_getaddrinfo=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getaddrinfo" >&5 +$as_echo "$ac_cv_search_getaddrinfo" >&6; } +ac_res=$ac_cv_search_getaddrinfo +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_getaddrinfo" != "none required"; then + GETADDRINFO_LIB="$ac_cv_search_getaddrinfo" + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexp_works" >&5 -$as_echo "$gl_cv_func_frexp_works" >&6; } - - case "$gl_cv_func_frexp_works" in - *yes) - -$as_echo "#define HAVE_FREXP_IN_LIBC 1" >>confdefs.h - ;; - esac - fi + LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexp can be used without linking with libm" >&5 -$as_echo_n "checking whether ldexp can be used without linking with libm... " >&6; } -if ${gl_cv_func_ldexp_no_libm+:} false; then : + HAVE_GETADDRINFO=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 +$as_echo_n "checking for getaddrinfo... " >&6; } +if ${gl_cv_func_getaddrinfo+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - double x; - int y; + +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#include + int main () { -return ldexp (x, y) < 1; +getaddrinfo("", "", NULL, NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_ldexp_no_libm=yes + gl_cv_func_getaddrinfo=yes else - gl_cv_func_ldexp_no_libm=no + gl_cv_func_getaddrinfo=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexp_no_libm" >&5 -$as_echo "$gl_cv_func_ldexp_no_libm" >&6; } - if test $gl_cv_func_ldexp_no_libm = yes; then - -$as_echo "#define HAVE_LDEXP_IN_LIBC 1" >>confdefs.h - - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl() can be used without linking with libm" >&5 -$as_echo_n "checking whether frexpl() can be used without linking with libm... " >&6; } -if ${gl_cv_func_frexpl_no_libm+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getaddrinfo" >&5 +$as_echo "$gl_cv_func_getaddrinfo" >&6; } + if test $gl_cv_func_getaddrinfo = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in ws2tcpip.h and -lws2_32" >&5 +$as_echo_n "checking for getaddrinfo in ws2tcpip.h and -lws2_32... " >&6; } +if ${gl_cv_w32_getaddrinfo+:} false; then : $as_echo_n "(cached) " >&6 else + gl_cv_w32_getaddrinfo=no + am_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - long double x; + +#ifdef HAVE_WS2TCPIP_H +#include +#endif +#include + int main () { -int e; return frexpl (x, &e) > 0; +getaddrinfo(NULL, NULL, NULL, NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_frexpl_no_libm=yes -else - gl_cv_func_frexpl_no_libm=no + gl_cv_w32_getaddrinfo=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_no_libm" >&5 -$as_echo "$gl_cv_func_frexpl_no_libm" >&6; } - - if test $gl_cv_func_frexpl_no_libm = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getaddrinfo" >&5 +$as_echo "$gl_cv_w32_getaddrinfo" >&6; } + if test "$gl_cv_w32_getaddrinfo" = "yes"; then + GETADDRINFO_LIB="-lws2_32" + LIBS="$gai_saved_LIBS $GETADDRINFO_LIB" + else + HAVE_GETADDRINFO=0 + fi + fi + # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an + # inline function declared in ws2tcpip.h, so we need to get that + # header included somehow. + ac_fn_c_check_decl "$LINENO" "gai_strerror" "ac_cv_have_decl_gai_strerror" " +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +#include - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether frexpl works" >&5 -$as_echo_n "checking whether frexpl works... " >&6; } -if ${gl_cv_func_frexpl_works+:} false; then : - $as_echo_n "(cached) " >&6 +" +if test "x$ac_cv_have_decl_gai_strerror" = xyes; then : + ac_have_decl=1 else + ac_have_decl=0 +fi - if test "$cross_compiling" = yes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GAI_STRERROR $ac_have_decl +_ACEOF - case "$host_os" in - aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*) - gl_cv_func_frexpl_works="guessing no";; - *) gl_cv_func_frexpl_works="guessing yes";; - esac + if test $ac_cv_have_decl_gai_strerror = yes; then + ac_fn_c_check_decl "$LINENO" "gai_strerrorA" "ac_cv_have_decl_gai_strerrorA" " +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +#include + +" +if test "x$ac_cv_have_decl_gai_strerrorA" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GAI_STRERRORA $ac_have_decl +_ACEOF + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gai_strerror with POSIX signature" >&5 +$as_echo_n "checking for gai_strerror with POSIX signature... " >&6; } +if ${gl_cv_func_gai_strerror_posix_signature+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -/* Override the values of , like done in float.in.h. */ -#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) -#endif -#if defined __i386__ && defined __FreeBSD__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP (-16381) +#include +#ifdef HAVE_SYS_SOCKET_H +#include #endif -#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP DBL_MIN_EXP +#ifdef HAVE_NETDB_H +#include #endif -#if defined __sgi && (LDBL_MANT_DIG >= 106) -# if defined __GNUC__ -# undef LDBL_MIN_EXP -# define LDBL_MIN_EXP DBL_MIN_EXP -# endif +#ifdef HAVE_WS2TCPIP_H +#include #endif +#include extern #ifdef __cplusplus "C" #endif -long double frexpl (long double, int *); -int main() -{ - int result = 0; - volatile long double x; - /* Test on finite numbers that fails on AIX 5.1. */ - x = 16.0L; - { - int exp = -9999; - frexpl (x, &exp); - if (exp != 5) - result |= 1; - } - /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl - function returns an invalid (incorrectly normalized) value: it returns - y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } - but the correct result is - 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ - x = 1.01L; - { - int exp = -9999; - long double y = frexpl (x, &exp); - if (!(exp == 1 && y == 0.505L)) - result |= 2; - } - /* Test on large finite numbers. This fails on BeOS at i = 16322, while - LDBL_MAX_EXP = 16384. - In the loop end test, we test x against Infinity, rather than comparing - i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ - { - int i; - for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) - { - int exp = -9999; - frexpl (x, &exp); - if (exp != i) - { - result |= 4; - break; - } - } - } - /* Test on denormalized numbers. */ - { - int i; - for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) - ; - if (x > 0.0L) - { - int exp; - long double y = frexpl (x, &exp); - /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, - exp = -16382, y = 0.5. On Mac OS X 10.5: exp = -16384, y = 0.5. */ - if (exp != LDBL_MIN_EXP - 1) - result |= 8; - } - } - /* Test on infinite numbers. */ - x = 1.0L / 0.0L; - { - int exp; - long double y = frexpl (x, &exp); - if (y != x) - result |= 16; - } - return result; -} +const char *gai_strerror(int); _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_frexpl_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gai_strerror_posix_signature=yes else - gl_cv_func_frexpl_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_func_gai_strerror_posix_signature=no fi - - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_frexpl_works" >&5 -$as_echo "$gl_cv_func_frexpl_works" >&6; } - - case "$gl_cv_func_frexpl_works" in - *yes) gl_func_frexpl_no_libm=yes ;; - *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; - esac - else - gl_func_frexpl_no_libm=no - REPLACE_FREXPL=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gai_strerror_posix_signature" >&5 +$as_echo "$gl_cv_func_gai_strerror_posix_signature" >&6; } + if test $gl_cv_func_gai_strerror_posix_signature = no; then + REPLACE_GAI_STRERROR=1 + fi fi - if test $gl_func_frexpl_no_libm = yes; then - -$as_echo "#define HAVE_FREXPL_IN_LIBC 1" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "frexpl" "ac_cv_have_decl_frexpl" "#include -" -if test "x$ac_cv_have_decl_frexpl" = xyes; then : - -else - HAVE_DECL_FREXPL=0 -fi + LIBS="$gai_saved_LIBS" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexpl() can be used without linking with libm" >&5 -$as_echo_n "checking whether ldexpl() can be used without linking with libm... " >&6; } -if ${gl_cv_func_ldexpl_no_libm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - long double x; -int -main () -{ -return ldexpl (x, -1) > 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_ldexpl_no_libm=yes -else - gl_cv_func_ldexpl_no_libm=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_no_libm" >&5 -$as_echo "$gl_cv_func_ldexpl_no_libm" >&6; } - if test $gl_cv_func_ldexpl_no_libm = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ldexpl works" >&5 -$as_echo_n "checking whether ldexpl works... " >&6; } -if ${gl_cv_func_ldexpl_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" " +#include +#include - if test "$cross_compiling" = yes; then : +" +if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : - case "$host_os" in - aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no";; - *) gl_cv_func_ldexpl_works="guessing yes";; - esac +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 +_ACEOF -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -extern -#ifdef __cplusplus -"C" -#endif -long double ldexpl (long double, int); -int main() -{ - int result = 0; - { - volatile long double x = 1.0; - volatile long double y = ldexpl (x, -1); - if (y != 0.5L) - result |= 1; - } - { - volatile long double x = 1.73205L; - volatile long double y = ldexpl (x, 0); - if (y != x) - result |= 2; - } - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_ldexpl_works=yes -else - gl_cv_func_ldexpl_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ldexpl_works" >&5 -$as_echo "$gl_cv_func_ldexpl_works" >&6; } - case "$gl_cv_func_ldexpl_works" in - *yes) + : -$as_echo "#define HAVE_LDEXPL_IN_LIBC 1" >>confdefs.h - ac_fn_c_check_decl "$LINENO" "ldexpl" "ac_cv_have_decl_ldexpl" "#include -" -if test "x$ac_cv_have_decl_ldexpl" = xyes; then : -else - HAVE_DECL_LDEXPL=0 -fi - ;; - esac - fi - ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include + ac_fn_c_check_decl "$LINENO" "getaddrinfo" "ac_cv_have_decl_getaddrinfo" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif + " -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : +if test "x$ac_cv_have_decl_getaddrinfo" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl +#define HAVE_DECL_GETADDRINFO $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "freeaddrinfo" "ac_cv_have_decl_freeaddrinfo" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif - ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include " -if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : +if test "x$ac_cv_have_decl_freeaddrinfo" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl -_ACEOF - - - - - - for ac_func in rawmemchr -do : - ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" -if test "x$ac_cv_func_rawmemchr" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RAWMEMCHR 1 +#define HAVE_DECL_FREEADDRINFO $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "getnameinfo" "ac_cv_have_decl_getnameinfo" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif -fi -done - - if test $ac_cv_func_rawmemchr = no; then - HAVE_RAWMEMCHR=0 - fi - - if test $HAVE_RAWMEMCHR = 0; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS rawmemchr.$ac_objext" - - : - fi - - - - - - GNULIB_RAWMEMCHR=1 - - - - - -$as_echo "#define GNULIB_TEST_RAWMEMCHR 1" >>confdefs.h - - - - : - - +" +if test "x$ac_cv_have_decl_getnameinfo" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - for ac_func in readdir -do : - ac_fn_c_check_func "$LINENO" "readdir" "ac_cv_func_readdir" -if test "x$ac_cv_func_readdir" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_READDIR 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETNAMEINFO $ac_have_decl _ACEOF -fi -done - - if test $ac_cv_func_readdir = no; then - HAVE_READDIR=0 + if test $ac_cv_have_decl_getaddrinfo = no; then + HAVE_DECL_GETADDRINFO=0 + fi + if test $ac_cv_have_decl_freeaddrinfo = no; then + HAVE_DECL_FREEADDRINFO=0 + fi + if test $ac_cv_have_decl_gai_strerror = no; then + HAVE_DECL_GAI_STRERROR=0 + fi + if test $ac_cv_have_decl_getnameinfo = no; then + HAVE_DECL_GETNAMEINFO=0 fi - if test $HAVE_READDIR = 0; then - - - - + ac_fn_c_check_type "$LINENO" "struct addrinfo" "ac_cv_type_struct_addrinfo" " +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +" +if test "x$ac_cv_type_struct_addrinfo" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_ADDRINFO 1 +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS readdir.$ac_objext" +fi + if test $ac_cv_type_struct_addrinfo = no; then + HAVE_STRUCT_ADDRINFO=0 fi + case " $GETADDRINFO_LIB " in + *" $HOSTENT_LIB "*) ;; + *) GETADDRINFO_LIB="$GETADDRINFO_LIB $HOSTENT_LIB" ;; + esac + case " $GETADDRINFO_LIB " in + *" $SERVENT_LIB "*) ;; + *) GETADDRINFO_LIB="$GETADDRINFO_LIB $SERVENT_LIB" ;; + esac - - - GNULIB_READDIR=1 + case " $GETADDRINFO_LIB " in + *" $INET_NTOP_LIB "*) ;; + *) GETADDRINFO_LIB="$GETADDRINFO_LIB $INET_NTOP_LIB" ;; + esac + if test $HAVE_GETADDRINFO = 0; then -$as_echo "#define GNULIB_TEST_READDIR 1" >>confdefs.h - if test $gl_cv_func_malloc_posix = yes; then -$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h + ggl_LIBOBJS="$ggl_LIBOBJS getaddrinfo.$ac_objext" - else - REPLACE_REALLOC=1 fi - - if test $REPLACE_REALLOC = 1; then + if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then @@ -33072,7 +28960,7 @@ $as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS gai_strerror.$ac_objext" fi @@ -33080,126 +28968,180 @@ $as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h - GNULIB_REALLOC_POSIX=1 - - - - - -$as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h - - - + GNULIB_GETADDRINFO=1 - if test "$ac_cv_header_winsock2_h" = yes; then +$as_echo "#define GNULIB_TEST_GETADDRINFO 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS recv.$ac_objext" - fi + : - GNULIB_RECV=1 -$as_echo "#define GNULIB_TEST_RECV 1" >>confdefs.h + : - if test "$ac_cv_header_winsock2_h" = yes; then + if test $ac_cv_func_getdelim = yes; then + HAVE_GETDELIM=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getdelim function" >&5 +$as_echo_n "checking for working getdelim function... " >&6; } +if ${gl_cv_func_working_getdelim+:} false; then : + $as_echo_n "(cached) " >&6 +else + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif +#endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + gl_cv_func_working_getdelim="guessing yes" +else + gl_cv_func_working_getdelim="guessing no" +fi +rm -f conftest* +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +# include +# include +# include + int main () + { + FILE *in = fopen ("./conftest.data", "r"); + if (!in) + return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getdelim (&line, &siz, '\n', in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getdelim (&line, &siz, '\n', in) == -1) + return 3; + } + return 0; + } - gl_LIBOBJS="$gl_LIBOBJS recvfrom.$ac_objext" +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_getdelim=yes +else + gl_cv_func_working_getdelim=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 +$as_echo "$gl_cv_func_working_getdelim" >&6; } + case "$gl_cv_func_working_getdelim" in + *no) + REPLACE_GETDELIM=1 + ;; + esac + else + HAVE_GETDELIM=0 fi + if test $ac_cv_have_decl_getdelim = no; then + HAVE_DECL_GETDELIM=0 + fi + if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then - GNULIB_RECVFROM=1 - - - - - -$as_echo "#define GNULIB_TEST_RECVFROM 1" >>confdefs.h - + ggl_LIBOBJS="$ggl_LIBOBJS getdelim.$ac_objext" - for ac_func in scandir + for ac_func in flockfile funlockfile do : - ac_fn_c_check_func "$LINENO" "scandir" "ac_cv_func_scandir" -if test "x$ac_cv_func_scandir" = xyes; then : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SCANDIR 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done - if test $ac_cv_func_scandir = no; then - HAVE_SCANDIR=0 - fi - - if test $HAVE_SCANDIR = 0; then - - - - + ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default" +if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETC_UNLOCKED $ac_have_decl +_ACEOF + fi - gl_LIBOBJS="$gl_LIBOBJS scandir.$ac_objext" - : - fi + GNULIB_GETDELIM=1 - GNULIB_SCANDIR=1 +$as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_SCANDIR 1" >>confdefs.h - if test "$ac_cv_header_winsock2_h" = yes; then - REPLACE_SELECT=1 - else : @@ -33207,186 +29149,113 @@ $as_echo "#define GNULIB_TEST_SCANDIR 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 -$as_echo_n "checking whether select supports a 0 argument... " >&6; } -if ${gl_cv_func_select_supports0+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess no on Interix. - interix*) gl_cv_func_select_supports0="guessing no";; - # Guess yes otherwise. - *) gl_cv_func_select_supports0="guessing yes";; - esac + gl_getline_needs_run_time_check=no + ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" +if test "x$ac_cv_func_getline" = xyes; then : + gl_getline_needs_run_time_check=yes +else + am_cv_func_working_getline=no +fi + if test $gl_getline_needs_run_time_check = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getline function" >&5 +$as_echo_n "checking for working getline function... " >&6; } +if ${am_cv_func_working_getline+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if HAVE_SYS_SELECT_H -#include +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ >= 2) && !defined __UCLIBC__ + Lucky GNU user + #endif #endif -int main () -{ - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; -} + _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_select_supports0=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky GNU user" >/dev/null 2>&1; then : + am_cv_func_working_getline="guessing yes" else - gl_cv_func_select_supports0=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - + am_cv_func_working_getline="guessing no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 -$as_echo "$gl_cv_func_select_supports0" >&6; } - case "$gl_cv_func_select_supports0" in - *yes) ;; - *) REPLACE_SELECT=1 ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5 -$as_echo_n "checking whether select detects invalid fds... " >&6; } -if ${gl_cv_func_select_detects_ebadf+:} false; then : - $as_echo_n "(cached) " >&6 -else - - if test "$cross_compiling" = yes; then : +rm -f conftest* - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_select_detects_ebadf="guessing no" ;; - esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if HAVE_SYS_SELECT_H -# include -#endif -#include -#include - -int -main () -{ - - fd_set set; - dup2(0, 16); - FD_ZERO(&set); - FD_SET(16, &set); - close(16); - struct timeval timeout; - timeout.tv_sec = 0; - timeout.tv_usec = 5; - return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; +# include +# include +# include + int main () + { + FILE *in = fopen ("./conftest.data", "r"); + if (!in) + return 1; + { + /* Test result for a NULL buffer and a zero size. + Based on a test program from Karl Heuer. */ + char *line = NULL; + size_t siz = 0; + int len = getline (&line, &siz, in); + if (!(len == 4 && line && strcmp (line, "foo\n") == 0)) + return 2; + } + { + /* Test result for a NULL buffer and a non-zero size. + This crashes on FreeBSD 8.0. */ + char *line = NULL; + size_t siz = (size_t)(~0) / 4; + if (getline (&line, &siz, in) == -1) + return 3; + } + return 0; + } - ; - return 0; -} _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_select_detects_ebadf=yes + am_cv_func_working_getline=yes else - gl_cv_func_select_detects_ebadf=no + am_cv_func_working_getline=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5 -$as_echo "$gl_cv_func_select_detects_ebadf" >&6; } - case $gl_cv_func_select_detects_ebadf in - *yes) ;; - *) REPLACE_SELECT=1 ;; - esac - fi - - LIB_SELECT="$LIBSOCKET" - if test $REPLACE_SELECT = 1; then - case "$host_os" in - mingw*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#define WIN32_LEAN_AND_MEAN -#include -int -main () -{ - MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -else - LIB_SELECT="$LIB_SELECT -luser32" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 +$as_echo "$am_cv_func_working_getline" >&6; } fi - - if test $REPLACE_SELECT = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS select.$ac_objext" - + if test $ac_cv_have_decl_getline = no; then + HAVE_DECL_GETLINE=0 fi + case "$am_cv_func_working_getline" in + *no) + REPLACE_GETLINE=1 + ;; + esac + if test $REPLACE_GETLINE = 1; then - GNULIB_SELECT=1 - - - - - -$as_echo "#define GNULIB_TEST_SELECT 1" >>confdefs.h - - - - - if test "$ac_cv_header_winsock2_h" = yes; then - + ggl_LIBOBJS="$ggl_LIBOBJS getline.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS send.$ac_objext" + : fi @@ -33394,164 +29263,67 @@ $as_echo "#define GNULIB_TEST_SELECT 1" >>confdefs.h - GNULIB_SEND=1 - - - - - -$as_echo "#define GNULIB_TEST_SEND 1" >>confdefs.h - + GNULIB_GETLINE=1 - if test "$ac_cv_header_winsock2_h" = yes; then +$as_echo "#define GNULIB_TEST_GETLINE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS sendto.$ac_objext" + for ac_func in getpass +do : + ac_fn_c_check_func "$LINENO" "getpass" "ac_cv_func_getpass" +if test "x$ac_cv_func_getpass" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPASS 1 +_ACEOF - fi +fi +done + : - GNULIB_SENDTO=1 + if test $ac_cv_func_getpass = yes; then + HAVE_GETPASS=1 + else + HAVE_GETPASS=0 + fi + if test $HAVE_GETPASS = 0; then -$as_echo "#define GNULIB_TEST_SENDTO 1" >>confdefs.h - SERVENT_LIB= - gl_saved_libs="$LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 -$as_echo_n "checking for library containing getservbyname... " >&6; } -if ${ac_cv_search_getservbyname+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getservbyname (); -int -main () -{ -return getservbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket network net; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_getservbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_getservbyname+:} false; then : - break -fi -done -if ${ac_cv_search_getservbyname+:} false; then : -else - ac_cv_search_getservbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 -$as_echo "$ac_cv_search_getservbyname" >&6; } -ac_res=$ac_cv_search_getservbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if test "$ac_cv_search_getservbyname" != "none required"; then - SERVENT_LIB="$ac_cv_search_getservbyname" - fi -fi + ggl_LIBOBJS="$ggl_LIBOBJS getpass.$ac_objext" - LIBS="$gl_saved_libs" - if test -z "$SERVENT_LIB"; then - for ac_func in getservbyname -do : - ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" -if test "x$ac_cv_func_getservbyname" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETSERVBYNAME 1 -_ACEOF -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } -if ${gl_cv_w32_getservbyname+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_w32_getservbyname=no - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + : -#ifdef HAVE_WINSOCK2_H -#include -#endif -#include -int -main () -{ -getservbyname(NULL,NULL); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_w32_getservbyname=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 -$as_echo "$gl_cv_w32_getservbyname" >&6; } - if test "$gl_cv_w32_getservbyname" = "yes"; then - SERVENT_LIB="-lws2_32" - fi -fi -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then + : @@ -33559,53 +29331,65 @@ done - gl_LIBOBJS="$gl_LIBOBJS setsockopt.$ac_objext" - fi + ac_fn_c_check_decl "$LINENO" "__fsetlocking" "ac_cv_have_decl___fsetlocking" "#include + #if HAVE_STDIO_EXT_H + #include + #endif +" +if test "x$ac_cv_have_decl___fsetlocking" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___FSETLOCKING $ac_have_decl +_ACEOF - GNULIB_SETSOCKOPT=1 + : -$as_echo "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h + : - if test "$ac_cv_header_winsock2_h" = yes; then + : - gl_LIBOBJS="$gl_LIBOBJS shutdown.$ac_objext" - fi + : - GNULIB_SHUTDOWN=1 + : -$as_echo "#define GNULIB_TEST_SHUTDOWN 1" >>confdefs.h + : + fi + if test "$ac_cv_header_winsock2_h" = yes; then @@ -33614,879 +29398,549 @@ $as_echo "#define GNULIB_TEST_SHUTDOWN 1" >>confdefs.h + ggl_LIBOBJS="$ggl_LIBOBJS getpeername.$ac_objext" + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_signal_h='<'signal.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_signal_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'signal.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + GNULIB_GETPEERNAME=1 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 -$as_echo "$gl_cv_next_signal_h" >&6; } - fi - NEXT_SIGNAL_H=$gl_cv_next_signal_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'signal.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_signal_h - fi - NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive +$as_echo "#define GNULIB_TEST_GETPEERNAME 1" >>confdefs.h -# AIX declares sig_atomic_t to already include volatile, and C89 compilers -# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. - ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " -#include -" -if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then : -else - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 -fi + : - ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " -#include -" -if test "x$ac_cv_type_sighandler_t" = xyes; then : -else - HAVE_SIGHANDLER_T=0 -fi - for gl_func in pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" -else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit macro" >&5 -$as_echo_n "checking for signbit macro... " >&6; } -if ${gl_cv_func_signbit+:} false; then : - $as_echo_n "(cached) " >&6 -else + : - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_signbit="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_signbit="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -/* If signbit is defined as a function, don't use it, since calling it for - 'float' or 'long double' arguments would involve conversions. - If signbit is not declared at all but exists as a library function, don't - use it, since the prototype may not match. - If signbit is not declared at all but exists as a compiler built-in, don't - use it, since it's preferable to use __builtin_signbit* (no warnings, - no conversions). */ -#ifndef signbit -# error "signbit should be a macro" -#endif -#include -/* Global variables. - Needed because GCC 4 constant-folds __builtin_signbitl (literal) - but cannot constant-fold __builtin_signbitl (variable). */ -float vf; -double vd; -long double vl; -int main () -{ -/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. - So we use -p0f and -p0d instead. */ -float p0f = 0.0f; -float m0f = -p0f; -double p0d = 0.0; -double m0d = -p0d; -/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. - So we use another constant expression instead. - But that expression does not work on other platforms, such as when - cross-compiling to PowerPC on Mac OS X 10.5. */ -long double p0l = 0.0L; -#if defined __hpux || defined __sgi -long double m0l = -LDBL_MIN * LDBL_MIN; -#else -long double m0l = -p0l; -#endif - int result = 0; - if (signbit (vf)) /* link check */ - vf++; - { - float plus_inf = 1.0f / p0f; - float minus_inf = -1.0f / p0f; - if (!(!signbit (255.0f) - && signbit (-255.0f) - && !signbit (p0f) - && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) - && !signbit (plus_inf) - && signbit (minus_inf))) - result |= 1; - } - if (signbit (vd)) /* link check */ - vd++; - { - double plus_inf = 1.0 / p0d; - double minus_inf = -1.0 / p0d; - if (!(!signbit (255.0) - && signbit (-255.0) - && !signbit (p0d) - && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) - && !signbit (plus_inf) - && signbit (minus_inf))) - result |= 2; - } - if (signbit (vl)) /* link check */ - vl++; - { - long double plus_inf = 1.0L / p0l; - long double minus_inf = -1.0L / p0l; - if (signbit (255.0L)) - result |= 4; - if (!signbit (-255.0L)) - result |= 4; - if (signbit (p0l)) - result |= 8; - if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l))) - result |= 16; - if (signbit (plus_inf)) - result |= 32; - if (!signbit (minus_inf)) - result |= 64; - } - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_signbit=yes -else - gl_cv_func_signbit=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + gl_gettimeofday_timezone=void + if test $ac_cv_func_gettimeofday != yes; then + HAVE_GETTIMEOFDAY=0 + else -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit" >&5 -$as_echo "$gl_cv_func_signbit" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signbit compiler built-ins" >&5 -$as_echo_n "checking for signbit compiler built-ins... " >&6; } -if ${gl_cv_func_signbit_gcc+:} false; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 +$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } +if ${gl_cv_func_gettimeofday_clobber+:} false; then : $as_echo_n "(cached) " >&6 else - - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_signbit_gcc="guessing no" ;; - esac + if test "$cross_compiling" = yes; then : + # When cross-compiling: + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#if __GNUC__ >= 4 -# define signbit(x) \ - (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ - sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ - __builtin_signbitf (x)) -#else -# error "signbit should be three compiler built-ins" -#endif #include + #include + #include + #include -/* Global variables. - Needed because GCC 4 constant-folds __builtin_signbitl (literal) - but cannot constant-fold __builtin_signbitl (variable). */ -float vf; -double vd; -long double vl; -int main () +int +main () { -/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0. - So we use -p0f and -p0d instead. */ -float p0f = 0.0f; -float m0f = -p0f; -double p0d = 0.0; -double m0d = -p0d; -/* On HP-UX 10.20, negating 0.0L does not yield -0.0L. - So we use another constant expression instead. - But that expression does not work on other platforms, such as when - cross-compiling to PowerPC on Mac OS X 10.5. */ -long double p0l = 0.0L; -#if defined __hpux || defined __sgi -long double m0l = -LDBL_MIN * LDBL_MIN; -#else -long double m0l = -p0l; -#endif - int result = 0; - if (signbit (vf)) /* link check */ - vf++; - { - float plus_inf = 1.0f / p0f; - float minus_inf = -1.0f / p0f; - if (!(!signbit (255.0f) - && signbit (-255.0f) - && !signbit (p0f) - && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) - && !signbit (plus_inf) - && signbit (minus_inf))) - result |= 1; - } - if (signbit (vd)) /* link check */ - vd++; - { - double plus_inf = 1.0 / p0d; - double minus_inf = -1.0 / p0d; - if (!(!signbit (255.0) - && signbit (-255.0) - && !signbit (p0d) - && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) - && !signbit (plus_inf) - && signbit (minus_inf))) - result |= 2; - } - if (signbit (vl)) /* link check */ - vl++; - { - long double plus_inf = 1.0L / p0l; - long double minus_inf = -1.0L / p0l; - if (signbit (255.0L)) - result |= 4; - if (!signbit (-255.0L)) - result |= 4; - if (signbit (p0l)) - result |= 8; - if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l))) - result |= 16; - if (signbit (plus_inf)) - result |= 32; - if (!signbit (minus_inf)) - result |= 64; - } - return result; -} + time_t t = 0; + struct tm *lt; + struct tm saved_lt; + struct timeval tv; + lt = localtime (&t); + saved_lt = *lt; + gettimeofday (&tv, NULL); + return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; + ; + return 0; +} _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_signbit_gcc=yes + gl_cv_func_gettimeofday_clobber=no else - gl_cv_func_signbit_gcc=no + gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_signbit_gcc" >&5 -$as_echo "$gl_cv_func_signbit_gcc" >&6; } - case "$gl_cv_func_signbit_gcc" in - *yes) - REPLACE_SIGNBIT_USING_GCC=1 - ;; - *) - case "$gl_cv_func_signbit" in - *yes) ;; - *) - REPLACE_SIGNBIT=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 +$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } + case "$gl_cv_func_gettimeofday_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'float'" >&5 -$as_echo_n "checking where to find the sign bit in a 'float'... " >&6; } -if ${gl_cv_cc_float_signbit+:} false; then : - $as_echo_n "(cached) " >&6 -else + REPLACE_GMTIME=1 + REPLACE_LOCALTIME=1 - if test "$cross_compiling" = yes; then : - gl_cv_cc_float_signbit="unknown" +$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h + + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 +$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } +if ${gl_cv_func_gettimeofday_posix_signature+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + struct timeval c; + int gettimeofday (struct timeval *restrict, void *restrict); -#include -#include -#define NWORDS \ - ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { float value; unsigned int word[NWORDS]; } - memory_float; -static memory_float plus = { 1.0f }; -static memory_float minus = { -1.0f }; -int main () +int +main () { - size_t j, k, i; - unsigned int m; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - /* Find the different bit. */ - k = 0; m = 0; - for (j = 0; j < NWORDS; j++) - { - unsigned int x = plus.word[j] ^ minus.word[j]; - if ((x & (x - 1)) || (x && m)) - { - /* More than one bit difference. */ - fprintf (fp, "unknown"); - return 2; - } - if (x) - { - k = j; - m = x; - } - } - if (m == 0) - { - /* No difference. */ - fprintf (fp, "unknown"); - return 3; - } - /* Now m = plus.word[k] ^ ~minus.word[k]. */ - if (plus.word[k] & ~minus.word[k]) - { - /* Oh? The sign bit is set in the positive and cleared in the negative - numbers? */ - fprintf (fp, "unknown"); - return 4; - } - for (i = 0; ; i++) - if ((m >> i) & 1) - break; - fprintf (fp, "word %d bit %d", (int) k, (int) i); - if (fclose (fp) != 0) - return 5; +/* glibc uses struct timezone * rather than the POSIX void * + if _GNU_SOURCE is defined. However, since the only portable + use of gettimeofday uses NULL as the second parameter, and + since the glibc definition is actually more typesafe, it is + not worth wrapping this to get a compliant signature. */ + int (*f) (struct timeval *restrict, void *restrict) + = gettimeofday; + int x = f (&c, 0); + return !(x | c.tv_sec | c.tv_usec); + + ; return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int gettimeofday (struct timeval *restrict, struct timezone *restrict); + +int +main () +{ + ; + return 0; +} _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_float_signbit=`cat conftest.out` +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=almost else - gl_cv_cc_float_signbit="unknown" + gl_cv_func_gettimeofday_posix_signature=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - - rm -f conftest.out - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_signbit" >&5 -$as_echo "$gl_cv_cc_float_signbit" >&6; } - case "$gl_cv_cc_float_signbit" in - word*bit*) - word=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word.*bit //'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 +$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } + if test $gl_cv_func_gettimeofday_posix_signature = almost; then + gl_gettimeofday_timezone='struct timezone' + elif test $gl_cv_func_gettimeofday_posix_signature != yes; then + REPLACE_GETTIMEOFDAY=1 + fi + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + + fi cat >>confdefs.h <<_ACEOF -#define FLT_SIGNBIT_WORD $word +#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone _ACEOF -cat >>confdefs.h <<_ACEOF -#define FLT_SIGNBIT_BIT $bit -_ACEOF + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'double'" >&5 -$as_echo_n "checking where to find the sign bit in a 'double'... " >&6; } -if ${gl_cv_cc_double_signbit+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_cc_double_signbit="unknown" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ggl_LIBOBJS="$ggl_LIBOBJS gettimeofday.$ac_objext" -#include -#include -#define NWORDS \ - ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { double value; unsigned int word[NWORDS]; } - memory_float; -static memory_float plus = { 1.0 }; -static memory_float minus = { -1.0 }; -int main () -{ - size_t j, k, i; - unsigned int m; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - /* Find the different bit. */ - k = 0; m = 0; - for (j = 0; j < NWORDS; j++) - { - unsigned int x = plus.word[j] ^ minus.word[j]; - if ((x & (x - 1)) || (x && m)) - { - /* More than one bit difference. */ - fprintf (fp, "unknown"); - return 2; - } - if (x) - { - k = j; - m = x; - } - } - if (m == 0) - { - /* No difference. */ - fprintf (fp, "unknown"); - return 3; - } - /* Now m = plus.word[k] ^ ~minus.word[k]. */ - if (plus.word[k] & ~minus.word[k]) - { - /* Oh? The sign bit is set in the positive and cleared in the negative - numbers? */ - fprintf (fp, "unknown"); - return 4; - } - for (i = 0; ; i++) - if ((m >> i) & 1) - break; - fprintf (fp, "word %d bit %d", (int) k, (int) i); - if (fclose (fp) != 0) - return 5; - return 0; -} + for ac_header in sys/timeb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_TIMEB_H 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_double_signbit=`cat conftest.out` -else - gl_cv_cc_double_signbit="unknown" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + fi - rm -f conftest.out +done + + for ac_func in _ftime +do : + ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" +if test "x$ac_cv_func__ftime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FTIME 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_signbit" >&5 -$as_echo "$gl_cv_cc_double_signbit" >&6; } - case "$gl_cv_cc_double_signbit" in - word*bit*) - word=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word.*bit //'` +done -cat >>confdefs.h <<_ACEOF -#define DBL_SIGNBIT_WORD $word -_ACEOF + fi -cat >>confdefs.h <<_ACEOF -#define DBL_SIGNBIT_BIT $bit -_ACEOF - ;; - esac + GNULIB_GETTIMEOFDAY=1 + + + + + +$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the sign bit in a 'long double'" >&5 -$as_echo_n "checking where to find the sign bit in a 'long double'... " >&6; } -if ${gl_cv_cc_long_double_signbit+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_cc_long_double_signbit="unknown" + HOSTENT_LIB= + gl_saved_libs="$LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#define NWORDS \ - ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { long double value; unsigned int word[NWORDS]; } - memory_float; -static memory_float plus = { 1.0L }; -static memory_float minus = { -1.0L }; -int main () +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () { - size_t j, k, i; - unsigned int m; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - /* Find the different bit. */ - k = 0; m = 0; - for (j = 0; j < NWORDS; j++) - { - unsigned int x = plus.word[j] ^ minus.word[j]; - if ((x & (x - 1)) || (x && m)) - { - /* More than one bit difference. */ - fprintf (fp, "unknown"); - return 2; - } - if (x) - { - k = j; - m = x; - } - } - if (m == 0) - { - /* No difference. */ - fprintf (fp, "unknown"); - return 3; - } - /* Now m = plus.word[k] ^ ~minus.word[k]. */ - if (plus.word[k] & ~minus.word[k]) - { - /* Oh? The sign bit is set in the positive and cleared in the negative - numbers? */ - fprintf (fp, "unknown"); - return 4; - } - for (i = 0; ; i++) - if ((m >> i) & 1) - break; - fprintf (fp, "word %d bit %d", (int) k, (int) i); - if (fclose (fp) != 0) - return 5; +return gethostbyname (); + ; return 0; } - _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_long_double_signbit=`cat conftest.out` -else - gl_cv_cc_long_double_signbit="unknown" +for ac_lib in '' nsl network net; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break fi +done +if ${ac_cv_search_gethostbyname+:} false; then : - rm -f conftest.out - +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_gethostbyname" != "none required"; then + HOSTENT_LIB="$ac_cv_search_gethostbyname" + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_long_double_signbit" >&5 -$as_echo "$gl_cv_cc_long_double_signbit" >&6; } - case "$gl_cv_cc_long_double_signbit" in - word*bit*) - word=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word.*bit //'` - -cat >>confdefs.h <<_ACEOF -#define LDBL_SIGNBIT_WORD $word -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define LDBL_SIGNBIT_BIT $bit -_ACEOF - - ;; - esac + LIBS="$gl_saved_libs" + if test -z "$HOSTENT_LIB"; then + for ac_func in gethostbyname +do : + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETHOSTBYNAME 1 +_ACEOF - if test "$gl_cv_cc_float_signbit" = unknown; then - ac_fn_c_check_decl "$LINENO" "copysignf" "ac_cv_have_decl_copysignf" "#include -" -if test "x$ac_cv_have_decl_copysignf" = xyes; then : - ac_have_decl=1 else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_COPYSIGNF $ac_have_decl -_ACEOF - if test "$ac_cv_have_decl_copysignf" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignf can be used without linking with libm" >&5 -$as_echo_n "checking whether copysignf can be used without linking with libm... " >&6; } -if ${gl_cv_func_copysignf_no_libm+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking for gethostbyname in winsock2.h and -lws2_32... " >&6; } +if ${gl_cv_w32_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_w32_gethostbyname=no + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - float x, y; + +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include + int main () { -return copysignf (x, y) < 0; +gethostbyname(NULL); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_copysignf_no_libm=yes -else - gl_cv_func_copysignf_no_libm=no + gl_cv_w32_gethostbyname=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignf_no_libm" >&5 -$as_echo "$gl_cv_func_copysignf_no_libm" >&6; } - if test $gl_cv_func_copysignf_no_libm = yes; then - -$as_echo "#define HAVE_COPYSIGNF_IN_LIBC 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_gethostbyname" >&5 +$as_echo "$gl_cv_w32_gethostbyname" >&6; } + if test "$gl_cv_w32_gethostbyname" = "yes"; then + HOSTENT_LIB="-lws2_32" + fi - fi - fi - fi - if test "$gl_cv_cc_double_signbit" = unknown; then - ac_fn_c_check_decl "$LINENO" "copysign" "ac_cv_have_decl_copysign" "#include -" -if test "x$ac_cv_have_decl_copysign" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 fi +done -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_COPYSIGN $ac_have_decl -_ACEOF + fi - if test "$ac_cv_have_decl_copysign" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysign can be used without linking with libm" >&5 -$as_echo_n "checking whether copysign can be used without linking with libm... " >&6; } -if ${gl_cv_func_copysign_no_libm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - double x, y; -int -main () -{ -return copysign (x, y) < 0; - ; - return 0; -} + + + + + + + + HAVE_INET_NTOP=1 + INET_NTOP_LIB= + + + + + : + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_copysign_no_libm=yes -else - gl_cv_func_copysign_no_libm=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysign_no_libm" >&5 -$as_echo "$gl_cv_func_copysign_no_libm" >&6; } - if test $gl_cv_func_copysign_no_libm = yes; then -$as_echo "#define HAVE_COPYSIGN_IN_LIBC 1" >>confdefs.h +done - fi - fi - fi - if test "$gl_cv_cc_long_double_signbit" = unknown; then - ac_fn_c_check_decl "$LINENO" "copysignl" "ac_cv_have_decl_copysignl" "#include + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + if test $HAVE_WINSOCK2_H = 1; then + ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include " -if test "x$ac_cv_have_decl_copysignl" = xyes; then : +if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_COPYSIGNL $ac_have_decl +#define HAVE_DECL_INET_NTOP $ac_have_decl _ACEOF - if test "$ac_cv_have_decl_copysignl" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether copysignl can be used without linking with libm" >&5 -$as_echo_n "checking whether copysignl can be used without linking with libm... " >&6; } -if ${gl_cv_func_copysignl_no_libm+:} false; then : + if test $ac_cv_have_decl_inet_ntop = yes; then + REPLACE_INET_NTOP=1 + INET_NTOP_LIB="-lws2_32" + else + HAVE_DECL_INET_NTOP=0 + HAVE_INET_NTOP=0 + fi + else + gl_save_LIBS=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5 +$as_echo_n "checking for library containing inet_ntop... " >&6; } +if ${ac_cv_search_inet_ntop+:} false; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - long double x, y; + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_ntop (); int main () { -return copysignl (x, y) < 0; +return inet_ntop (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_copysignl_no_libm=yes -else - gl_cv_func_copysignl_no_libm=no +for ac_lib in '' nsl resolv; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_inet_ntop=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + conftest$ac_exeext + if ${ac_cv_search_inet_ntop+:} false; then : + break +fi +done +if ${ac_cv_search_inet_ntop+:} false; then : +else + ac_cv_search_inet_ntop=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_copysignl_no_libm" >&5 -$as_echo "$gl_cv_func_copysignl_no_libm" >&6; } - if test $gl_cv_func_copysignl_no_libm = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5 +$as_echo "$ac_cv_search_inet_ntop" >&6; } +ac_res=$ac_cv_search_inet_ntop +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -$as_echo "#define HAVE_COPYSIGNL_IN_LIBC 1" >>confdefs.h +else + for ac_func in inet_ntop +do : + ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop" +if test "x$ac_cv_func_inet_ntop" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_INET_NTOP 1 +_ACEOF - fi - fi - fi - ;; - esac - ;; - esac +fi +done - if test $REPLACE_SIGNBIT = 1; then + if test $ac_cv_func_inet_ntop = no; then + HAVE_INET_NTOP=0 + fi +fi + LIBS=$gl_save_LIBS + if test "$ac_cv_search_inet_ntop" != "no" \ + && test "$ac_cv_search_inet_ntop" != "none required"; then + INET_NTOP_LIB="$ac_cv_search_inet_ntop" + fi + : - gl_LIBOBJS="$gl_LIBOBJS signbitf.$ac_objext" + ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include + #if HAVE_NETDB_H + # include + #endif +" +if test "x$ac_cv_have_decl_inet_ntop" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_NTOP $ac_have_decl +_ACEOF + if test $ac_cv_have_decl_inet_ntop = no; then + HAVE_DECL_INET_NTOP=0 + fi + fi + if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then - gl_LIBOBJS="$gl_LIBOBJS signbitd.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS inet_ntop.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS signbitl.$ac_objext" fi @@ -34494,363 +29948,332 @@ $as_echo "#define HAVE_COPYSIGNL_IN_LIBC 1" >>confdefs.h - GNULIB_SIGNBIT=1 + GNULIB_INET_NTOP=1 -$as_echo "#define GNULIB_TEST_SIGNBIT 1" >>confdefs.h - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF -fi -done + HAVE_INET_PTON=1 + INET_PTON_LIB= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 -$as_echo_n "checking for SIZE_MAX... " >&6; } -if ${gl_cv_size_max+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_size_max= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_STDINT_H -#include -#endif -#ifdef SIZE_MAX -Found it -#endif + : + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Found it" >/dev/null 2>&1; then : - gl_cv_size_max=yes + fi -rm -f conftest* - if test -z "$gl_cv_size_max"; then - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include -#include "; then : +done -else - size_t_bits_minus_1= -fi + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi - if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : + if test $HAVE_WINSOCK2_H = 1; then + ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include +" +if test "x$ac_cv_have_decl_inet_pton" = xyes; then : + ac_have_decl=1 else - fits_in_uint= + ac_have_decl=0 fi - if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then - if test $fits_in_uint = 1; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_INET_PTON $ac_have_decl +_ACEOF + + if test $ac_cv_have_decl_inet_pton = yes; then + REPLACE_INET_PTON=1 + INET_PTON_LIB="-lws2_32" + else + HAVE_DECL_INET_PTON=0 + HAVE_INET_PTON=0 + fi + else + gl_save_LIBS=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5 +$as_echo_n "checking for library containing inet_pton... " >&6; } +if ${ac_cv_search_inet_pton+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - extern size_t foo; - extern unsigned long foo; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_pton (); int main () { - +return inet_pton (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - fits_in_uint=0 +for ac_lib in '' nsl resolv; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_inet_pton=$ac_res fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $fits_in_uint = 1; then - gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" - else - gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" - fi - else - gl_cv_size_max='((size_t)~(size_t)0)' - fi - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_inet_pton+:} false; then : + break +fi +done +if ${ac_cv_search_inet_pton+:} false; then : +else + ac_cv_search_inet_pton=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 -$as_echo "$gl_cv_size_max" >&6; } - if test "$gl_cv_size_max" != yes; then +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5 +$as_echo "$ac_cv_search_inet_pton" >&6; } +ac_res=$ac_cv_search_inet_pton +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -cat >>confdefs.h <<_ACEOF -#define SIZE_MAX $gl_cv_size_max +else + for ac_func in inet_pton +do : + ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton" +if test "x$ac_cv_func_inet_pton" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_INET_PTON 1 _ACEOF - fi +fi +done + + if test $ac_cv_func_inet_pton = no; then + HAVE_INET_PTON=0 + fi + +fi + + LIBS=$gl_save_LIBS + + if test "$ac_cv_search_inet_pton" != "no" \ + && test "$ac_cv_search_inet_pton" != "none required"; then + INET_PTON_LIB="$ac_cv_search_inet_pton" + fi + + + : + - ac_fn_c_check_decl "$LINENO" "sleep" "ac_cv_have_decl_sleep" "#include + ac_fn_c_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "#include + #if HAVE_NETDB_H + # include + #endif + " -if test "x$ac_cv_have_decl_sleep" = xyes; then : +if test "x$ac_cv_have_decl_inet_pton" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_SLEEP $ac_have_decl +#define HAVE_DECL_INET_PTON $ac_have_decl _ACEOF + if test $ac_cv_have_decl_inet_pton = no; then + HAVE_DECL_INET_PTON=0 + fi + fi - : + if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then - if test $ac_cv_have_decl_sleep != yes; then - HAVE_SLEEP=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working sleep" >&5 -$as_echo_n "checking for working sleep... " >&6; } -if ${gl_cv_func_sleep_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_sleep_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_sleep_works="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -static void -handle_alarm (int sig) -{ - if (sig != SIGALRM) - _exit (2); -} -int -main () -{ - /* Failure to compile this test due to missing alarm is okay, - since all such platforms (mingw) also lack sleep. */ - unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */ - unsigned int remaining; - signal (SIGALRM, handle_alarm); - alarm (1); - remaining = sleep (pentecost); - if (remaining > pentecost) - return 3; - if (remaining <= pentecost - 10) - return 4; - return 0; + ggl_LIBOBJS="$ggl_LIBOBJS inet_pton.$ac_objext" + + - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_sleep_works=yes -else - gl_cv_func_sleep_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_sleep_works" >&5 -$as_echo "$gl_cv_func_sleep_works" >&6; } - case "$gl_cv_func_sleep_works" in - *yes) ;; - *) - REPLACE_SLEEP=1 - ;; - esac fi - if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then + GNULIB_INET_PTON=1 - gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext" - fi + if test "$ac_cv_header_winsock2_h" = yes; then - GNULIB_SLEEP=1 + ggl_LIBOBJS="$ggl_LIBOBJS listen.$ac_objext" -$as_echo "#define GNULIB_TEST_SLEEP 1" >>confdefs.h + fi - gl_cv_func_snprintf_usable=no - for ac_func in snprintf -do : - ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SNPRINTF 1 -_ACEOF + GNULIB_LISTEN=1 -fi -done - if test $ac_cv_func_snprintf = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if ${gl_cv_func_snprintf_size1+:} false; then : - $as_echo_n "(cached) " >&6 -else +$as_echo "#define GNULIB_TEST_LISTEN 1" >>confdefs.h - if test "$cross_compiling" = yes; then : - gl_cv_func_snprintf_size1="guessing yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_SNPRINTF -# define my_snprintf snprintf -#else -# include -static int my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} -#endif -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - my_snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_size1=yes -else - gl_cv_func_snprintf_size1=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } - case "$gl_cv_func_snprintf_size1" in - *yes) - case "$gl_cv_func_snprintf_retval_c99" in - *yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 -$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } -if ${gl_cv_func_printf_positions+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : + : + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lseek detects pipes" >&5 +$as_echo_n "checking whether lseek detects pipes... " >&6; } +if ${gl_cv_func_lseek_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + mingw*) + gl_cv_func_lseek_pipe=no + ;; + *) + if test $cross_compiling = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include /* for off_t */ +#include /* for SEEK_CUR */ +#if HAVE_UNISTD_H +# include +#else /* on Windows with MSVC */ +# include +#endif + +int +main () +{ + + /* Exit with success only if stdin is seekable. */ + return lseek (0, (off_t)0, SEEK_CUR) < 0; - case "$host_os" in - netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) - gl_cv_func_printf_positions="guessing no";; - beos*) gl_cv_func_printf_positions="guessing no";; - mingw* | pw*) gl_cv_func_printf_positions="guessing no";; - *) gl_cv_func_printf_positions="guessing yes";; - esac + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if test -s conftest$ac_exeext \ + && ./conftest$ac_exeext < conftest.$ac_ext \ + && test 1 = "`echo hi \ + | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then + gl_cv_func_lseek_pipe=yes + else + gl_cv_func_lseek_pipe=no + fi else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_func_lseek_pipe=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () -{ - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 0); -} +#if defined __BEOS__ +/* BeOS mistakenly return 0 when trying to seek on pipes. */ + Choke me. +#endif _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_positions=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_lseek_pipe=yes else - gl_cv_func_printf_positions=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_func_lseek_pipe=no fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + ;; + esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 -$as_echo "$gl_cv_func_printf_positions" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lseek_pipe" >&5 +$as_echo "$gl_cv_func_lseek_pipe" >&6; } + if test $gl_cv_func_lseek_pipe = no; then + REPLACE_LSEEK=1 + +$as_echo "#define LSEEK_PIPE_BROKEN 1" >>confdefs.h - case "$gl_cv_func_printf_positions" in - *yes) - gl_cv_func_snprintf_usable=yes - ;; - esac - ;; - esac - ;; - esac fi - if test $gl_cv_func_snprintf_usable = no; then + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_LSEEK=1 + fi + if test $REPLACE_LSEEK = 1; then @@ -34858,273 +30281,107 @@ $as_echo "$gl_cv_func_printf_positions" >&6; } - gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" - if test $ac_cv_func_snprintf = yes; then - REPLACE_SNPRINTF=1 - fi - : + ggl_LIBOBJS="$ggl_LIBOBJS lseek.$ac_objext" fi - : - - if test $ac_cv_have_decl_snprintf = no; then - HAVE_DECL_SNPRINTF=0 - fi - - - + GNULIB_LSEEK=1 - GNULIB_SNPRINTF=1 +$as_echo "#define GNULIB_TEST_LSEEK 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h + if test $gl_cv_func_malloc_posix = yes; then +$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define GNULIB_SNPRINTF 1 -_ACEOF + else + REPLACE_MALLOC=1 + fi + if test $REPLACE_MALLOC = 1; then - if test "$ac_cv_header_winsock2_h" = yes; then + ggl_LIBOBJS="$ggl_LIBOBJS malloc.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS socket.$ac_objext" - fi - # When this module is used, sockets may actually occur as file descriptors, - # hence it is worth warning if the modules 'close' and 'ioctl' are not used. - if test "$ac_cv_header_winsock2_h" = yes; then - UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 - fi + GNULIB_MALLOC_POSIX=1 - GNULIB_SOCKET=1 +$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_SOCKET 1" >>confdefs.h + if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then - : + ggl_LIBOBJS="$ggl_LIBOBJS memchr.$ac_objext" - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h + for ac_header in bp-sym.h do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "bp-sym.h" "ac_cv_header_bp_sym_h" "$ac_includes_default" +if test "x$ac_cv_header_bp_sym_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 +#define HAVE_BP_SYM_H 1 _ACEOF fi done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 + fi - LIBSOCKET= - if test $HAVE_WINSOCK2_H = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 -$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } -if ${gl_cv_func_wsastartup+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lws2_32" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef HAVE_WINSOCK2_H -# include -#endif -int -main () -{ - WORD wVersionRequested = MAKEWORD(1, 1); - WSADATA wsaData; - int err = WSAStartup(wVersionRequested, &wsaData); - WSACleanup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_wsastartup=yes -else - gl_cv_func_wsastartup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 -$as_echo "$gl_cv_func_wsastartup" >&6; } - if test "$gl_cv_func_wsastartup" = "yes"; then + GNULIB_MEMCHR=1 -$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h - LIBSOCKET='-lws2_32' - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 -$as_echo_n "checking for library containing setsockopt... " >&6; } -if ${gl_cv_lib_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_lib_socket= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : -else - gl_save_LIBS="$LIBS" - LIBS="$gl_save_LIBS -lsocket" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lsocket" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnetwork" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnetwork" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - LIBS="$gl_save_LIBS -lnet" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern -#ifdef __cplusplus -"C" -#endif -char setsockopt(); -int -main () -{ -setsockopt(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_lib_socket="-lnet" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - fi - LIBS="$gl_save_LIBS" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$gl_cv_lib_socket"; then - gl_cv_lib_socket="none needed" - fi +$as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 -$as_echo "$gl_cv_lib_socket" >&6; } - if test "$gl_cv_lib_socket" != "none needed"; then - LIBSOCKET="$gl_cv_lib_socket" - fi - fi @@ -35134,496 +30391,334 @@ $as_echo "$gl_cv_lib_socket" >&6; } : - ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " -/* is not needed according to POSIX, but the - in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#if HAVE_SYS_SOCKET_H -# include -#elif HAVE_WS2TCPIP_H -# include -#endif -" -if test "x$ac_cv_type_socklen_t" = xyes; then : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 -$as_echo_n "checking for socklen_t equivalent... " >&6; } - if ${gl_cv_socklen_t_equiv+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - gl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t "unsigned int" "long int" "unsigned long int"; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - int getpeername (int, $arg2 *, $t *); -int -main () -{ -$t len; - getpeername (0, 0, &len); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socklen_t_equiv="$t" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done -fi + : - if test "$gl_cv_socklen_t_equiv" = ""; then - as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 -$as_echo "$gl_cv_socklen_t_equiv" >&6; } -cat >>confdefs.h <<_ACEOF -#define socklen_t $gl_cv_socklen_t_equiv -_ACEOF -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 -$as_echo_n "checking for ssize_t... " >&6; } -if ${gt_cv_ssize_t+:} false; then : + + if test $APPLE_UNIVERSAL_BUILD = 1; then + # A universal build on Apple Mac OS X platforms. + # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. + # But we need a configuration result that is valid in both modes. + gl_cv_func_working_mktime=no + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 +$as_echo_n "checking for working mktime... " >&6; } +if ${gl_cv_func_working_mktime+:} false; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + gl_cv_func_working_mktime=no +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ -int x = sizeof (ssize_t *) + sizeof (ssize_t); - return !x; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_ssize_t=yes -else - gt_cv_ssize_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 -$as_echo "$gt_cv_ssize_t" >&6; } - if test $gt_cv_ssize_t = no; then +/* Test program from Paul Eggert and Tony Leneis. */ +#include +#include +#include -$as_echo "#define ssize_t int" >>confdefs.h +#ifdef HAVE_UNISTD_H +# include +#endif - fi +#if HAVE_DECL_ALARM +# include +#endif +/* Work around redefinition to rpl_putenv by other config tests. */ +#undef putenv - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 -$as_echo_n "checking for working stdalign.h... " >&6; } -if ${gl_cv_header_working_stdalign_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include +static time_t time_t_max; +static time_t time_t_min; - /* Test that alignof yields a result consistent with offsetof. - This catches GCC bug 52023 - . */ - #ifdef __cplusplus - template struct alignof_helper { char a; t b; }; - # define ao(type) offsetof (alignof_helper, b) - #else - # define ao(type) offsetof (struct { char a; type b; }, b) - #endif - char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; - char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; - char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; +/* Values we'll use to set the TZ environment variable. */ +static char *tz_strings[] = { + (char *) 0, "TZ=GMT0", "TZ=JST-9", + "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" +}; +#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) - /* Test _Alignas only on platforms where gnulib can help. */ - #if \ - (__GNUC__ || __IBMC__ || __IBMCPP__ \ - || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) - struct alignas_test { char c; char alignas (8) alignas_8; }; - char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 - ? 1 : -1]; - #endif +/* Return 0 if mktime fails to convert a date in the spring-forward gap. + Based on a problem report from Andreas Jaeger. */ +static int +spring_forward_gap () +{ + /* glibc (up to about 1998-10-07) failed this test. */ + struct tm tm; -int -main () + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); + + tm.tm_year = 98; + tm.tm_mon = 3; + tm.tm_mday = 5; + tm.tm_hour = 2; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + return mktime (&tm) != (time_t) -1; +} + +static int +mktime_test1 (time_t now) { + struct tm *lt; + return ! (lt = localtime (&now)) || mktime (lt) == now; +} - ; - return 0; +static int +mktime_test (time_t now) +{ + return (mktime_test1 (now) + && mktime_test1 ((time_t) (time_t_max - now)) + && mktime_test1 ((time_t) (time_t_min + now))); } -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_working_stdalign_h=yes -else - gl_cv_header_working_stdalign_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 -$as_echo "$gl_cv_header_working_stdalign_h" >&6; } - if test $gl_cv_header_working_stdalign_h = yes; then - STDALIGN_H='' - else - STDALIGN_H='stdalign.h' - fi +static int +irix_6_4_bug () +{ + /* Based on code from Ariel Faigon. */ + struct tm tm; + tm.tm_year = 96; + tm.tm_mon = 3; + tm.tm_mday = 0; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + mktime (&tm); + return tm.tm_mon == 2 && tm.tm_mday == 31; +} +static int +bigtime_test (int j) +{ + struct tm tm; + time_t now; + tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; + now = mktime (&tm); + if (now != (time_t) -1) + { + struct tm *lt = localtime (&now); + if (! (lt + && lt->tm_year == tm.tm_year + && lt->tm_mon == tm.tm_mon + && lt->tm_mday == tm.tm_mday + && lt->tm_hour == tm.tm_hour + && lt->tm_min == tm.tm_min + && lt->tm_sec == tm.tm_sec + && lt->tm_yday == tm.tm_yday + && lt->tm_wday == tm.tm_wday + && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) + == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) + return 0; + } + return 1; +} - if test -n "$STDALIGN_H"; then - GL_GENERATE_STDALIGN_H_TRUE= - GL_GENERATE_STDALIGN_H_FALSE='#' -else - GL_GENERATE_STDALIGN_H_TRUE='#' - GL_GENERATE_STDALIGN_H_FALSE= -fi +static int +year_2050_test () +{ + /* The correct answer for 2050-02-01 00:00:00 in Pacific time, + ignoring leap seconds. */ + unsigned long int answer = 2527315200UL; + + struct tm tm; + time_t t; + tm.tm_year = 2050 - 1900; + tm.tm_mon = 2 - 1; + tm.tm_mday = 1; + tm.tm_hour = tm.tm_min = tm.tm_sec = 0; + tm.tm_isdst = -1; + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); + t = mktime (&tm); - STDARG_H='' - NEXT_STDARG_H='' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 -$as_echo_n "checking for va_copy... " >&6; } - if ${gl_cv_func_va_copy+:} false; then : - $as_echo_n "(cached) " >&6 -else + /* Check that the result is either a failure, or close enough + to the correct answer that we can assume the discrepancy is + due to leap seconds. */ + return (t == (time_t) -1 + || (0 < t && answer - 120 <= t && t <= answer + 120)); +} - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include int main () { + int result = 0; + time_t t, delta; + int i, j; + int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; + int time_t_signed = ! ((time_t) 0 < (time_t) -1); -#ifndef va_copy -void (*func) (va_list, va_list) = va_copy; +#if HAVE_DECL_ALARM + /* This test makes some buggy mktime implementations loop. + Give up after 60 seconds; a mktime slower than that + isn't worth using anyway. */ + signal (SIGALRM, SIG_DFL); + alarm (60); #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_va_copy=yes -else - gl_cv_func_va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi + time_t_max = (! time_t_signed + ? (time_t) -1 + : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) + * 2 + 1)); + time_t_min = (! time_t_signed + ? (time_t) 0 + : time_t_signed_magnitude + ? ~ (time_t) 0 + : ~ time_t_max); - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 -$as_echo "$gl_cv_func_va_copy" >&6; } - if test $gl_cv_func_va_copy = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined _AIX && !defined __GNUC__ - AIX vaccine - #endif + delta = time_t_max / 997; /* a suitable prime number */ + for (i = 0; i < N_STRINGS; i++) + { + if (tz_strings[i]) + putenv (tz_strings[i]); + + for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) + if (! mktime_test (t)) + result |= 1; + if ((result & 2) == 0 + && ! (mktime_test ((time_t) 1) + && mktime_test ((time_t) (60 * 60)) + && mktime_test ((time_t) (60 * 60 * 24)))) + result |= 2; + for (j = 1; (result & 4) == 0; j <<= 1) + { + if (! bigtime_test (j)) + result |= 4; + if (INT_MAX / 2 < j) + break; + } + if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) + result |= 8; + } + if (! irix_6_4_bug ()) + result |= 16; + if (! spring_forward_gap ()) + result |= 32; + if (! year_2050_test ()) + result |= 64; + return result; +} _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "vaccine" >/dev/null 2>&1; then : - gl_aixcc=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_mktime=yes else - gl_aixcc=no + gl_cv_func_working_mktime=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f conftest* - - if test $gl_aixcc = yes; then - STDARG_H=stdarg.h - - +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5 +$as_echo "$gl_cv_func_working_mktime" >&6; } + if test $gl_cv_func_working_mktime = no; then + REPLACE_MKTIME=1 + else + REPLACE_MKTIME=0 + fi + if test $REPLACE_MKTIME = 1; then - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdarg_h='<'stdarg.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdarg_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'stdarg.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 -$as_echo "$gl_cv_next_stdarg_h" >&6; } - fi - NEXT_STDARG_H=$gl_cv_next_stdarg_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdarg.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdarg_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive + ggl_LIBOBJS="$ggl_LIBOBJS mktime.$ac_objext" - if test "$gl_cv_next_stdarg_h" = '""'; then - gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' - NEXT_STDARG_H="$gl_cv_next_stdarg_h" - fi - else + : + fi - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - if ${gl_cv_func___va_copy+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef __va_copy -error, bail out -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func___va_copy=yes -else - gl_cv_func___va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - as_echo_n="$saved_as_echo_n" + GNULIB_MKTIME=1 - if test $gl_cv_func___va_copy = yes; then -$as_echo "#define va_copy __va_copy" >>confdefs.h - else -$as_echo "#define va_copy gl_va_copy" >>confdefs.h +$as_echo "#define GNULIB_TEST_MKTIME 1" >>confdefs.h - fi - fi - fi - if test -n "$STDARG_H"; then - GL_GENERATE_STDARG_H_TRUE= - GL_GENERATE_STDARG_H_FALSE='#' -else - GL_GENERATE_STDARG_H_TRUE='#' - GL_GENERATE_STDARG_H_FALSE= -fi + : - # Define two additional variables used in the Makefile substitution. - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - if test -n "$STDBOOL_H"; then - GL_GENERATE_STDBOOL_H_TRUE= - GL_GENERATE_STDBOOL_H_FALSE='#' -else - GL_GENERATE_STDBOOL_H_TRUE='#' - GL_GENERATE_STDBOOL_H_FALSE= -fi + if test $ac_cv_func__set_invalid_parameter_handler = yes; then + HAVE_MSVC_INVALID_PARAMETER_HANDLER=1 +$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 else - HAVE__BOOL=0 + HAVE_MSVC_INVALID_PARAMETER_HANDLER=0 fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - STDDEF_H= - if test $gt_cv_c_wchar_t = no; then - HAVE_WCHAR_T=0 - STDDEF_H=stddef.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 -$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } -if ${gl_cv_decl_null_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int test[2 * (sizeof NULL == sizeof (void *)) -1]; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_decl_null_works=yes -else - gl_cv_decl_null_works=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 -$as_echo "$gl_cv_decl_null_works" >&6; } - if test $gl_cv_decl_null_works = no; then - REPLACE_NULL=1 - STDDEF_H=stddef.h - fi - if test -n "$STDDEF_H"; then - GL_GENERATE_STDDEF_H_TRUE= - GL_GENERATE_STDDEF_H_FALSE='#' -else - GL_GENERATE_STDDEF_H_TRUE='#' - GL_GENERATE_STDDEF_H_FALSE= -fi - if test -n "$STDDEF_H"; then + ggl_LIBOBJS="$ggl_LIBOBJS msvc-inval.$ac_objext" + fi + if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stddef_h='<'stddef.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stddef_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stddef.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + ggl_LIBOBJS="$ggl_LIBOBJS msvc-nothrow.$ac_objext" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 -$as_echo "$gl_cv_next_stddef_h" >&6; } - fi - NEXT_STDDEF_H=$gl_cv_next_stddef_h + fi - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stddef.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stddef_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - fi + : @@ -35633,103 +30728,83 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.h'>' + gl_cv_next_netdb_h='<'netdb.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdio_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_netdb_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + if test $ac_cv_header_netdb_h = yes; then -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdio.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'netdb.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_netdb_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_netdb_h + gl_cv_next_netdb_h='"'$gl_header'"' + else + gl_cv_next_netdb_h='<'netdb.h'>' + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 -$as_echo "$gl_cv_next_stdio_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netdb_h" >&5 +$as_echo "$gl_cv_next_netdb_h" >&6; } fi - NEXT_STDIO_H=$gl_cv_next_stdio_h + NEXT_NETDB_H=$gl_cv_next_netdb_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdio.h'>' + gl_next_as_first_directive='<'netdb.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdio_h + gl_next_as_first_directive=$gl_cv_next_netdb_h fi - NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive - - - - - - GNULIB_FSCANF=1 - - -cat >>confdefs.h <<_ACEOF -#define GNULIB_FSCANF 1 -_ACEOF - - - GNULIB_SCANF=1 - - -cat >>confdefs.h <<_ACEOF -#define GNULIB_SCANF 1 -_ACEOF - + NEXT_AS_FIRST_DIRECTIVE_NETDB_H=$gl_next_as_first_directive - GNULIB_FGETC=1 - GNULIB_GETC=1 - GNULIB_GETCHAR=1 - GNULIB_FGETS=1 - GNULIB_FREAD=1 - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 + if test $ac_cv_header_netdb_h = yes; then + HAVE_NETDB_H=1 + else + HAVE_NETDB_H=0 + fi - for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do + for gl_func in getaddrinfo freeaddrinfo gai_strerror getnameinfo; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -35738,8 +30813,7 @@ if eval \${$as_gl_Symbol+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include int main () { @@ -35770,8 +30844,57 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_netinet_in_h_selfcontained+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_netinet_in_h_selfcontained=yes +else + gl_cv_header_netinet_in_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 +$as_echo "$gl_cv_header_netinet_in_h_selfcontained" >&6; } + if test $gl_cv_header_netinet_in_h_selfcontained = yes; then + NETINET_IN_H='' + else + NETINET_IN_H='netinet/in.h' + for ac_header in netinet/in.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NETINET_IN_H 1 +_ACEOF + +fi + +done + + + + + + : + @@ -35780,395 +30903,420 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.h'>' + gl_cv_next_netinet_in_h='<'netinet/in.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_stdlib_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_netinet_in_h+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + if test $ac_cv_header_netinet_in_h = yes; then + + -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - gl_header_literal_regex=`echo 'stdlib.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'netinet/in.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_netinet_in_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_netinet_in_h + gl_cv_next_netinet_in_h='"'$gl_header'"' + else + gl_cv_next_netinet_in_h='<'netinet/in.h'>' + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 -$as_echo "$gl_cv_next_stdlib_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_netinet_in_h" >&5 +$as_echo "$gl_cv_next_netinet_in_h" >&6; } fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_h + NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdlib.h'>' + gl_next_as_first_directive='<'netinet/in.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdlib_h + gl_next_as_first_directive=$gl_cv_next_netinet_in_h fi - NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - + NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H=$gl_next_as_first_directive + if test $ac_cv_header_netinet_in_h = yes; then + HAVE_NETINET_IN_H=1 + else + HAVE_NETINET_IN_H=0 + fi - for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random random_r realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_SYS_LOADAVG_H -# include -#endif -#if HAVE_RANDOM_H -# include -#endif + fi -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + if test -n "$NETINET_IN_H"; then + GL_GENERATE_NETINET_IN_H_TRUE= + GL_GENERATE_NETINET_IN_H_FALSE='#' else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + GL_GENERATE_NETINET_IN_H_TRUE='#' + GL_GENERATE_NETINET_IN_H_FALSE= fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - eval ac_cv_have_decl_$gl_func=yes -fi - done - for ac_func in strcasecmp -do : - ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" -if test "x$ac_cv_func_strcasecmp" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRCASECMP 1 -_ACEOF -fi -done - if test $ac_cv_func_strcasecmp = no; then - HAVE_STRCASECMP=0 - fi + ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include +#include <$ac_cv_struct_tm> +" +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : - for ac_func in strncasecmp -do : - ac_fn_c_check_func "$LINENO" "strncasecmp" "ac_cv_func_strncasecmp" -if test "x$ac_cv_func_strncasecmp" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRNCASECMP 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TM_TM_ZONE 1 _ACEOF + fi -done - if test $ac_cv_func_strncasecmp = yes; then - HAVE_STRNCASECMP=1 - else - HAVE_STRNCASECMP=0 - fi - ac_fn_c_check_decl "$LINENO" "strncasecmp" "ac_cv_have_decl_strncasecmp" "$ac_includes_default" -if test "x$ac_cv_have_decl_strncasecmp" = xyes; then : +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then + +$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h + +else + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include +" +if test "x$ac_cv_have_decl_tzname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNCASECMP $ac_have_decl +#define HAVE_DECL_TZNAME $ac_have_decl _ACEOF - if test $ac_cv_have_decl_strncasecmp = no; then - HAVE_DECL_STRNCASECMP=0 - fi - - - if test $HAVE_STRCASECMP = 0; then - + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 +$as_echo_n "checking for tzname... " >&6; } +if ${ac_cv_var_tzname+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif +int +main () +{ +return tzname[0][0]; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_var_tzname=yes +else + ac_cv_var_tzname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +$as_echo "$ac_cv_var_tzname" >&6; } + if test $ac_cv_var_tzname = yes; then +$as_echo "#define HAVE_TZNAME 1" >>confdefs.h + fi +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - gl_LIBOBJS="$gl_LIBOBJS strcasecmp.$ac_objext" +#include /* for time_t */ +#include /* for CHAR_BIT, LONG_MIN, LONG_MAX */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1]; +typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1]; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : - : +$as_echo "#define TIME_T_FITS_IN_LONG_INT 1" >>confdefs.h - fi - if test $HAVE_STRNCASECMP = 0; then +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl +_ACEOF + ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include +" +if test "x$ac_cv_have_decl_program_invocation_short_name" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl +_ACEOF - gl_LIBOBJS="$gl_LIBOBJS strncasecmp.$ac_objext" + if test $gl_cv_func_malloc_posix = yes; then - : +$as_echo "#define HAVE_REALLOC_POSIX 1" >>confdefs.h + else + REPLACE_REALLOC=1 fi + if test $REPLACE_REALLOC = 1; then - for ac_func in strchrnul -do : - ac_fn_c_check_func "$LINENO" "strchrnul" "ac_cv_func_strchrnul" -if test "x$ac_cv_func_strchrnul" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRCHRNUL 1 -_ACEOF - -fi -done - if test $ac_cv_func_strchrnul = no; then - HAVE_STRCHRNUL=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strchrnul works" >&5 -$as_echo_n "checking whether strchrnul works... " >&6; } -if ${gl_cv_func_strchrnul_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __CYGWIN__ - #include - #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9) - Lucky user - #endif -#else - Lucky user -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky user" >/dev/null 2>&1; then : - gl_cv_func_strchrnul_works="guessing yes" -else - gl_cv_func_strchrnul_works="guessing no" -fi -rm -f conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ggl_LIBOBJS="$ggl_LIBOBJS realloc.$ac_objext" -#include /* for strchrnul */ + fi -int -main () -{ -const char *buf = "a"; - return strchrnul (buf, 'b') != buf + 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strchrnul_works=yes -else - gl_cv_func_strchrnul_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strchrnul_works" >&5 -$as_echo "$gl_cv_func_strchrnul_works" >&6; } - case "$gl_cv_func_strchrnul_works" in - *yes) ;; - *) REPLACE_STRCHRNUL=1 ;; - esac - fi - if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then + GNULIB_REALLOC_POSIX=1 +$as_echo "#define GNULIB_TEST_REALLOC_POSIX 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS strchrnul.$ac_objext" - : - fi + if test "$ac_cv_header_winsock2_h" = yes; then - GNULIB_STRCHRNUL=1 + ggl_LIBOBJS="$ggl_LIBOBJS recv.$ac_objext" + fi -$as_echo "#define GNULIB_TEST_STRCHRNUL 1" >>confdefs.h + GNULIB_RECV=1 - : +$as_echo "#define GNULIB_TEST_RECV 1" >>confdefs.h - if test $ac_cv_func_strdup = yes; then - if test $gl_cv_func_malloc_posix != yes; then - REPLACE_STRDUP=1 - fi - fi - : + if test "$ac_cv_header_winsock2_h" = yes; then - if test $ac_cv_have_decl_strdup = no; then - HAVE_DECL_STRDUP=0 - fi - if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then + ggl_LIBOBJS="$ggl_LIBOBJS recvfrom.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext" + GNULIB_RECVFROM=1 - : - fi +$as_echo "#define GNULIB_TEST_RECVFROM 1" >>confdefs.h - GNULIB_STRDUP=1 -$as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h + if test "$ac_cv_header_winsock2_h" = yes; then + REPLACE_SELECT=1 + else + : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select supports a 0 argument" >&5 +$as_echo_n "checking whether select supports a 0 argument... " >&6; } +if ${gl_cv_func_select_supports0+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess no on Interix. + interix*) gl_cv_func_select_supports0="guessing no";; + # Guess yes otherwise. + *) gl_cv_func_select_supports0="guessing yes";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 -$as_echo_n "checking for working strerror function... " >&6; } -if ${gl_cv_func_working_strerror+:} false; then : +#include +#include +#if HAVE_SYS_SELECT_H +#include +#endif +int main () +{ + struct timeval timeout; + timeout.tv_sec = 0; + timeout.tv_usec = 5; + return select (0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &timeout) < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_select_supports0=yes +else + gl_cv_func_select_supports0=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_supports0" >&5 +$as_echo "$gl_cv_func_select_supports0" >&6; } + case "$gl_cv_func_select_supports0" in + *yes) ;; + *) REPLACE_SELECT=1 ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether select detects invalid fds" >&5 +$as_echo_n "checking whether select detects invalid fds... " >&6; } +if ${gl_cv_func_select_detects_ebadf+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_working_strerror="guessing no" ;; - esac + + if test "$cross_compiling" = yes; then : + + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_select_detects_ebadf="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_select_detects_ebadf="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#include +#include +#if HAVE_SYS_SELECT_H +# include +#endif +#include +#include int main () { -if (!*strerror (-2)) return 1; + + fd_set set; + dup2(0, 16); + FD_ZERO(&set); + FD_SET(16, &set); + close(16); + struct timeval timeout; + timeout.tv_sec = 0; + timeout.tv_usec = 5; + return select (17, &set, NULL, NULL, &timeout) != -1 || errno != EBADF; + ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_strerror=yes + gl_cv_func_select_detects_ebadf=yes else - gl_cv_func_working_strerror=no + gl_cv_func_select_detects_ebadf=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -36176,60 +31324,71 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 -$as_echo "$gl_cv_func_working_strerror" >&6; } - case "$gl_cv_func_working_strerror" in +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_select_detects_ebadf" >&5 +$as_echo "$gl_cv_func_select_detects_ebadf" >&6; } + case $gl_cv_func_select_detects_ebadf in *yes) ;; - *) - REPLACE_STRERROR=1 - ;; + *) REPLACE_SELECT=1 ;; esac - - case "$gl_cv_func_strerror_r_works" in - *no) REPLACE_STRERROR=1 ;; - esac - - else - REPLACE_STRERROR=1 fi - if test $REPLACE_STRERROR = 1; then - + LIB_SELECT="$LIBSOCKET" + if test $REPLACE_SELECT = 1; then + case "$host_os" in + mingw*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define WIN32_LEAN_AND_MEAN +#include +int +main () +{ + MsgWaitForMultipleObjects (0, NULL, 0, 0, 0); + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +else + LIB_SELECT="$LIB_SELECT -luser32" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ;; + esac + fi + if test $REPLACE_SELECT = 1; then - gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" - fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_STRERROR 1 -_ACEOF + ggl_LIBOBJS="$ggl_LIBOBJS select.$ac_objext" + fi - GNULIB_STRERROR=1 + GNULIB_SELECT=1 -$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h +$as_echo "#define GNULIB_TEST_SELECT 1" >>confdefs.h - if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then + if test "$ac_cv_header_winsock2_h" = yes; then @@ -36238,42 +31397,26 @@ $as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS send.$ac_objext" + fi - : + GNULIB_SEND=1 - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi +$as_echo "#define GNULIB_TEST_SEND 1" >>confdefs.h -done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - fi + if test "$ac_cv_header_winsock2_h" = yes; then @@ -36282,331 +31425,239 @@ done + ggl_LIBOBJS="$ggl_LIBOBJS sendto.$ac_objext" + fi - : + GNULIB_SENDTO=1 - : +$as_echo "#define GNULIB_TEST_SENDTO 1" >>confdefs.h - if test $ac_cv_have_decl_strndup = no; then - HAVE_DECL_STRNDUP=0 - fi - if test $ac_cv_func_strndup = yes; then - HAVE_STRNDUP=1 - # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strndup" >&5 -$as_echo_n "checking for working strndup... " >&6; } -if ${gl_cv_func_strndup_works+:} false; then : + SERVENT_LIB= + gl_saved_libs="$LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getservbyname" >&5 +$as_echo_n "checking for library containing getservbyname... " >&6; } +if ${ac_cv_search_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - - case $host_os in - aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";; - *) gl_cv_func_strndup_works="guessing yes";; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getservbyname (); int main () { - -#if !HAVE_DECL_STRNDUP - extern - #ifdef __cplusplus - "C" - #endif - char *strndup (const char *, size_t); -#endif - char *s; - s = strndup ("some longer string", 15); - free (s); - s = strndup ("shorter string", 13); - return s[13] != '\0'; +return getservbyname (); ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strndup_works=yes -else - gl_cv_func_strndup_works=no +for ac_lib in '' socket network net; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_getservbyname=$ac_res fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_getservbyname+:} false; then : + break fi +done +if ${ac_cv_search_getservbyname+:} false; then : +else + ac_cv_search_getservbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getservbyname" >&5 +$as_echo "$ac_cv_search_getservbyname" >&6; } +ac_res=$ac_cv_search_getservbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + if test "$ac_cv_search_getservbyname" != "none required"; then + SERVENT_LIB="$ac_cv_search_getservbyname" + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strndup_works" >&5 -$as_echo "$gl_cv_func_strndup_works" >&6; } - case $gl_cv_func_strndup_works in - *no) REPLACE_STRNDUP=1 ;; - esac - else - HAVE_STRNDUP=0 - fi - - if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" - - fi - - - - - - GNULIB_STRNDUP=1 - - - - - -$as_echo "#define GNULIB_TEST_STRNDUP 1" >>confdefs.h - - - - - - - - - - : - - - + LIBS="$gl_saved_libs" + if test -z "$SERVENT_LIB"; then + for ac_func in getservbyname +do : + ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" +if test "x$ac_cv_func_getservbyname" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETSERVBYNAME 1 +_ACEOF - if test $ac_cv_have_decl_strnlen = no; then - HAVE_DECL_STRNLEN=0 - else +else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 -$as_echo_n "checking for working strnlen... " >&6; } -if ${ac_cv_func_strnlen_working+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getservbyname in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking for getservbyname in winsock2.h and -lws2_32... " >&6; } +if ${gl_cv_w32_getservbyname+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - # Guess no on AIX systems, yes otherwise. - case "$host_os" in - aix*) ac_cv_func_strnlen_working=no;; - *) ac_cv_func_strnlen_working=yes;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_w32_getservbyname=no + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + +#ifdef HAVE_WINSOCK2_H +#include +#endif +#include + int main () { - -#define S "foobar" -#define S_LEN (sizeof S - 1) - - /* At least one implementation is buggy: that of AIX 4.3 would - give strnlen (S, 1) == 3. */ - - int i; - for (i = 0; i < S_LEN + 1; ++i) - { - int expected = i <= S_LEN ? i : S_LEN; - if (strnlen (S, i) != expected) - return 1; - } - return 0; - +getservbyname(NULL,NULL); ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_strnlen_working=yes -else - ac_cv_func_strnlen_working=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_w32_getservbyname=yes fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 -$as_echo "$ac_cv_func_strnlen_working" >&6; } -test $ac_cv_func_strnlen_working = no && : - - - if test $ac_cv_func_strnlen_working = no; then - REPLACE_STRNLEN=1 - fi - fi - - if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then - - - - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_w32_getservbyname" >&5 +$as_echo "$gl_cv_w32_getservbyname" >&6; } + if test "$gl_cv_w32_getservbyname" = "yes"; then + SERVENT_LIB="-lws2_32" + fi - gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" +fi +done - : fi - - GNULIB_STRNLEN=1 - - - - - -$as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h - - - - - - - - for ac_func in strtok_r -do : - ac_fn_c_check_func "$LINENO" "strtok_r" "ac_cv_func_strtok_r" -if test "x$ac_cv_func_strtok_r" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRTOK_R 1 -_ACEOF - -fi -done - - if test $ac_cv_func_strtok_r = yes; then - HAVE_STRTOK_R=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtok_r works" >&5 -$as_echo_n "checking whether strtok_r works... " >&6; } -if ${gl_cv_func_strtok_r_works+:} false; then : + if test $ac_cv_func_setenv = no; then + HAVE_SETENV=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5 +$as_echo_n "checking whether setenv validates arguments... " >&6; } +if ${gl_cv_func_setenv_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - - case "$host_os" in - # Guess no on glibc systems. - *-gnu*) gl_cv_func_strtok_r_works="guessing no";; - *) gl_cv_func_strtok_r_works="guessing yes";; - esac + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_setenv_works="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #ifndef __OPTIMIZE__ - # define __OPTIMIZE__ 1 - #endif - #undef __OPTIMIZE_SIZE__ - #undef __NO_INLINE__ - #include - #include + #include + #include + #include int main () { -static const char dummy[] = "\177\01a"; - char delimiters[] = "xxxxxxxx"; - char *save_ptr = (char *) dummy; - strtok_r (delimiters, "x", &save_ptr); - strtok_r (NULL, "x", &save_ptr); - return 0; + + int result = 0; + { + if (setenv ("", "", 0) != -1) + result |= 1; + else if (errno != EINVAL) + result |= 2; + } + { + if (setenv ("a", "=", 1) != 0) + result |= 4; + else if (strcmp (getenv ("a"), "=") != 0) + result |= 8; + } + return result; ; return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strtok_r_works=yes + gl_cv_func_setenv_works=yes else - gl_cv_func_strtok_r_works=no + gl_cv_func_setenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtok_r_works" >&5 -$as_echo "$gl_cv_func_strtok_r_works" >&6; } - case "$gl_cv_func_strtok_r_works" in - *no) - UNDEFINE_STRTOK_R=1 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 +$as_echo "$gl_cv_func_setenv_works" >&6; } + case "$gl_cv_func_setenv_works" in + *yes) ;; + *) + REPLACE_SETENV=1 ;; esac - else - HAVE_STRTOK_R=0 fi - : - - - - + if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then - if test $ac_cv_have_decl_strtok_r = no; then - HAVE_DECL_STRTOK_R=0 - fi - if test $HAVE_STRTOK_R = 0 || test $REPLACE_STRTOK_R = 1; then + ggl_LIBOBJS="$ggl_LIBOBJS setenv.$ac_objext" + fi - gl_LIBOBJS="$gl_LIBOBJS strtok_r.$ac_objext" - : - fi + GNULIB_SETENV=1 - GNULIB_STRTOK_R=1 +$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h -$as_echo "#define GNULIB_TEST_STRTOK_R 1" >>confdefs.h + if test "$ac_cv_header_winsock2_h" = yes; then @@ -36614,142 +31665,56 @@ $as_echo "#define GNULIB_TEST_STRTOK_R 1" >>confdefs.h - for ac_func in strverscmp -do : - ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp" -if test "x$ac_cv_func_strverscmp" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRVERSCMP 1 -_ACEOF -fi -done + ggl_LIBOBJS="$ggl_LIBOBJS setsockopt.$ac_objext" - if test $ac_cv_func_strverscmp = no; then - HAVE_STRVERSCMP=0 fi - if test $HAVE_STRVERSCMP = 0; then - - - + GNULIB_SETSOCKOPT=1 - gl_LIBOBJS="$gl_LIBOBJS strverscmp.$ac_objext" - : - fi +$as_echo "#define GNULIB_TEST_SETSOCKOPT 1" >>confdefs.h - GNULIB_STRVERSCMP=1 + if test "$ac_cv_header_winsock2_h" = yes; then -$as_echo "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h + ggl_LIBOBJS="$ggl_LIBOBJS shutdown.$ac_objext" + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -struct timeval b; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int memset; int bzero; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - #undef memset - #define memset nonexistent_memset - extern - #ifdef __cplusplus - "C" - #endif - void *memset (void *, int, unsigned long); - #undef bzero - #define bzero nonexistent_bzero - extern - #ifdef __cplusplus - "C" - #endif - void bzero (void *, unsigned long); - fd_set fds; - FD_ZERO (&fds); + GNULIB_SHUTDOWN=1 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } +$as_echo "#define GNULIB_TEST_SHUTDOWN 1" >>confdefs.h - : @@ -36759,112 +31724,100 @@ $as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' + gl_cv_next_signal_h='<'signal.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_select_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_signal_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/select.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'signal.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_signal_h + gl_cv_next_signal_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 +$as_echo "$gl_cv_next_signal_h" >&6; } fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + NEXT_SIGNAL_H=$gl_cv_next_signal_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/select.h'>' + gl_next_as_first_directive='<'signal.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_select_h + gl_next_as_first_directive=$gl_cv_next_signal_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive - - + NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " +#include +" +if test "x$ac_cv_type_volatile_sig_atomic_t" = xyes; then : - : +else + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 +fi - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 -_ACEOF -fi -done + ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " +#include - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi +" +if test "x$ac_cv_type_sighandler_t" = xyes; then : +else + HAVE_SIGHANDLER_T=0 +fi - for gl_func in pselect select; do + for gl_func in pthread_sigmask sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigpending sigprocmask; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -36873,13 +31826,7 @@ if eval \${$as_gl_Symbol+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Some systems require prerequisite headers. */ -#include -#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H -# include -#endif -#include +#include int main () @@ -36911,27 +31858,65 @@ fi + for ac_header in stdint.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDINT_H 1 +_ACEOF +fi +done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 +$as_echo_n "checking for SIZE_MAX... " >&6; } +if ${gl_cv_size_max+:} false; then : + $as_echo_n "(cached) " >&6 +else - case "$host_os" in - osf*) + gl_cv_size_max= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -$as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h +#include +#if HAVE_STDINT_H +#include +#endif +#ifdef SIZE_MAX +Found it +#endif - ;; - esac +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Found it" >/dev/null 2>&1; then : + gl_cv_size_max=yes +fi +rm -f conftest* + + if test -z "$gl_cv_size_max"; then + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include +#include "; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : - $as_echo_n "(cached) " >&6 else + size_t_bits_minus_1= +fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : + +else + fits_in_uint= +fi + + if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then + if test $fits_in_uint = 1; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + extern size_t foo; + extern unsigned long foo; + int main () { @@ -36941,61 +31926,164 @@ main () } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_selfcontained=yes -else - gl_cv_header_sys_socket_h_selfcontained=no + fits_in_uint=0 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $fits_in_uint = 1; then + gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" + else + gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" + fi + else + gl_cv_size_max='((size_t)~(size_t)0)' + fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } - if test $gl_cv_header_sys_socket_h_selfcontained = yes; then - for ac_func in shutdown +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 +$as_echo "$gl_cv_size_max" >&6; } + if test "$gl_cv_size_max" != yes; then + +cat >>confdefs.h <<_ACEOF +#define SIZE_MAX $gl_cv_size_max +_ACEOF + + fi + + + + + gl_cv_func_snprintf_usable=no + for ac_func in snprintf do : - ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" -if test "x$ac_cv_func_shutdown" = xyes; then : + ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" +if test "x$ac_cv_func_snprintf" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SHUTDOWN 1 +#define HAVE_SNPRINTF 1 _ACEOF fi done - if test $ac_cv_func_shutdown = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 -$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } -if ${gl_cv_header_sys_socket_h_shut+:} false; then : + if test $ac_cv_func_snprintf = yes; then + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 +$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } +if ${gl_cv_func_snprintf_size1+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then : + gl_cv_func_snprintf_size1="guessing yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () + +#include +#if HAVE_SNPRINTF +# define my_snprintf snprintf +#else +# include +static int my_snprintf (char *buf, int size, const char *format, ...) { -int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; - ; - return 0; + va_list args; + int ret; + va_start (args, format); + ret = vsnprintf (buf, size, format, args); + va_end (args); + return ret; +} +#endif +int main() +{ + static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; + my_snprintf (buf, 1, "%d", 12345); + return buf[1] != 'E'; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_socket_h_shut=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_snprintf_size1=yes else - gl_cv_header_sys_socket_h_shut=no + gl_cv_func_snprintf_size1=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 -$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } - if test $gl_cv_header_sys_socket_h_shut = no; then - SYS_SOCKET_H='sys/socket.h' - fi - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 +$as_echo "$gl_cv_func_snprintf_size1" >&6; } + + case "$gl_cv_func_snprintf_size1" in + *yes) + + case "$gl_cv_func_snprintf_retval_c99" in + *yes) + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 +$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } +if ${gl_cv_func_printf_positions+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + + case "$host_os" in + netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) + gl_cv_func_printf_positions="guessing no";; + beos*) gl_cv_func_printf_positions="guessing no";; + mingw* | pw*) gl_cv_func_printf_positions="guessing no";; + *) gl_cv_func_printf_positions="guessing yes";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +/* The string "%2$d %1$d", with dollar characters protected from the shell's + dollar expansion (possibly an autoconf bug). */ +static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; +static char buf[100]; +int main () +{ + sprintf (buf, format, 33, 55); + return (strcmp (buf, "55 33") != 0); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_printf_positions=yes +else + gl_cv_func_printf_positions=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 +$as_echo "$gl_cv_func_printf_positions" >&6; } + + case "$gl_cv_func_printf_positions" in + *yes) + gl_cv_func_snprintf_usable=yes + ;; + esac + ;; + esac + ;; + esac fi - # We need to check for ws2tcpip.h now. + if test $gl_cv_func_snprintf_usable = no; then + + @@ -37004,169 +32092,85 @@ $as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } + ggl_LIBOBJS="$ggl_LIBOBJS snprintf.$ac_objext" + + if test $ac_cv_func_snprintf = yes; then + REPLACE_SNPRINTF=1 + fi + : + + fi + : + if test $ac_cv_have_decl_snprintf = no; then + HAVE_DECL_SNPRINTF=0 + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_socket_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_sys_socket_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + GNULIB_SNPRINTF=1 + + + + +$as_echo "#define GNULIB_TEST_SNPRINTF 1" >>confdefs.h + + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_SNPRINTF 1 _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/socket.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_socket_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_socket_h='<'sys/socket.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 -$as_echo "$gl_cv_next_sys_socket_h" >&6; } - fi - NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/socket.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_socket_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive + if test "$ac_cv_header_winsock2_h" = yes; then + + + + - if test $ac_cv_header_sys_socket_h = yes; then - HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 - else - HAVE_SYS_SOCKET_H=0 - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi + ggl_LIBOBJS="$ggl_LIBOBJS socket.$ac_objext" + fi + # When this module is used, sockets may actually occur as file descriptors, + # hence it is worth warning if the modules 'close' and 'ioctl' are not used. - ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif + if test "$ac_cv_header_winsock2_h" = yes; then + UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1 + fi -" -if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -_ACEOF -fi -ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " - /* sys/types.h is not needed according to POSIX, but the - sys/socket.h in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -#ifdef HAVE_WS2TCPIP_H -#include -#endif -" -if test "x$ac_cv_type_sa_family_t" = xyes; then : + GNULIB_SOCKET=1 -cat >>confdefs.h <<_ACEOF -#define HAVE_SA_FAMILY_T 1 -_ACEOF -fi - if test $ac_cv_type_struct_sockaddr_storage = no; then - HAVE_STRUCT_SOCKADDR_STORAGE=0 - fi - if test $ac_cv_type_sa_family_t = no; then - HAVE_SA_FAMILY_T=0 - fi - if test $ac_cv_type_struct_sockaddr_storage != no; then - ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include - #ifdef HAVE_SYS_SOCKET_H - #include - #endif - #ifdef HAVE_WS2TCPIP_H - #include - #endif -" -if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : +$as_echo "#define GNULIB_TEST_SOCKET 1" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 -_ACEOF -else - HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 -fi - fi - if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ - || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then - SYS_SOCKET_H='sys/socket.h' - fi @@ -37199,220 +32203,411 @@ done HAVE_WINSOCK2_H=0 fi + LIBSOCKET= + if test $HAVE_WINSOCK2_H = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to call WSAStartup in winsock2.h and -lws2_32" >&5 +$as_echo_n "checking if we need to call WSAStartup in winsock2.h and -lws2_32... " >&6; } +if ${gl_cv_func_wsastartup+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lws2_32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef HAVE_WINSOCK2_H +# include +#endif +int +main () +{ - for gl_func in socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : - $as_echo_n "(cached) " >&6 + WORD wVersionRequested = MAKEWORD(1, 1); + WSADATA wsaData; + int err = WSAStartup(wVersionRequested, &wsaData); + WSACleanup (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_wsastartup=yes else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + gl_cv_func_wsastartup=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" -/* Some systems require prerequisite headers. */ -#include -#include +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wsastartup" >&5 +$as_echo "$gl_cv_func_wsastartup" >&6; } + if test "$gl_cv_func_wsastartup" = "yes"; then + +$as_echo "#define WINDOWS_SOCKETS 1" >>confdefs.h + + LIBSOCKET='-lws2_32' + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 +$as_echo_n "checking for library containing setsockopt... " >&6; } +if ${gl_cv_lib_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_lib_socket= + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern +#ifdef __cplusplus +"C" +#endif +char setsockopt(); int main () { -#undef $gl_func - (void) $gl_func; +setsockopt(); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" +if ac_fn_c_try_link "$LINENO"; then : + else - eval "$as_gl_Symbol=no" + gl_save_LIBS="$LIBS" + LIBS="$gl_save_LIBS -lsocket" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern +#ifdef __cplusplus +"C" +#endif +char setsockopt(); +int +main () +{ +setsockopt(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_lib_socket="-lsocket" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$gl_cv_lib_socket"; then + LIBS="$gl_save_LIBS -lnetwork" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern +#ifdef __cplusplus +"C" +#endif +char setsockopt(); +int +main () +{ +setsockopt(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_lib_socket="-lnetwork" fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$gl_cv_lib_socket"; then + LIBS="$gl_save_LIBS -lnet" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern +#ifdef __cplusplus +"C" +#endif +char setsockopt(); +int +main () +{ +setsockopt(); + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_lib_socket="-lnet" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + fi + LIBS="$gl_save_LIBS" - eval ac_cv_have_decl_$gl_func=yes fi - done +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$gl_cv_lib_socket"; then + gl_cv_lib_socket="none needed" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_lib_socket" >&5 +$as_echo "$gl_cv_lib_socket" >&6; } + if test "$gl_cv_lib_socket" != "none needed"; then + LIBSOCKET="$gl_cv_lib_socket" + fi + fi + : + ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " +/* is not needed according to POSIX, but the + in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#if HAVE_SYS_SOCKET_H +# include +#elif HAVE_WS2TCPIP_H +# include +#endif +" +if test "x$ac_cv_type_socklen_t" = xyes; then : +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 +$as_echo_n "checking for socklen_t equivalent... " >&6; } + if ${gl_cv_socklen_t_equiv+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Systems have either "struct sockaddr *" or + # "void *" as the second argument to getpeername + gl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void; do + for t in int size_t "unsigned int" "long int" "unsigned long int"; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + int getpeername (int, $arg2 *, $t *); +int +main () +{ +$t len; + getpeername (0, 0, &len); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_socklen_t_equiv="$t" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$gl_cv_socklen_t_equiv" != "" && break + done + test "$gl_cv_socklen_t_equiv" != "" && break + done +fi - : + if test "$gl_cv_socklen_t_equiv" = ""; then + as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 +$as_echo "$gl_cv_socklen_t_equiv" >&6; } +cat >>confdefs.h <<_ACEOF +#define socklen_t $gl_cv_socklen_t_equiv +_ACEOF +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if ${gt_cv_ssize_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_ssize_t=yes +else + gt_cv_ssize_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +$as_echo "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then +$as_echo "#define ssize_t int" >>confdefs.h + fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_stat_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 +$as_echo_n "checking for working stdalign.h... " >&6; } +if ${gl_cv_header_working_stdalign_h+:} false; then : $as_echo_n "(cached) " >&6 else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include - if test $ac_cv_header_sys_stat_h = yes; then + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + ((defined __cplusplus && 201103 <= __cplusplus) \ + || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + struct alignas_test { char c; char alignas (8) alignas_8; }; + char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 + ? 1 : -1]; + #endif - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +int +main () +{ + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/stat.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi - - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_working_stdalign_h=yes +else + gl_cv_header_working_stdalign_h=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -$as_echo "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/stat.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_stat_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 +$as_echo "$gl_cv_header_working_stdalign_h" >&6; } + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi + if test -n "$STDALIGN_H"; then + GL_GENERATE_STDALIGN_H_TRUE= + GL_GENERATE_STDALIGN_H_FALSE='#' +else + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE= +fi + # Define two additional variables used in the Makefile substitution. + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi - if test $WINDOWS_64_BIT_ST_SIZE = 1; then + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' +else + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= +fi -$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 fi - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = xyes; then : - -else - -$as_echo "#define nlink_t int" >>confdefs.h -fi - for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : + STDDEF_H= + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + STDDEF_H=stddef.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 +$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } +if ${gl_cv_decl_null_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { -#undef $gl_func - (void) $gl_func; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + gl_cv_decl_null_works=yes else - eval "$as_gl_Symbol=no" + gl_cv_decl_null_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +$as_echo "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + STDDEF_H=stddef.h + fi - eval ac_cv_have_decl_$gl_func=yes + if test -n "$STDDEF_H"; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' +else + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= fi - done - - - - - - - - - - - - - - - - - : + if test -n "$STDDEF_H"; then @@ -37422,96 +32617,74 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_uio_h='<'sys/uio.h'>' + gl_cv_next_stddef_h='<'stddef.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_uio_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stddef_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_uio_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stddef.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/uio.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_uio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_uio_h='<'sys/uio.h'>' - fi + gl_header=$gl_cv_absolute_stddef_h + gl_cv_next_stddef_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 -$as_echo "$gl_cv_next_sys_uio_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +$as_echo "$gl_cv_next_stddef_h" >&6; } fi - NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_h + NEXT_STDDEF_H=$gl_cv_next_stddef_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/uio.h'>' + gl_next_as_first_directive='<'stddef.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_uio_h + gl_next_as_first_directive=$gl_cv_next_stddef_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_uio_h = yes; then - HAVE_SYS_UIO_H=1 - else - HAVE_SYS_UIO_H=0 fi - : - - - - - - if test $ac_cv_header_sysexits_h = yes; then - HAVE_SYSEXITS_H=1 - - - - - - - : - @@ -37520,328 +32693,270 @@ $as_echo "$gl_cv_next_sys_uio_h" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_sysexits_h='<'sysexits.h'>' + gl_cv_next_stdio_h='<'stdio.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sysexits_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdio_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sysexits_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdio.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_cv_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` - gl_header_literal_regex=`echo 'sysexits.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sysexits_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sysexits_h='<'sysexits.h'>' - fi + gl_header=$gl_cv_absolute_stdio_h + gl_cv_next_stdio_h='"'$gl_header'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sysexits_h" >&5 -$as_echo "$gl_cv_next_sysexits_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 +$as_echo "$gl_cv_next_stdio_h" >&6; } fi - NEXT_SYSEXITS_H=$gl_cv_next_sysexits_h + NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sysexits.h'>' + gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sysexits_h + gl_next_as_first_directive=$gl_cv_next_stdio_h fi - NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H=$gl_next_as_first_directive - - - - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -switch (0) - { - case EX_OK: - case EX_USAGE: - case EX_DATAERR: - case EX_NOINPUT: - case EX_NOUSER: - case EX_NOHOST: - case EX_UNAVAILABLE: - case EX_SOFTWARE: - case EX_OSERR: - case EX_OSFILE: - case EX_CANTCREAT: - case EX_IOERR: - case EX_TEMPFAIL: - case EX_PROTOCOL: - case EX_NOPERM: - case EX_CONFIG: - break; - } - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - SYSEXITS_H= -else - SYSEXITS_H=sysexits.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else - HAVE_SYSEXITS_H=0 - SYSEXITS_H=sysexits.h - fi - - - if test -n "$SYSEXITS_H"; then - GL_GENERATE_SYSEXITS_H_TRUE= - GL_GENERATE_SYSEXITS_H_FALSE='#' -else - GL_GENERATE_SYSEXITS_H_TRUE='#' - GL_GENERATE_SYSEXITS_H_FALSE= -fi - - - - - + NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive + GNULIB_FSCANF=1 +cat >>confdefs.h <<_ACEOF +#define GNULIB_FSCANF 1 +_ACEOF + GNULIB_SCANF=1 - ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include -" -if test "x$ac_cv_have_decl_localtime_r" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_LOCALTIME_R $ac_have_decl +#define GNULIB_SCANF 1 _ACEOF - if test $ac_cv_have_decl_localtime_r = no; then - HAVE_DECL_LOCALTIME_R=0 - fi + GNULIB_FGETC=1 + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 + GNULIB_FREAD=1 - : + GNULIB_FPRINTF=1 + GNULIB_PRINTF=1 + GNULIB_VFPRINTF=1 + GNULIB_VPRINTF=1 + GNULIB_FPUTC=1 + GNULIB_PUTC=1 + GNULIB_PUTCHAR=1 + GNULIB_FPUTS=1 + GNULIB_PUTS=1 + GNULIB_FWRITE=1 - if test $ac_cv_func_localtime_r = yes; then - HAVE_LOCALTIME_R=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 -$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } -if ${gl_cv_time_r_posix+:} false; then : + for gl_func in dprintf fpurge fseeko ftello getdelim getline gets pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int main () { -/* We don't need to append 'restrict's to the argument types, - even though the POSIX signature has the 'restrict's, - since C99 says they can't affect type compatibility. */ - struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; - if (ptr) return 0; - /* Check the return type is a pointer. - On HP-UX 10 it is 'int'. */ - *localtime_r (0, 0); +#undef $gl_func + (void) $gl_func; ; return 0; } - _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_time_r_posix=yes + eval "$as_gl_Symbol=yes" else - gl_cv_time_r_posix=no + eval "$as_gl_Symbol=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 -$as_echo "$gl_cv_time_r_posix" >&6; } - if test $gl_cv_time_r_posix = yes; then - REPLACE_LOCALTIME_R=0 - else - REPLACE_LOCALTIME_R=1 - fi - else - HAVE_LOCALTIME_R=0 - fi - - if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then - - +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done - gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" - : - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdlib_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - GNULIB_TIME_R=1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdlib.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` -$as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h + gl_header=$gl_cv_absolute_stdlib_h + gl_cv_next_stdlib_h='"'$gl_header'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 +$as_echo "$gl_cv_next_stdlib_h" >&6; } + fi + NEXT_STDLIB_H=$gl_cv_next_stdlib_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdlib.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdlib_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - LIB_TIMER_TIME= - gl_saved_libs=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing timer_settime" >&5 -$as_echo_n "checking for library containing timer_settime... " >&6; } -if ${ac_cv_search_timer_settime+:} false; then : + for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random random_r realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtoll strtoull unlockpt unsetenv; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#include +#if HAVE_SYS_LOADAVG_H +# include +#endif +#if HAVE_RANDOM_H +# include #endif -char timer_settime (); + int main () { -return timer_settime (); +#undef $gl_func + (void) $gl_func; ; return 0; } _ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_timer_settime=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_timer_settime+:} false; then : - break -fi -done -if ${ac_cv_search_timer_settime+:} false; then : - +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" else - ac_cv_search_timer_settime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + eval "$as_gl_Symbol=no" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_settime" >&5 -$as_echo "$ac_cv_search_timer_settime" >&6; } -ac_res=$ac_cv_search_timer_settime -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_timer_settime" = "none required" || - LIB_TIMER_TIME=$ac_cv_search_timer_settime +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + eval ac_cv_have_decl_$gl_func=yes +fi + done -#include -#ifdef __GNU_LIBRARY__ - #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ - && !defined __UCLIBC__ - Thread emulation available - #endif -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Thread" >/dev/null 2>&1; then : - LIB_TIMER_TIME="$LIB_TIMER_TIME $LIBMULTITHREAD" -fi -rm -f conftest* - for ac_func in timer_settime -do : - ac_fn_c_check_func "$LINENO" "timer_settime" "ac_cv_func_timer_settime" -if test "x$ac_cv_func_timer_settime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TIMER_SETTIME 1 -_ACEOF -fi -done - LIBS=$gl_saved_libs : @@ -37849,234 +32964,123 @@ done + if test $ac_cv_func_strdup = yes; then + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 + fi + fi + : - : + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 + fi + if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then - if test $gl_cv_have_include_next = yes; then - gl_cv_next_unistd_h='<'unistd.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_unistd_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_unistd_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + ggl_LIBOBJS="$ggl_LIBOBJS strdup.$ac_objext" + + : + fi -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'unistd.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_unistd_h='<'unistd.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 -$as_echo "$gl_cv_next_unistd_h" >&6; } - fi - NEXT_UNISTD_H=$gl_cv_next_unistd_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'unistd.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_unistd_h - fi - NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive + GNULIB_STRDUP=1 - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi +$as_echo "#define GNULIB_TEST_STRDUP 1" >>confdefs.h - for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : + + + + if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5 +$as_echo_n "checking for working strerror function... " >&6; } +if ${gl_cv_func_working_strerror+:} false; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_working_strerror="guessing no" ;; + esac + +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#if HAVE_UNISTD_H -# include -#endif -/* Some systems declare various items in the wrong headers. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -# include -# include -# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# include -# endif -#endif +#include int main () { -#undef $gl_func - (void) $gl_func; +if (!*strerror (-2)) return 1; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_strerror=yes else - eval "$as_gl_Symbol=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes + gl_cv_func_working_strerror=no fi - done - - - - # Check whether --enable-valgrind-tests was given. -if test "${enable_valgrind_tests+set}" = set; then : - enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval -else - opt_valgrind_tests=yes +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - # Run self-tests under valgrind? - if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then - for ac_prog in valgrind -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_VALGRIND+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$VALGRIND"; then - ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_VALGRIND="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -VALGRIND=$ac_cv_prog_VALGRIND -if test -n "$VALGRIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5 -$as_echo "$VALGRIND" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5 +$as_echo "$gl_cv_func_working_strerror" >&6; } + case "$gl_cv_func_working_strerror" in + *yes) ;; + *) + REPLACE_STRERROR=1 + ;; + esac - - test -n "$VALGRIND" && break -done - - fi - - OPTS="-q --error-exitcode=1 --leak-check=full --suppressions=suppressions.valgrind" - - if test -n "$VALGRIND" \ - && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then - opt_valgrind_tests=yes - VALGRIND="$VALGRIND $OPTS" else - opt_valgrind_tests=no - VALGRIND= + REPLACE_STRERROR=1 fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5 -$as_echo_n "checking whether self tests are run under valgrind... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5 -$as_echo "$opt_valgrind_tests" >&6; } - - + if test $REPLACE_STRERROR = 1; then - : - if test $ac_cv_func_vasnprintf = no; then - : + ggl_LIBOBJS="$ggl_LIBOBJS strerror.$ac_objext" + fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_STRERROR 1 +_ACEOF @@ -38084,44 +33088,61 @@ $as_echo "$opt_valgrind_tests" >&6; } + GNULIB_STRERROR=1 - gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" +$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h + if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then - gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS strerror-override.$ac_objext" - gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" + : + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF +fi - gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" +done - if test $ac_cv_func_vasnprintf = yes; then + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi -$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi @@ -38130,42 +33151,95 @@ $as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_sys_select_h_selfcontained+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +struct timeval b; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_select_h_selfcontained=yes +else + gl_cv_header_sys_select_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_header_sys_select_h_selfcontained = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int memset; int bzero; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + #undef memset + #define memset nonexistent_memset + extern + #ifdef __cplusplus + "C" + #endif + void *memset (void *, int, unsigned long); + #undef bzero + #define bzero nonexistent_bzero + extern + #ifdef __cplusplus + "C" + #endif + void bzero (void *, unsigned long); + fd_set fds; + FD_ZERO (&fds); + ; + return 0; +} - ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = xyes; then : +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : else - -$as_echo "#define ptrdiff_t long" >>confdefs.h - - + gl_cv_header_sys_select_h_selfcontained=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } - fi - - - for ac_func in vasprintf -do : - ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" -if test "x$ac_cv_func_vasprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VASPRINTF 1 -_ACEOF -fi -done + : - if test $ac_cv_func_vasprintf = no; then @@ -38173,109 +33247,248 @@ done + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_select_h='<'sys/select.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_select_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_sys_select_h = yes; then - gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/select.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_select_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_select_h + gl_cv_next_sys_select_h='"'$gl_header'"' + else + gl_cv_next_sys_select_h='<'sys/select.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 +$as_echo "$gl_cv_next_sys_select_h" >&6; } + fi + NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/select.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_select_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" - if test $ac_cv_func_vasprintf = yes; then - REPLACE_VASPRINTF=1 + if test $ac_cv_header_sys_select_h = yes; then + HAVE_SYS_SELECT_H=1 else - HAVE_VASPRINTF=0 + HAVE_SYS_SELECT_H=0 fi + : - fi - + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF +fi +done - GNULIB_VASPRINTF=1 + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + for gl_func in pselect select; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -$as_echo "#define GNULIB_TEST_VASPRINTF 1" >>confdefs.h +/* Some systems require prerequisite headers. */ +#include +#if !(defined __GLIBC__ && !defined __UCLIBC__) && HAVE_SYS_TIME_H +# include +#endif +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" - XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" + case "$host_os" in + osf*) -# Check whether --with-packager was given. -if test "${with_packager+set}" = set; then : - withval=$with_packager; case $withval in - yes|no) ;; - *) -cat >>confdefs.h <<_ACEOF -#define PACKAGE_PACKAGER "$withval" -_ACEOF - ;; - esac +$as_echo "#define _POSIX_PII_SOCKET 1" >>confdefs.h -fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if ${gl_cv_header_sys_socket_h_selfcontained+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ -# Check whether --with-packager-version was given. -if test "${with_packager_version+set}" = set; then : - withval=$with_packager_version; case $withval in - yes|no) ;; - *) -cat >>confdefs.h <<_ACEOF -#define PACKAGE_PACKAGER_VERSION "$withval" + ; + return 0; +} _ACEOF - ;; - esac +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_socket_h_selfcontained=yes +else + gl_cv_header_sys_socket_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_socket_h_selfcontained" >&6; } + if test $gl_cv_header_sys_socket_h_selfcontained = yes; then + for ac_func in shutdown +do : + ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" +if test "x$ac_cv_func_shutdown" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SHUTDOWN 1 +_ACEOF +fi +done + if test $ac_cv_func_shutdown = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines the SHUT_* macros" >&5 +$as_echo_n "checking whether defines the SHUT_* macros... " >&6; } +if ${gl_cv_header_sys_socket_h_shut+:} false; then : + $as_echo_n "(cached) " >&6 +else -# Check whether --with-packager-bug-reports was given. -if test "${with_packager_bug_reports+set}" = set; then : - withval=$with_packager_bug_reports; case $withval in - yes|no) ;; - *) -cat >>confdefs.h <<_ACEOF -#define PACKAGE_PACKAGER_BUG_REPORTS "$withval" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; + ; + return 0; +} _ACEOF - ;; - esac - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_socket_h_shut=yes +else + gl_cv_header_sys_socket_h_shut=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - if test "X$with_packager" = "X" && \ - test "X$with_packager_version$with_packager_bug_reports" != "X" - then - as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_socket_h_shut" >&5 +$as_echo "$gl_cv_header_sys_socket_h_shut" >&6; } + if test $gl_cv_header_sys_socket_h_shut = no; then + SYS_SOCKET_H='sys/socket.h' + fi + fi fi + # We need to check for ws2tcpip.h now. @@ -38284,6 +33497,7 @@ fi + : @@ -38292,219 +33506,241 @@ fi - gl_cv_func_vfprintf_posix=no - case "$gl_cv_func_printf_sizes_c99" in - *yes) - case "$gl_cv_func_printf_long_double" in - *yes) - case "$gl_cv_func_printf_infinite" in - *yes) - case "$gl_cv_func_printf_infinite_long_double" in - *yes) - case "$gl_cv_func_printf_directive_a" in - *yes) - case "$gl_cv_func_printf_directive_f" in - *yes) - case "$gl_cv_func_printf_directive_n" in - *yes) - case "$gl_cv_func_printf_directive_ls" in - *yes) - case "$gl_cv_func_printf_positions" in - *yes) - case "$gl_cv_func_printf_flag_grouping" in - *yes) - case "$gl_cv_func_printf_flag_leftadjust" in - *yes) - case "$gl_cv_func_printf_flag_zero" in - *yes) - case "$gl_cv_func_printf_precision" in - *yes) - case "$gl_cv_func_printf_enomem" in - *yes) - # vfprintf exists and is - # already POSIX compliant. - gl_cv_func_vfprintf_posix=yes - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - ;; - esac - if test $gl_cv_func_vfprintf_posix = no; then - - - - case "$gl_cv_func_printf_infinite" in - *yes) - ;; - *) - -$as_echo "#define NEED_PRINTF_INFINITE_DOUBLE 1" >>confdefs.h - - ;; - esac - + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_socket_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_header_sys_socket_h = yes; then - case "$gl_cv_func_printf_long_double" in - *yes) - case "$gl_cv_func_printf_infinite_long_double" in - *yes) - ;; - *) -$as_echo "#define NEED_PRINTF_INFINITE_LONG_DOUBLE 1" >>confdefs.h - ;; - esac - ;; + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; esac - - - case "$gl_cv_func_printf_directive_a" in - *yes) + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' ;; *) - -$as_echo "#define NEED_PRINTF_DIRECTIVE_A 1" >>confdefs.h - - for ac_func in nl_langinfo -do : - ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo" -if test "x$ac_cv_func_nl_langinfo" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NL_LANGINFO 1 -_ACEOF - -fi -done - + gl_dirsep_regex='\/' ;; esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/socket.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_socket_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_socket_h + gl_cv_next_sys_socket_h='"'$gl_header'"' + else + gl_cv_next_sys_socket_h='<'sys/socket.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_socket_h" >&5 +$as_echo "$gl_cv_next_sys_socket_h" >&6; } + fi + NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h - case "$gl_cv_func_printf_directive_f" in - *yes) - ;; - *) - -$as_echo "#define NEED_PRINTF_DIRECTIVE_F 1" >>confdefs.h - - ;; - esac + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/socket.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_socket_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H=$gl_next_as_first_directive - case "$gl_cv_func_printf_directive_ls" in - *yes) - ;; - *) -$as_echo "#define NEED_PRINTF_DIRECTIVE_LS 1" >>confdefs.h + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_SYS_SOCKET_H=1 + HAVE_WS2TCPIP_H=0 + else + HAVE_SYS_SOCKET_H=0 + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi - ;; - esac + ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif - case "$gl_cv_func_printf_flag_grouping" in - *yes) - ;; - *) +" +if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : -$as_echo "#define NEED_PRINTF_FLAG_GROUPING 1" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 +_ACEOF - ;; - esac +fi +ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" " + /* sys/types.h is not needed according to POSIX, but the + sys/socket.h in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +" +if test "x$ac_cv_type_sa_family_t" = xyes; then : - case "$gl_cv_func_printf_flag_leftadjust" in - *yes) - ;; - *) +cat >>confdefs.h <<_ACEOF +#define HAVE_SA_FAMILY_T 1 +_ACEOF -$as_echo "#define NEED_PRINTF_FLAG_LEFTADJUST 1" >>confdefs.h - ;; - esac +fi + if test $ac_cv_type_struct_sockaddr_storage = no; then + HAVE_STRUCT_SOCKADDR_STORAGE=0 + fi + if test $ac_cv_type_sa_family_t = no; then + HAVE_SA_FAMILY_T=0 + fi + if test $ac_cv_type_struct_sockaddr_storage != no; then + ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include + #ifdef HAVE_SYS_SOCKET_H + #include + #endif + #ifdef HAVE_WS2TCPIP_H + #include + #endif +" +if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes; then : - case "$gl_cv_func_printf_flag_zero" in - *yes) - ;; - *) +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 +_ACEOF -$as_echo "#define NEED_PRINTF_FLAG_ZERO 1" >>confdefs.h - ;; - esac +else + HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0 +fi + fi + if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ + || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then + SYS_SOCKET_H='sys/socket.h' + fi - case "$gl_cv_func_printf_precision" in - *yes) - ;; - *) -$as_echo "#define NEED_PRINTF_UNBOUNDED_PRECISION 1" >>confdefs.h + : -$as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h -$as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h - ;; - esac + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF +fi - case "$gl_cv_func_printf_enomem" in - *yes) - ;; - *) +done -$as_echo "#define NEED_PRINTF_ENOMEM 1" >>confdefs.h + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi -$as_echo "#define NEED_PRINTF_DOUBLE 1" >>confdefs.h -$as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h + for gl_func in socket connect accept bind getpeername getsockname getsockopt listen recv send recvfrom sendto setsockopt shutdown accept4; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - ;; - esac +/* Some systems require prerequisite headers. */ +#include +#include +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done - : @@ -38518,7 +33754,7 @@ $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" + : @@ -38527,18 +33763,72 @@ $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_stat_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" + if test $ac_cv_header_sys_stat_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/stat.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_stat_h + gl_cv_next_sys_stat_h='"'$gl_header'"' + else + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } + fi + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/stat.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_stat_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" @@ -38548,34 +33838,64 @@ $as_echo "#define NEED_PRINTF_LONG_DOUBLE 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" - if test $ac_cv_func_vasnprintf = yes; then + if test $WINDOWS_64_BIT_ST_SIZE = 1; then -$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h fi + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = xyes; then : +else +$as_echo "#define nlink_t int" >>confdefs.h +fi - - - - - ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = xyes; then : - + for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -$as_echo "#define ptrdiff_t long" >>confdefs.h - - +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 +_ACEOF + eval ac_cv_have_decl_$gl_func=yes +fi + done @@ -38592,52 +33912,89 @@ fi - gl_LIBOBJS="$gl_LIBOBJS vfprintf.$ac_objext" - - REPLACE_VFPRINTF=1 - -$as_echo "#define REPLACE_VFPRINTF_POSIX 1" >>confdefs.h : - fi - - - GNULIB_VFPRINTF_POSIX=1 + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_uio_h='<'sys/uio.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_uio_h+:} false; then : + $as_echo_n "(cached) " >&6 +else - -$as_echo "#define GNULIB_TEST_VFPRINTF_POSIX 1" >>confdefs.h - - - - - - if test $gl_cv_func_vfprintf_posix = no; then - - + if test $ac_cv_header_sys_uio_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/uio.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_uio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_uio_h + gl_cv_next_sys_uio_h='"'$gl_header'"' + else + gl_cv_next_sys_uio_h='<'sys/uio.h'>' + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_uio_h" >&5 +$as_echo "$gl_cv_next_sys_uio_h" >&6; } + fi + NEXT_SYS_UIO_H=$gl_cv_next_sys_uio_h - gl_LIBOBJS="$gl_LIBOBJS vprintf.$ac_objext" + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/uio.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_uio_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H=$gl_next_as_first_directive - REPLACE_VPRINTF=1 -$as_echo "#define REPLACE_VPRINTF_POSIX 1" >>confdefs.h - : + if test $ac_cv_header_sys_uio_h = yes; then + HAVE_SYS_UIO_H=1 + else + HAVE_SYS_UIO_H=0 fi @@ -38645,149 +34002,81 @@ $as_echo "#define REPLACE_VPRINTF_POSIX 1" >>confdefs.h - GNULIB_VPRINTF_POSIX=1 - - - - - -$as_echo "#define GNULIB_TEST_VPRINTF_POSIX 1" >>confdefs.h - - - - - - gl_cv_func_vsnprintf_usable=no - for ac_func in vsnprintf -do : - ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" -if test "x$ac_cv_func_vsnprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VSNPRINTF 1 -_ACEOF - -fi -done - if test $ac_cv_func_vsnprintf = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf respects a size of 1" >&5 -$as_echo_n "checking whether snprintf respects a size of 1... " >&6; } -if ${gl_cv_func_snprintf_size1+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_func_snprintf_size1="guessing yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_SNPRINTF -# define my_snprintf snprintf -#else -# include -static int my_snprintf (char *buf, int size, const char *format, ...) -{ - va_list args; - int ret; - va_start (args, format); - ret = vsnprintf (buf, size, format, args); - va_end (args); - return ret; -} -#endif -int main() -{ - static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' }; - my_snprintf (buf, 1, "%d", 12345); - return buf[1] != 'E'; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_snprintf_size1=yes + ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include +" +if test "x$ac_cv_have_decl_localtime_r" = xyes; then : + ac_have_decl=1 else - gl_cv_func_snprintf_size1=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_have_decl=0 fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_LOCALTIME_R $ac_have_decl +_ACEOF -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_size1" >&5 -$as_echo "$gl_cv_func_snprintf_size1" >&6; } + if test $ac_cv_have_decl_localtime_r = no; then + HAVE_DECL_LOCALTIME_R=0 + fi - case "$gl_cv_func_snprintf_size1" in - *yes) - case "$gl_cv_func_snprintf_retval_c99" in - *yes) + : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf supports POSIX/XSI format strings with positions" >&5 -$as_echo_n "checking whether printf supports POSIX/XSI format strings with positions... " >&6; } -if ${gl_cv_func_printf_positions+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) - gl_cv_func_printf_positions="guessing no";; - beos*) gl_cv_func_printf_positions="guessing no";; - mingw* | pw*) gl_cv_func_printf_positions="guessing no";; - *) gl_cv_func_printf_positions="guessing yes";; - esac + if test $ac_cv_func_localtime_r = yes; then + HAVE_LOCALTIME_R=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 +$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } +if ${gl_cv_time_r_posix+:} false; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -/* The string "%2$d %1$d", with dollar characters protected from the shell's - dollar expansion (possibly an autoconf bug). */ -static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; -static char buf[100]; -int main () +#include +int +main () { - sprintf (buf, format, 33, 55); - return (strcmp (buf, "55 33") != 0); +/* We don't need to append 'restrict's to the argument types, + even though the POSIX signature has the 'restrict's, + since C99 says they can't affect type compatibility. */ + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0; + /* Check the return type is a pointer. + On HP-UX 10 it is 'int'. */ + *localtime_r (0, 0); + ; + return 0; } + _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_printf_positions=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_time_r_posix=yes else - gl_cv_func_printf_positions=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_time_r_posix=no fi - +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_printf_positions" >&5 -$as_echo "$gl_cv_func_printf_positions" >&6; } - - case "$gl_cv_func_printf_positions" in - *yes) - gl_cv_func_vsnprintf_usable=yes - ;; - esac - ;; - esac - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 +$as_echo "$gl_cv_time_r_posix" >&6; } + if test $gl_cv_time_r_posix = yes; then + REPLACE_LOCALTIME_R=0 + else + REPLACE_LOCALTIME_R=1 + fi + else + HAVE_LOCALTIME_R=0 fi - if test $gl_cv_func_vsnprintf_usable = no; then - - + if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then @@ -38795,40 +34084,29 @@ $as_echo "$gl_cv_func_printf_positions" >&6; } - gl_LIBOBJS="$gl_LIBOBJS vsnprintf.$ac_objext" - if test $ac_cv_func_vsnprintf = yes; then - REPLACE_VSNPRINTF=1 - fi - : + ggl_LIBOBJS="$ggl_LIBOBJS time_r.$ac_objext" - fi : - - - - - if test $ac_cv_have_decl_vsnprintf = no; then - HAVE_DECL_VSNPRINTF=0 fi - - GNULIB_VSNPRINTF=1 + GNULIB_TIME_R=1 -$as_echo "#define GNULIB_TEST_VSNPRINTF 1" >>confdefs.h +$as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h + : @@ -38848,89 +34126,87 @@ $as_echo "#define GNULIB_TEST_VSNPRINTF 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then - gl_cv_next_wchar_h='<'wchar.h'>' + gl_cv_next_unistd_h='<'unistd.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_wchar_h+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_unistd_h+:} false; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_wchar_h = yes; then + if test $ac_cv_header_unistd_h = yes; then + - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'wchar.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'unistd.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_unistd_h + gl_cv_next_unistd_h='"'$gl_header'"' else - gl_cv_next_wchar_h='<'wchar.h'>' + gl_cv_next_unistd_h='<'unistd.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 -$as_echo "$gl_cv_next_wchar_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 +$as_echo "$gl_cv_next_unistd_h" >&6; } fi - NEXT_WCHAR_H=$gl_cv_next_wchar_h + NEXT_UNISTD_H=$gl_cv_next_unistd_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'wchar.h'>' + gl_next_as_first_directive='<'unistd.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_wchar_h + gl_next_as_first_directive=$gl_cv_next_unistd_h fi - NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 else - HAVE_WCHAR_H=0 + HAVE_UNISTD_H=0 fi - if test $gt_cv_c_wint_t = yes; then - HAVE_WINT_T=1 - else - HAVE_WINT_T=0 - fi - - for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do + for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 $as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } @@ -38940,16 +34216,18 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Tru64 with Desktop Toolkit C has a bug: must be included before - . - BSD/OS 4.0.1 has a bug: , and must be - included before . */ +#if HAVE_UNISTD_H +# include +#endif +/* Some systems declare various items in the wrong headers. */ #if !(defined __GLIBC__ && !defined __UCLIBC__) -# include +# include # include -# include +# include +# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# include +# endif #endif -#include int main () @@ -38983,237 +34261,137 @@ fi - for ac_header in stdint.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H 1 -_ACEOF - -fi - -done - - - # End of code from modules - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - gl_source_base='gl/tests' - gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS - - gl_module_indicator_condition=$gltests_WITNESS - - + : - if test "$GNULIB_ENVIRON" != 1; then - if test "$GNULIB_ENVIRON" = 0; then - GNULIB_ENVIRON=$gl_module_indicator_condition - else - GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)" - fi + if test $ac_cv_have_decl_unsetenv = no; then + HAVE_DECL_UNSETENV=0 fi + for ac_func in unsetenv +do : + ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" +if test "x$ac_cv_func_unsetenv" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UNSETENV 1 +_ACEOF +fi +done - - - -$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h - - - - - - - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_fcntl_h='<'fcntl.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_fcntl_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'fcntl.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 -$as_echo "$gl_cv_next_fcntl_h" >&6; } - fi - NEXT_FCNTL_H=$gl_cv_next_fcntl_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'fcntl.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_fcntl_h - fi - NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive - - - - - - - - - - - for gl_func in fcntl openat; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : + if test $ac_cv_func_unsetenv = no; then + HAVE_UNSETENV=0 + else + HAVE_UNSETENV=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 +$as_echo_n "checking for unsetenv() return type... " >&6; } +if ${gt_cv_func_unsetenv_ret+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +#undef _BSD +#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 */ +#include +extern +#ifdef __cplusplus +"C" +#endif +int unsetenv (const char *name); int main () { -#undef $gl_func - (void) $gl_func; + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + gt_cv_func_unsetenv_ret='int' else - eval "$as_gl_Symbol=no" + gt_cv_func_unsetenv_ret='void' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes -fi - done - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 +$as_echo "$gt_cv_func_unsetenv_ret" >&6; } + if test $gt_cv_func_unsetenv_ret = 'void'; then +$as_echo "#define VOID_UNSETENV 1" >>confdefs.h + REPLACE_UNSETENV=1 + fi - if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then - REPLACE_FDOPEN=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5 -$as_echo_n "checking whether fdopen sets errno... " >&6; } -if ${gl_cv_func_fdopen_works+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5 +$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; } +if ${gl_cv_func_unsetenv_works+:} false; then : $as_echo_n "(cached) " >&6 else - - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes; then : case "$host_os" in - mingw*) gl_cv_func_fdopen_works="guessing no" ;; - *) gl_cv_func_fdopen_works="guessing yes" ;; - esac + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unsetenv_works="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include + #include + #include + extern char **environ; + int -main (void) +main () { - FILE *fp; - errno = 0; - fp = fdopen (-1, "r"); - if (fp == NULL && errno == 0) - return 1; + + char entry1[] = "a=1"; + char entry2[] = "b=2"; + char *env[] = { entry1, entry2, NULL }; + if (putenv ((char *) "a=1")) return 1; + if (putenv (entry2)) return 2; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 3; + if (!unsetenv ("") || errno != EINVAL) return 4; + entry2[0] = 'b'; + environ = env; + if (!getenv ("a")) return 5; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 6; + + ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_fdopen_works=yes + gl_cv_func_unsetenv_works=yes else - gl_cv_func_fdopen_works=no + gl_cv_func_unsetenv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5 -$as_echo "$gl_cv_func_fdopen_works" >&6; } - case "$gl_cv_func_fdopen_works" in - *no) REPLACE_FDOPEN=1 ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 +$as_echo "$gl_cv_func_unsetenv_works" >&6; } + case "$gl_cv_func_unsetenv_works" in + *yes) ;; + *) + REPLACE_UNSETENV=1 + ;; esac fi - if test $REPLACE_FDOPEN = 1; then + if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then @@ -39222,33 +34400,31 @@ $as_echo "$gl_cv_func_fdopen_works" >&6; } - gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext" + ggl_LIBOBJS="$ggl_LIBOBJS unsetenv.$ac_objext" - fi + + + : + - if test "$GNULIB_FDOPEN" != 1; then - if test "$GNULIB_FDOPEN" = 0; then - GNULIB_FDOPEN=$gl_module_indicator_condition - else - GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)" - fi fi -$as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h + GNULIB_UNSETENV=1 +$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h @@ -39260,20 +34436,12 @@ $as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h - if test $ac_cv_func_ftruncate = yes; then + if test $ac_cv_func_vasnprintf = no; then - case "$host_os" in - mingw*) - REPLACE_FTRUNCATE=1 - ;; - esac + : - else - HAVE_FTRUNCATE=0 - fi - if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then @@ -39282,65 +34450,44 @@ $as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS ftruncate.$ac_objext" - for ac_func in chsize -do : - ac_fn_c_check_func "$LINENO" "chsize" "ac_cv_func_chsize" -if test "x$ac_cv_func_chsize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CHSIZE 1 -_ACEOF -fi -done + ggl_LIBOBJS="$ggl_LIBOBJS vasnprintf.$ac_objext" - fi - if test "$GNULIB_FTRUNCATE" != 1; then - if test "$GNULIB_FTRUNCATE" = 0; then - GNULIB_FTRUNCATE=$gl_module_indicator_condition - else - GNULIB_FTRUNCATE="($GNULIB_FTRUNCATE || $gl_module_indicator_condition)" - fi - fi + ggl_LIBOBJS="$ggl_LIBOBJS printf-args.$ac_objext" -$as_echo "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h + ggl_LIBOBJS="$ggl_LIBOBJS printf-parse.$ac_objext" - case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in - *yes,yes) ;; - *) - REPLACE_GETCWD=1 - ;; - esac - if test $REPLACE_GETCWD = 1; then + ggl_LIBOBJS="$ggl_LIBOBJS asnprintf.$ac_objext" + if test $ac_cv_func_vasnprintf = yes; then - gltests_LIBOBJS="$gltests_LIBOBJS getcwd-lgpl.$ac_objext" +$as_echo "#define REPLACE_VASNPRINTF 1" >>confdefs.h fi @@ -39348,36 +34495,29 @@ $as_echo "#define GNULIB_TEST_FTRUNCATE 1" >>confdefs.h - if test "$GNULIB_GETCWD" != 1; then - if test "$GNULIB_GETCWD" = 0; then - GNULIB_GETCWD=$gl_module_indicator_condition - else - GNULIB_GETCWD="($GNULIB_GETCWD || $gl_module_indicator_condition)" - fi - fi -$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h + ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +if test "x$ac_cv_type_ptrdiff_t" = xyes; then : +else +$as_echo "#define ptrdiff_t long" >>confdefs.h +fi - : - if test $ac_cv_func_getdtablesize != yes; then - HAVE_GETDTABLESIZE=0 - fi - if test $HAVE_GETDTABLESIZE = 0; then + fi @@ -39386,92 +34526,174 @@ $as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS getdtablesize.$ac_objext" - : - fi + : - if test "$GNULIB_GETDTABLESIZE" != 1; then - if test "$GNULIB_GETDTABLESIZE" = 0; then - GNULIB_GETDTABLESIZE=$gl_module_indicator_condition - else - GNULIB_GETDTABLESIZE="($GNULIB_GETDTABLESIZE || $gl_module_indicator_condition)" - fi - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_wchar_h='<'wchar.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_wchar_h+:} false; then : + $as_echo_n "(cached) " >&6 +else -$as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h + if test $ac_cv_header_wchar_h = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'wchar.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_wchar_h + gl_cv_next_wchar_h='"'$gl_header'"' + else + gl_cv_next_wchar_h='<'wchar.h'>' + fi - for ac_func in getpagesize -do : - ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETPAGESIZE 1 -_ACEOF fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5 +$as_echo "$gl_cv_next_wchar_h" >&6; } + fi + NEXT_WCHAR_H=$gl_cv_next_wchar_h - if test $ac_cv_func_getpagesize = no; then - HAVE_GETPAGESIZE=0 - for ac_header in OS.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "OS.h" "ac_cv_header_OS_h" "$ac_includes_default" -if test "x$ac_cv_header_OS_h" = xyes; then : + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'wchar.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_wchar_h + fi + NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + + + + if test $gt_cv_c_wint_t = yes; then + HAVE_WINT_T=1 + else + HAVE_WINT_T=0 + fi + + + + for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do + as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 +$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } +if eval \${$as_gl_Symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +#endif +#include + +int +main () +{ +#undef $gl_func + (void) $gl_func; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_gl_Symbol=yes" +else + eval "$as_gl_Symbol=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_gl_Symbol + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_OS_H 1 +#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 _ACEOF + eval ac_cv_have_decl_$gl_func=yes fi + done -done - if test $ac_cv_header_OS_h = yes; then - HAVE_OS_H=1 - fi - for ac_header in sys/param.h + : + + + + for ac_header in stdint.h do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_PARAM_H 1 +#define HAVE_STDINT_H 1 _ACEOF fi done - if test $ac_cv_header_sys_param_h = yes; then - HAVE_SYS_PARAM_H=1 - fi - fi - case "$host_os" in - mingw*) - REPLACE_GETPAGESIZE=1 - ;; - esac - ac_fn_c_check_decl "$LINENO" "getpagesize" "ac_cv_have_decl_getpagesize" "$ac_includes_default" -if test "x$ac_cv_have_decl_getpagesize" = xyes; then : -else - HAVE_DECL_GETPAGESIZE=0 -fi + # End of code from modules - if test $REPLACE_GETPAGESIZE = 1; then @@ -39479,500 +34701,535 @@ fi + gltests_libdeps= + gltests_ltlibdeps= - gltests_LIBOBJS="$gltests_LIBOBJS getpagesize.$ac_objext" - fi - if test "$GNULIB_GETPAGESIZE" != 1; then - if test "$GNULIB_GETPAGESIZE" = 0; then - GNULIB_GETPAGESIZE=$gl_module_indicator_condition - else - GNULIB_GETPAGESIZE="($GNULIB_GETPAGESIZE || $gl_module_indicator_condition)" - fi - fi + gl_source_base='tests' + ggltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + gl_module_indicator_condition=$ggltests_WITNESS -$as_echo "#define GNULIB_TEST_GETPAGESIZE 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes + +# Check whether --enable-gcc-warnings was given. +if test "${enable_gcc_warnings+set}" = set; then : + enableval=$enable_gcc_warnings; case $enableval in + yes|no) ;; + *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; + esac + gl_gcc_warnings=$enableval else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_gcc_warnings=no + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if test "$gl_gcc_warnings" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 +$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } +if ${gl_cv_warn_c__Werror__Wunknown_warning_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Werror__Wunknown_warning_option=yes else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_warn_c__Werror__Wunknown_warning_option=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 +$as_echo "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } +if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes; then : + gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' +else + gl_unknown_warnings_are_errors= +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wframe-larger-than=1024" >&5 +$as_echo_n "checking whether C compiler handles -Wframe-larger-than=1024... " >&6; } +if ${gl_cv_warn_c__Wframe_larger_than_1024+:} false; then : + $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wframe-larger-than=1024" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wframe_larger_than_1024=yes else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_warn_c__Wframe_larger_than_1024=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wframe_larger_than_1024" >&5 +$as_echo "$gl_cv_warn_c__Wframe_larger_than_1024" >&6; } +if test "x$gl_cv_warn_c__Wframe_larger_than_1024" = xyes; then : + as_fn_append WSTACK_CFLAGS " -Wframe-larger-than=1024" +fi -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : + nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings + nw="$nw -Wc++-compat" # We don't care about C++ compilers + nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib + nw="$nw -Wtraditional" # Warns on #elif which we use often + nw="$nw -Wlogical-op" # Too many false positives + nw="$nw -Wold-style-definition" # + nw="$nw -Wpadded" # Our structs are not padded + nw="$nw -Wunreachable-code" # Too many false positives + nw="$nw -Wtraditional-conversion" # Too many warnings for now + nw="$nw -Wcast-qual" # Too many warnings for now + nw="$nw -Waggregate-return" # Too many warnings for now + nw="$nw -Wshadow" # Too many warnings for now + nw="$nw -Wswitch-default" # Too many warnings for now + nw="$nw -Wswitch-enum" # Too many warnings for now + nw="$nw -Wconversion" # Too many warnings for now + nw="$nw -Wsign-conversion" # Too many warnings for now + nw="$nw -Wformat-y2k" # Too many warnings for now + nw="$nw -Woverlength-strings" # We use some in tests/ + nw="$nw -Wvla" # There is no point to avoid C99 variable length arrays + nw="$nw -Wformat-nonliteral" # Incompatible with gettext _() + nw="$nw -Wunsafe-loop-optimizations" + nw="$nw -Wstrict-overflow" + nw="$nw -Wmissing-noreturn" + nw="$nw -Winline" # Too compiler dependent + nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes? + nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes? + nw="$nw -Wsuggest-attribute=noreturn" # Is it worth using attributes? + nw="$nw -Wstack-protector" # Some functions cannot be protected + nw="$nw -Wredundant-decls" # Some files cannot be compiled with that (gl_fd_to_handle) + + + + if test -n "$GCC"; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } + if ${gl_cv_cc_nomfi_supported+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include int main () { -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_cc_nomfi_supported=yes +else + gl_cv_cc_nomfi_supported=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 +$as_echo "$gl_cv_cc_nomfi_supported" >&6; } + + if test "$gl_cv_cc_nomfi_supported" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } + if ${gl_cv_cc_nomfi_needed+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include +void f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + } int main () { -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes + gl_cv_cc_nomfi_needed=no else - ac_cv_c_bigendian=no + gl_cv_cc_nomfi_needed=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 +$as_echo "$gl_cv_cc_nomfi_needed" >&6; } fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 +$as_echo_n "checking whether -Wuninitialized is supported... " >&6; } + if ${gl_cv_cc_uninitialized_supported+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_cv_cc_uninitialized_supported=yes +else + gl_cv_cc_uninitialized_supported=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 +$as_echo "$gl_cv_cc_uninitialized_supported" >&6; } + + fi + + # List all gcc warning categories. + gl_manywarn_set= + for gl_manywarn_item in \ + -W \ + -Wabi \ + -Waddress \ + -Waggressive-loop-optimizations \ + -Wall \ + -Warray-bounds \ + -Wattributes \ + -Wbad-function-cast \ + -Wbuiltin-macro-redefined \ + -Wcast-align \ + -Wchar-subscripts \ + -Wclobbered \ + -Wcomment \ + -Wcomments \ + -Wcoverage-mismatch \ + -Wcpp \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdisabled-optimization \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wempty-body \ + -Wendif-labels \ + -Wenum-compare \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wfree-nonheap-object \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Winit-self \ + -Winline \ + -Wint-to-pointer-cast \ + -Winvalid-memory-model \ + -Winvalid-pch \ + -Wjump-misses-init \ + -Wlogical-op \ + -Wmain \ + -Wmaybe-uninitialized \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-include-dirs \ + -Wmissing-parameter-type \ + -Wmissing-prototypes \ + -Wmultichar \ + -Wnarrowing \ + -Wnested-externs \ + -Wnonnull \ + -Wnormalized=nfc \ + -Wold-style-declaration \ + -Wold-style-definition \ + -Woverflow \ + -Woverlength-strings \ + -Woverride-init \ + -Wpacked \ + -Wpacked-bitfield-compat \ + -Wparentheses \ + -Wpointer-arith \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wreturn-local-addr \ + -Wreturn-type \ + -Wsequence-point \ + -Wshadow \ + -Wsizeof-pointer-memaccess \ + -Wstack-protector \ + -Wstrict-aliasing \ + -Wstrict-overflow \ + -Wstrict-prototypes \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=format \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wswitch \ + -Wswitch-default \ + -Wsync-nand \ + -Wsystem-headers \ + -Wtrampolines \ + -Wtrigraphs \ + -Wtype-limits \ + -Wuninitialized \ + -Wunknown-pragmas \ + -Wunsafe-loop-optimizations \ + -Wunused \ + -Wunused-but-set-parameter \ + -Wunused-but-set-variable \ + -Wunused-function \ + -Wunused-label \ + -Wunused-local-typedefs \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-result \ + -Wunused-value \ + -Wunused-variable \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-operation-performance \ + -Wvla \ + -Wvolatile-register-var \ + -Wwrite-strings \ + -fdiagnostics-show-option \ + -funit-at-a-time \ + \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done + + # Disable specific options as needed. + if test "$gl_cv_cc_nomfi_needed" = yes; then + gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + fi + + if test "$gl_cv_cc_uninitialized_supported" = no; then + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + fi + + ws=$gl_manywarn_set + + + gl_warn_set= + set x $ws; shift + for gl_warn_item + do + case " $nw " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + ws=$gl_warn_set + + for w in $ws; do + +as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh` +gl_positive="$w" +case $gl_positive in + -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5 +$as_echo_n "checking whether C compiler handles $w... " >&6; } +if eval \${$as_gl_Warn+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_gl_Warn=yes" else - ac_cv_c_bigendian=no + eval "$as_gl_Warn=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +eval ac_res=\$$as_gl_Warn + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : + as_fn_append WARN_CFLAGS " $w" +fi + + + done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5 +$as_echo_n "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; } +if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wmissing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; int main () { -return use_ascii (foo) == use_ebcdic (foo); + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_missing_field_initializers=yes +else + gl_cv_warn_c__Wno_missing_field_initializers=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_missing_field_initializers" >&5 +$as_echo "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; } +if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers" +fi + + # We need this one + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-y2k" >&5 +$as_echo_n "checking whether C compiler handles -Wno-format-y2k... " >&6; } +if ${gl_cv_warn_c__Wno_format_y2k+:} false; then : + $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-y2k" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + int main () { - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_format_y2k=yes else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_warn_c__Wno_format_y2k=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_y2k" >&5 +$as_echo "$gl_cv_warn_c__Wno_format_y2k" >&6; } +if test "x$gl_cv_warn_c__Wno_format_y2k" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-format-y2k" +fi + # Too many warnings for now - PRIPTR_PREFIX= - if test -n "$STDINT_H"; then - PRIPTR_PREFIX='"l"' - else - for glpfx in '' l ll I64; do - case $glpfx in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - I64) gltype1='__int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-value" >&5 +$as_echo_n "checking whether C compiler handles -Wno-unused-value... " >&6; } +if ${gl_cv_warn_c__Wno_unused_value+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-value" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - extern intptr_t foo; - extern $gltype1 foo; + int main () { @@ -39981,42 +35238,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - PRIPTR_PREFIX='"'$glpfx'"' +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_unused_value=yes +else + gl_cv_warn_c__Wno_unused_value=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test -n "$PRIPTR_PREFIX" && break - done - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_value" >&5 +$as_echo "$gl_cv_warn_c__Wno_unused_value" >&6; } +if test "x$gl_cv_warn_c__Wno_unused_value" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-unused-value" +fi + # warnings for things we don't want to get - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5 -$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; } -if ${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-result" >&5 +$as_echo_n "checking whether C compiler handles -Wno-unused-result... " >&6; } +if ${gl_cv_warn_c__Wno_unused_result+:} false; then : $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-result" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - #if defined INT32_MAX && defined INTMAX_MAX - #define CONDITION (INT32_MAX < INTMAX_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (int) < sizeof (long long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; int main () { @@ -40025,50 +35275,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_unused_result=yes else - gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_warn_c__Wno_unused_result=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 -$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } - if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then - INT32_MAX_LT_INTMAX_MAX=1; - else - INT32_MAX_LT_INTMAX_MAX=0; - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_result" >&5 +$as_echo "$gl_cv_warn_c__Wno_unused_result" >&6; } +if test "x$gl_cv_warn_c__Wno_unused_result" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-unused-result" +fi - if test $APPLE_UNIVERSAL_BUILD = 0; then + # warnings for things we don't want to get - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5 -$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; } -if ${gl_cv_test_INT64_MAX_EQ_LONG_MAX+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 +$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; } +if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then : $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-parameter" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - #if defined INT64_MAX - #define CONDITION (INT64_MAX == LONG_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (long long int) == sizeof (long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; int main () { @@ -40077,52 +35312,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_unused_parameter=yes else - gl_cv_test_INT64_MAX_EQ_LONG_MAX=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_warn_c__Wno_unused_parameter=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 -$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } - if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then - INT64_MAX_EQ_LONG_MAX=1; - else - INT64_MAX_EQ_LONG_MAX=0; - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5 +$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; } +if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-unused-parameter" +fi - else - INT64_MAX_EQ_LONG_MAX=-1 - fi + # Too many warnings for now - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5 -$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; } -if ${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-stack-protector" >&5 +$as_echo_n "checking whether C compiler handles -Wno-stack-protector... " >&6; } +if ${gl_cv_warn_c__Wno_stack_protector+:} false; then : $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wstack-protector" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT32_MAX && defined UINTMAX_MAX - #define CONDITION (UINT32_MAX < UINTMAX_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; int main () { @@ -40131,50 +35349,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_stack_protector=yes else - gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_warn_c__Wno_stack_protector=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 -$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } - if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then - UINT32_MAX_LT_UINTMAX_MAX=1; - else - UINT32_MAX_LT_UINTMAX_MAX=0; - fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_stack_protector" >&5 +$as_echo "$gl_cv_warn_c__Wno_stack_protector" >&6; } +if test "x$gl_cv_warn_c__Wno_stack_protector" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-stack-protector" +fi - if test $APPLE_UNIVERSAL_BUILD = 0; then + # Some functions cannot be protected - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5 -$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; } -if ${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-int-to-pointer-cast" >&5 +$as_echo_n "checking whether C compiler handles -Wno-int-to-pointer-cast... " >&6; } +if ${gl_cv_warn_c__Wno_int_to_pointer_cast+:} false; then : $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wint-to-pointer-cast" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Work also in C++ mode. */ - #define __STDC_LIMIT_MACROS 1 - - /* Work if build is not clean. */ - #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H - - #include - #if HAVE_STDINT_H - #include - #endif - #if defined UINT64_MAX - #define CONDITION (UINT64_MAX == ULONG_MAX) - #elif HAVE_LONG_LONG_INT - #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) - #else - #define CONDITION 0 - #endif - int test[CONDITION ? 1 : -1]; int main () { @@ -40183,990 +35386,960 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__Wno_int_to_pointer_cast=yes else - gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_warn_c__Wno_int_to_pointer_cast=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 -$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } - if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then - UINT64_MAX_EQ_ULONG_MAX=1; - else - UINT64_MAX_EQ_ULONG_MAX=0; - fi - - - else - UINT64_MAX_EQ_ULONG_MAX=-1 - fi - - - - - - - HAVE_IOCTL=1 - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_IOCTL=0 - else - for ac_func in ioctl -do : - ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl" -if test "x$ac_cv_func_ioctl" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_IOCTL 1 -_ACEOF +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" fi -done +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_int_to_pointer_cast" >&5 +$as_echo "$gl_cv_warn_c__Wno_int_to_pointer_cast" >&6; } +if test "x$gl_cv_warn_c__Wno_int_to_pointer_cast" = xyes; then : + as_fn_append WARN_CFLAGS " -Wno-int-to-pointer-cast" +fi + + # Some files cannot be compiled with that (gl_fd_to_handle) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ioctl with POSIX signature" >&5 -$as_echo_n "checking for ioctl with POSIX signature... " >&6; } -if ${gl_cv_func_ioctl_posix_signature+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5 +$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; } +if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then : $as_echo_n "(cached) " >&6 else + + gl_save_compiler_FLAGS="$CFLAGS" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + int main () { -extern - #ifdef __cplusplus - "C" - #endif - int ioctl (int, int, ...); ; return 0; } - _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_ioctl_posix_signature=yes +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_warn_c__fdiagnostics_show_option=yes else - gl_cv_func_ioctl_posix_signature=no + gl_cv_warn_c__fdiagnostics_show_option=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$gl_save_compiler_FLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ioctl_posix_signature" >&5 -$as_echo "$gl_cv_func_ioctl_posix_signature" >&6; } - if test $gl_cv_func_ioctl_posix_signature != yes; then - REPLACE_IOCTL=1 - fi - fi - - if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS ioctl.$ac_objext" - - fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5 +$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; } +if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then : + as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" +fi +fi - if test "$GNULIB_IOCTL" != 1; then - if test "$GNULIB_IOCTL" = 0; then - GNULIB_IOCTL=$gl_module_indicator_condition - else - GNULIB_IOCTL="($GNULIB_IOCTL || $gl_module_indicator_condition)" - fi - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac -$as_echo "#define GNULIB_TEST_IOCTL 1" >>confdefs.h +macro_version='2.4.2' +macro_revision='1.3337' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'double'" >&5 -$as_echo_n "checking where to find the exponent in a 'double'... " >&6; } -if ${gl_cv_cc_double_expbit0+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined arm || defined __arm || defined __arm__ - mixed_endianness -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "mixed_endianness" >/dev/null 2>&1; then : - gl_cv_cc_double_expbit0="unknown" -else - : -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +ltmain="$ac_aux_dir/ltmain.sh" -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' fi - fi -fi -: - case $ac_cv_c_bigendian in #( - yes) - gl_cv_cc_double_expbit0="word 0 bit 20";; #( - no) - gl_cv_cc_double_expbit0="word 1 bit 20" ;; #( - universal) +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h +case "$ECHO" in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac - ;; #( - *) - gl_cv_cc_double_expbit0="unknown" ;; - esac -fi -rm -f conftest* -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { double value; unsigned int word[NWORDS]; } memory_double; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (double x) -{ - memory_double m; - size_t i; - /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ - memset (&m, 0, sizeof (memory_double)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25); - add_to_ored_words (0.5); - add_to_ored_words (1.0); - add_to_ored_words (2.0); - add_to_ored_words (4.0); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_double_expbit0=`cat conftest.out` + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 else - gl_cv_cc_double_expbit0="unknown" + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed - rm -f conftest.out +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_double_expbit0" >&5 -$as_echo "$gl_cv_cc_double_expbit0" >&6; } - case "$gl_cv_cc_double_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` -cat >>confdefs.h <<_ACEOF -#define DBL_EXPBIT0_WORD $word -_ACEOF -cat >>confdefs.h <<_ACEOF -#define DBL_EXPBIT0_BIT $bit -_ACEOF - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'float'" >&5 -$as_echo_n "checking where to find the exponent in a 'float'... " >&6; } -if ${gl_cv_cc_float_expbit0+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_cc_float_expbit0="word 0 bit 23" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { float value; unsigned int word[NWORDS]; } memory_float; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (float x) -{ - memory_float m; - size_t i; - /* Clear it first, in case - sizeof (float) < sizeof (memory_float). */ - memset (&m, 0, sizeof (memory_float)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25f); - add_to_ored_words (0.5f); - add_to_ored_words (1.0f); - add_to_ored_words (2.0f); - add_to_ored_words (4.0f); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_float_expbit0=`cat conftest.out` + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - gl_cv_cc_float_expbit0="unknown" + ac_cv_path_FGREP=$FGREP fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" - rm -f conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_float_expbit0" >&5 -$as_echo "$gl_cv_cc_float_expbit0" >&6; } - case "$gl_cv_cc_float_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` +test -z "$GREP" && GREP=grep -cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_WORD $word -_ACEOF -cat >>confdefs.h <<_ACEOF -#define FLT_EXPBIT0_BIT $bit -_ACEOF - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the exponent in a 'long double'" >&5 -$as_echo_n "checking where to find the exponent in a 'long double'... " >&6; } -if ${gl_cv_cc_long_double_expbit0+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_cc_long_double_expbit0="unknown" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#define NWORDS \ - ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -typedef union { long double value; unsigned int word[NWORDS]; } - memory_long_double; -static unsigned int ored_words[NWORDS]; -static unsigned int anded_words[NWORDS]; -static void add_to_ored_words (long double x) -{ - memory_long_double m; - size_t i; - /* Clear it first, in case - sizeof (long double) < sizeof (memory_long_double). */ - memset (&m, 0, sizeof (memory_long_double)); - m.value = x; - for (i = 0; i < NWORDS; i++) - { - ored_words[i] |= m.word[i]; - anded_words[i] &= m.word[i]; - } -} -int main () -{ - size_t j; - FILE *fp = fopen ("conftest.out", "w"); - if (fp == NULL) - return 1; - for (j = 0; j < NWORDS; j++) - anded_words[j] = ~ (unsigned int) 0; - add_to_ored_words (0.25L); - add_to_ored_words (0.5L); - add_to_ored_words (1.0L); - add_to_ored_words (2.0L); - add_to_ored_words (4.0L); - /* Remove bits that are common (e.g. if representation of the first mantissa - bit is explicit). */ - for (j = 0; j < NWORDS; j++) - ored_words[j] &= ~anded_words[j]; - /* Now find the nonzero word. */ - for (j = 0; j < NWORDS; j++) - if (ored_words[j] != 0) - break; - if (j < NWORDS) - { - size_t i; - for (i = j + 1; i < NWORDS; i++) - if (ored_words[i] != 0) - { - fprintf (fp, "unknown"); - return (fclose (fp) != 0); - } - for (i = 0; ; i++) - if ((ored_words[j] >> i) & 1) - { - fprintf (fp, "word %d bit %d", (int) j, (int) i); - return (fclose (fp) != 0); - } - } - fprintf (fp, "unknown"); - return (fclose (fp) != 0); -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_cc_long_double_expbit0=`cat conftest.out` + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - gl_cv_cc_long_double_expbit0="unknown" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + with_gnu_ld=no fi - rm -f conftest.out +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 -$as_echo "$gl_cv_cc_long_double_expbit0" >&6; } - case "$gl_cv_cc_long_double_expbit0" in - word*bit*) - word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` - bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` - -cat >>confdefs.h <<_ACEOF -#define LDBL_EXPBIT0_WORD $word -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld -cat >>confdefs.h <<_ACEOF -#define LDBL_EXPBIT0_BIT $bit -_ACEOF - ;; - esac - if test "$gl_threads_api" = posix; then - # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the - # pthread_rwlock_* functions. - ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include -" -if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then : -$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} fi - - # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -#if __FreeBSD__ == 4 -error "No, in FreeBSD 4.0 recursive mutexes actually don't work." -#else -int x = (int)PTHREAD_MUTEX_RECURSIVE; -return !x; -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h - fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_LOCK $gl_module_indicator_condition -_ACEOF - - - - - - : - - - - - - if test $ac_cv_func_lstat = yes; then + test -n "$ac_ct_DUMPBIN" && break +done - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *no) - REPLACE_LSTAT=1 - ;; - esac + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" else - HAVE_LSTAT=0 + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN fi +fi - if test $REPLACE_LSTAT = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS lstat.$ac_objext" - - : + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac fi - - - - - if test "$GNULIB_LSTAT" != 1; then - if test "$GNULIB_LSTAT" = 0; then - GNULIB_LSTAT=$gl_module_indicator_condition - else - GNULIB_LSTAT="($GNULIB_LSTAT || $gl_module_indicator_condition)" - fi + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" fi - - - - - -$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h - - - - +fi +test -z "$NM" && NM=nm - # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it - # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is - # irrelevant for anonymous mappings. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes; then : - gl_have_mmap=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 else - gl_have_mmap=no + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - gl_have_mmap_anonymous=yes -fi -rm -f conftest* + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; -#include -#ifdef MAP_ANON - I cannot identify this map -#endif + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; -$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; - gl_have_mmap_anonymous=yes -fi -rm -f conftest* + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -$as_echo "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then - -$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 fi - fi - - - : - - - - - - - : - - - + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +fi +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len - case "$host_os" in - mingw* | pw*) - REPLACE_OPEN=1 - ;; - *) - : +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5 -$as_echo_n "checking whether open recognizes a trailing slash... " >&6; } -if ${gl_cv_func_open_slash+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - touch conftest.tmp - ln -s conftest.tmp conftest.lnk - fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) - gl_cv_func_open_slash="guessing no" ;; - *) - gl_cv_func_open_slash="guessing yes" ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if HAVE_UNISTD_H -# include -#endif -int main () -{ - int result = 0; -#if HAVE_LSTAT - if (open ("conftest.lnk/", O_RDONLY) != -1) - result |= 1; -#endif - if (open ("conftest.sl/", O_CREAT, 0600) >= 0) - result |= 2; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_open_slash=yes +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset else - gl_cv_func_open_slash=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - rm -f conftest.sl conftest.tmp conftest.lnk - + lt_unset=false fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5 -$as_echo "$gl_cv_func_open_slash" >&6; } - case "$gl_cv_func_open_slash" in - *no) - -$as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h - - REPLACE_OPEN=1 - ;; - esac - ;; - esac - - - - if test $REPLACE_OPEN = 1; then - +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac - gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext" - : - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +fi - if test "$GNULIB_OPEN" != 1; then - if test "$GNULIB_OPEN" = 0; then - GNULIB_OPEN=$gl_module_indicator_condition - else - GNULIB_OPEN="($GNULIB_OPEN || $gl_module_indicator_condition)" - fi - fi +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } -$as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +fi +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac @@ -41176,71 +36349,99 @@ $as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h - if test "$ERRNO_H:$REPLACE_STRERROR_0" != :0; then - REPLACE_PERROR=1 - fi - case ${gl_cv_func_strerror_r_works-unset} in - unset|*yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether perror matches strerror" >&5 -$as_echo_n "checking whether perror matches strerror... " >&6; } -if ${gl_cv_func_perror_works+:} false; then : +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - gl_cv_func_perror_works="guessing no" + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - #include - #include + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -int -main () -{ -char *str = strerror (-1); - if (!getenv("CONFTEST_OUTPUT")) return 0; - if (!str) str = ""; - puts (str); - errno = -1; - perror (""); - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - if CONFTEST_OUTPUT=1 ./conftest$EXEEXT >conftest.txt1 2>conftest.txt2 \ - && cmp conftest.txt1 conftest.txt2 >/dev/null; then - gl_cv_func_perror_works=yes - else - gl_cv_func_perror_works=no - fi - rm -rf conftest.txt1 conftest.txt2 +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else - gl_cv_func_perror_works=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_perror_works" >&5 -$as_echo "$gl_cv_func_perror_works" >&6; } - if test "$gl_cv_func_perror_works" != yes; then - REPLACE_PERROR=1 - fi - ;; - *) - REPLACE_PERROR=1 - ;; - esac - if test $REPLACE_PERROR = 1; then +test -z "$OBJDUMP" && OBJDUMP=objdump @@ -41249,263 +36450,494 @@ $as_echo "$gl_cv_func_perror_works" >&6; } - gltests_LIBOBJS="$gltests_LIBOBJS perror.$ac_objext" - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; +beos*) + lt_cv_deplibs_check_method=pass_all + ;; +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; - if test "$GNULIB_PERROR" != 1; then - if test "$GNULIB_PERROR" = 0; then - GNULIB_PERROR=$gl_module_indicator_condition - else - GNULIB_PERROR="($GNULIB_PERROR || $gl_module_indicator_condition)" - fi +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; -$as_echo "#define GNULIB_TEST_PERROR 1" >>confdefs.h +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; - : +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; - if test $ac_cv_func_pipe != yes; then - HAVE_PIPE=0 - fi +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac - if test $HAVE_PIPE = 0; then +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown - gltests_LIBOBJS="$gltests_LIBOBJS pipe.$ac_objext" - fi - if test "$GNULIB_PIPE" != 1; then - if test "$GNULIB_PIPE" = 0; then - GNULIB_PIPE=$gl_module_indicator_condition - else - GNULIB_PIPE="($GNULIB_PIPE || $gl_module_indicator_condition)" - fi - fi -$as_echo "#define GNULIB_TEST_PIPE 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5 -$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; } -if ${gl_cv_func_svid_putenv+:} false; then : +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_svid_putenv="guessing no" ;; - esac - + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Put it in env. */ - if (putenv ("CONFTEST_putenv=val")) - return 1; - - /* Try to remove it. */ - if (putenv ("CONFTEST_putenv")) - return 2; - - /* Make sure it was deleted. */ - if (getenv ("CONFTEST_putenv") != 0) - return 3; - - return 0; +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_svid_putenv=yes -else - gl_cv_func_svid_putenv=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5 -$as_echo "$gl_cv_func_svid_putenv" >&6; } - case "$gl_cv_func_svid_putenv" in - *yes) ;; - *) - REPLACE_PUTENV=1 - ;; - esac - - if test $REPLACE_PUTENV = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext" - - - ac_fn_c_check_decl "$LINENO" "_putenv" "ac_cv_have_decl__putenv" "$ac_includes_default" -if test "x$ac_cv_have_decl__putenv" = xyes; then : - ac_have_decl=1 +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } else - ac_have_decl=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL__PUTENV $ac_have_decl -_ACEOF - +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - - - - if test "$GNULIB_PUTENV" != 1; then - if test "$GNULIB_PUTENV" = 0; then - GNULIB_PUTENV=$gl_module_indicator_condition - else - GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)" - fi + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi +test -z "$DLLTOOL" && DLLTOOL=dlltool -$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h - # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it - # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is - # irrelevant for anonymous mappings. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes; then : - gl_have_mmap=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 else - gl_have_mmap=no -fi - - - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_sharedlib_from_linklib_cmd='unknown' -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - gl_have_mmap_anonymous=yes fi -rm -f conftest* - - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO -#include -#ifdef MAP_ANON - I cannot identify this map -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : -$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - gl_have_mmap_anonymous=yes -fi -rm -f conftest* - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -$as_echo "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then -$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - fi +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS - - : - +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - : + test -n "$ac_ct_AR" && break +done + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi +: ${AR=ar} +: ${AR_FLAGS=cru} - : @@ -41513,257 +36945,296 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - if test $ac_cv_func_setenv = no; then - HAVE_SETENV=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5 -$as_echo_n "checking whether setenv validates arguments... " >&6; } -if ${gl_cv_func_setenv_works+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_setenv_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_setenv_works="guessing no" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include - #include - int main () { - int result = 0; - { - if (setenv ("", "", 0) != -1) - result |= 1; - else if (errno != EINVAL) - result |= 2; - } - { - if (setenv ("a", "=", 1) != 0) - result |= 4; - else if (strcmp (getenv ("a"), "=") != 0) - result |= 8; - } - return result; - ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_setenv_works=yes -else - gl_cv_func_setenv_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5 -$as_echo "$gl_cv_func_setenv_works" >&6; } - case "$gl_cv_func_setenv_works" in - *yes) ;; - *) - REPLACE_SETENV=1 - ;; - esac - fi - - if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi - gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext" +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - - - if test "$GNULIB_SETENV" != 1; then - if test "$GNULIB_SETENV" = 0; then - GNULIB_SETENV=$gl_module_indicator_condition - else - GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)" - fi +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi +test -z "$STRIP" && STRIP=: -$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h - - - - - - - - : - - - - - - - - - : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5 -$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; } -if ${gl_cv_func_stat_dir_slash+:} false; then : +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case $host_os in - mingw*) gl_cv_func_stat_dir_slash="guessing no";; - *) gl_cv_func_stat_dir_slash="guessing yes";; - esac + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS -int -main () -{ -struct stat st; return stat (".", &st) != stat ("./", &st); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_stat_dir_slash=yes -else - gl_cv_func_stat_dir_slash=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5 -$as_echo "$gl_cv_func_stat_dir_slash" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5 -$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; } -if ${gl_cv_func_stat_file_slash+:} false; then : +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else - touch conftest.tmp - # Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - ln -s conftest.tmp conftest.lnk - fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_stat_file_slash="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_stat_file_slash="guessing no" ;; - esac - + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -int result = 0; - struct stat st; - if (!stat ("conftest.tmp/", &st)) - result |= 1; -#if HAVE_LSTAT - if (!stat ("conftest.lnk/", &st)) - result |= 2; -#endif - return result; +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_stat_file_slash=yes -else - gl_cv_func_stat_file_slash=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - rm -f conftest.tmp conftest.lnk + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5 -$as_echo "$gl_cv_func_stat_file_slash" >&6; } - case $gl_cv_func_stat_dir_slash in - *no) REPLACE_STAT=1 - -$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h -;; - esac - case $gl_cv_func_stat_file_slash in - *no) REPLACE_STAT=1 -$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h -;; - esac - - if test $REPLACE_STAT = 1; then +test -z "$RANLIB" && RANLIB=: +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi - gltests_LIBOBJS="$gltests_LIBOBJS stat.$ac_objext" +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac - : - fi - if test "$GNULIB_STAT" != 1; then - if test "$GNULIB_STAT" = 0; then - GNULIB_STAT=$gl_module_indicator_condition - else - GNULIB_STAT="($GNULIB_STAT || $gl_module_indicator_condition)" - fi - fi -$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h @@ -41776,31 +37247,13 @@ $as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h - : - if test $ac_cv_have_decl_strerror_r = no; then - HAVE_DECL_STRERROR_R=0 - fi - if test $ac_cv_func_strerror_r = yes; then - if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then - if test $gl_cv_func_strerror_r_posix_signature = yes; then - case "$gl_cv_func_strerror_r_works" in - *no) REPLACE_STRERROR_R=1 ;; - esac - else - REPLACE_STRERROR_R=1 - fi - else - REPLACE_STRERROR_R=1 - fi - fi - if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then @@ -41809,125 +37262,277 @@ $as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h - gltests_LIBOBJS="$gltests_LIBOBJS strerror_r.$ac_objext" +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - : +# Allow CC to be a program name with arguments. +compiler=$CC +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - : +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do - : + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + # Check to see that the pipe works correctly. + pipe_works=no + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif - fi +#ifdef __cplusplus +extern "C" { +#endif +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + cat <<_LT_EOF >> conftest.$ac_ext +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif - if test "$GNULIB_STRERROR_R" != 1; then - if test "$GNULIB_STRERROR_R" = 0; then - GNULIB_STRERROR_R=$gl_module_indicator_condition +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi else - GNULIB_STRERROR_R="($GNULIB_STRERROR_R || $gl_module_indicator_condition)" + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi + rm -rf conftest* conftst* + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +fi - - -$as_echo "#define GNULIB_TEST_STRERROR_R 1" >>confdefs.h - - - - - - - # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it - # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is - # irrelevant for anonymous mappings. - ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" -if test "x$ac_cv_func_mmap" = xyes; then : - gl_have_mmap=yes +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } else - gl_have_mmap=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } fi - - # Try to allow MAP_ANONYMOUS. - gl_have_mmap_anonymous=no - if test $gl_have_mmap = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANONYMOUS" >&5 -$as_echo_n "checking for MAP_ANONYMOUS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANONYMOUS - I cannot identify this map -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - gl_have_mmap_anonymous=yes +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' fi -rm -f conftest* - - if test $gl_have_mmap_anonymous != yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef MAP_ANON - I cannot identify this map -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "I cannot identify this map" >/dev/null 2>&1; then : - -$as_echo "#define MAP_ANONYMOUS MAP_ANON" >>confdefs.h - - gl_have_mmap_anonymous=yes -fi -rm -f conftest* - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_mmap_anonymous" >&5 -$as_echo "$gl_have_mmap_anonymous" >&6; } - if test $gl_have_mmap_anonymous = yes; then -$as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - fi - fi - : - : @@ -41936,478 +37541,531 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h - : - if test $ac_cv_func_symlink = no; then - HAVE_SYMLINK=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 -$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } -if ${gl_cv_func_symlink_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_symlink_works="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int result = 0; - if (!symlink ("a", "conftest.link/")) - result |= 1; - if (symlink ("conftest.f", "conftest.lnk2")) - result |= 2; - else if (!symlink ("a", "conftest.lnk2/")) - result |= 4; - return result; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_symlink_works=yes +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; else - gl_cv_func_symlink_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - rm -f conftest.f conftest.link conftest.lnk2 + with_sysroot=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 -$as_echo "$gl_cv_func_symlink_works" >&6; } - case "$gl_cv_func_symlink_works" in - *yes) ;; - *) - REPLACE_SYMLINK=1 - ;; - esac - fi - if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 +$as_echo "${with_sysroot}" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi - gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext" +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac fi - - - - - - if test "$GNULIB_SYMLINK" != 1; then - if test "$GNULIB_SYMLINK" = 0; then - GNULIB_SYMLINK=$gl_module_indicator_condition + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac else - GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)" + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac fi fi + rm -rf conftest* + ;; +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; - - - -$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h - - - - - - - - : - - - - - - if test $ac_cv_header_sys_ioctl_h = yes; then - HAVE_SYS_IOCTL_H=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether declares ioctl" >&5 -$as_echo_n "checking whether declares ioctl... " >&6; } -if ${gl_cv_decl_ioctl_in_sys_ioctl_h+:} false; then : +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include int main () { -(void) ioctl; + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_decl_ioctl_in_sys_ioctl_h=yes +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes else - gl_cv_decl_ioctl_in_sys_ioctl_h=no + lt_cv_cc_needs_belf=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_ioctl_in_sys_ioctl_h" >&5 -$as_echo "$gl_cv_decl_ioctl_in_sys_ioctl_h" >&6; } - else - HAVE_SYS_IOCTL_H=0 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac +need_locks="$enable_libtool_lock" - - - - - - : - - - - - - - - - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_ioctl_h+:} false; then : +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else - - if test $ac_cv_header_sys_ioctl_h = yes; then - - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/ioctl.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_ioctl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_ioctl_h='<'sys/ioctl.h'>' - fi - + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_ioctl_h" >&5 -$as_echo "$gl_cv_next_sys_ioctl_h" >&6; } - fi - NEXT_SYS_IOCTL_H=$gl_cv_next_sys_ioctl_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/ioctl.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_ioctl_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H=$gl_next_as_first_directive - - - - +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - for gl_func in ioctl; do - as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5 -$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; } -if eval \${$as_gl_Symbol+:} false; then : +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -/* Some platforms declare ioctl in the wrong header. */ -#if !(defined __GLIBC__ && !defined __UCLIBC__) -# include -#endif - -int -main () -{ -#undef $gl_func - (void) $gl_func; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Symbol=yes" + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else - eval "$as_gl_Symbol=no" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$as_gl_Symbol - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1 -_ACEOF - - eval ac_cv_have_decl_$gl_func=yes +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - done - - - - : - - - - - - - - - : - - - - - - if test $ac_cv_have_decl_unsetenv = no; then - HAVE_DECL_UNSETENV=0 + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi - for ac_func in unsetenv -do : - ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" -if test "x$ac_cv_func_unsetenv" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_UNSETENV 1 -_ACEOF - +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi -done - if test $ac_cv_func_unsetenv = no; then - HAVE_UNSETENV=0 - else - HAVE_UNSETENV=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 -$as_echo_n "checking for unsetenv() return type... " >&6; } -if ${gt_cv_func_unsetenv_ret+:} false; then : +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi -#undef _BSD -#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 */ -#include -extern -#ifdef __cplusplus -"C" -#endif -int unsetenv (const char *name); -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_func_unsetenv_ret='int' -else - gt_cv_func_unsetenv_ret='void' -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 -$as_echo "$gt_cv_func_unsetenv_ret" >&6; } - if test $gt_cv_func_unsetenv_ret = 'void'; then -$as_echo "#define VOID_UNSETENV 1" >>confdefs.h - REPLACE_UNSETENV=1 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5 -$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; } -if ${gl_cv_func_unsetenv_works+:} false; then : + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_unsetenv_works="guessing no" ;; - esac - + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #include - extern char **environ; - -int -main () -{ - - char entry1[] = "a=1"; - char entry2[] = "b=2"; - char *env[] = { entry1, entry2, NULL }; - if (putenv ((char *) "a=1")) return 1; - if (putenv (entry2)) return 2; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 3; - if (!unsetenv ("") || errno != EINVAL) return 4; - entry2[0] = 'b'; - environ = env; - if (!getenv ("a")) return 5; - entry2[0] = 'a'; - unsetenv ("a"); - if (getenv ("a")) return 6; +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_unsetenv_works=yes -else - gl_cv_func_unsetenv_works=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 -$as_echo "$gl_cv_func_unsetenv_works" >&6; } - case "$gl_cv_func_unsetenv_works" in - *yes) ;; - *) - REPLACE_UNSETENV=1 - ;; - esac - fi - - if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then - - - - - - - - - gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext" - - - - - : - - - - +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - - - - if test "$GNULIB_UNSETENV" != 1; then - if test "$GNULIB_UNSETENV" = 0; then - GNULIB_UNSETENV=$gl_module_indicator_condition - else - GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)" - fi + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - - - -$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h - - - - - # Check whether --enable-valgrind-tests was given. -if test "${enable_valgrind_tests+set}" = set; then : - enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } else - opt_valgrind_tests=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - # Run self-tests under valgrind? - if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then - for ac_prog in valgrind -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_VALGRIND+:} false; then : +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$VALGRIND"; then - ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test. + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -42416,7 +38074,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_VALGRIND="$ac_prog" + ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -42426,502 +38084,378 @@ IFS=$as_save_IFS fi fi -VALGRIND=$ac_cv_prog_VALGRIND -if test -n "$VALGRIND"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5 -$as_echo "$VALGRIND" >&6; } +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - - test -n "$VALGRIND" && break -done - - fi - - OPTS="-q --error-exitcode=1 --leak-check=full --suppressions=suppressions.valgrind" - - if test -n "$VALGRIND" \ - && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then - opt_valgrind_tests=yes - VALGRIND="$VALGRIND $OPTS" + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" else - opt_valgrind_tests=no - VALGRIND= + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5 -$as_echo_n "checking whether self tests are run under valgrind... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5 -$as_echo "$opt_valgrind_tests" >&6; } - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - - - - - - - - - - - LIBTESTS_LIBDEPS="$gltests_libdeps" - - - - -# Check whether --enable-gcc-warnings was given. -if test "${enable_gcc_warnings+set}" = set; then : - enableval=$enable_gcc_warnings; case $enableval in - yes|no) ;; - *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;; - esac - gl_gcc_warnings=$enableval else - gl_gcc_warnings=no - + NMEDIT="$ac_cv_prog_NMEDIT" fi - -if test "$gl_gcc_warnings" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 -$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } -if ${gl_cv_warn_c__Werror__Wunknown_warning_option+:} false; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Werror__Wunknown_warning_option=yes + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else - gl_cv_warn_c__Werror__Wunknown_warning_option=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 -$as_echo "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } -if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes; then : - gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } else - gl_unknown_warnings_are_errors= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wframe-larger-than=5120" >&5 -$as_echo_n "checking whether C compiler handles -Wframe-larger-than=5120... " >&6; } -if ${gl_cv_warn_c__Wframe_larger_than_5120+:} false; then : +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wframe-larger-than=5120" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wframe_larger_than_5120=yes + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else - gl_cv_warn_c__Wframe_larger_than_5120=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wframe_larger_than_5120" >&5 -$as_echo "$gl_cv_warn_c__Wframe_larger_than_5120" >&6; } -if test "x$gl_cv_warn_c__Wframe_larger_than_5120" = xyes; then : - as_fn_append WSTACK_CFLAGS " -Wframe-larger-than=5120" fi - - - - nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings - nw="$nw -Wc++-compat" # We don't care about C++ compilers - nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib - nw="$nw -Wtraditional" # Warns on #elif which we use often - nw="$nw -Wlogical-op" # Too many false positives - nw="$nw -Wold-style-definition" # - nw="$nw -Wpadded" # Our structs are not padded - nw="$nw -Wunreachable-code" # Too many false positives - nw="$nw -Wtraditional-conversion" # Too many warnings for now - nw="$nw -Wcast-qual" # Too many warnings for now - nw="$nw -Waggregate-return" # Too many warnings for now - nw="$nw -Wshadow" # Too many warnings for now - nw="$nw -Wswitch-default" # Too many warnings for now - nw="$nw -Wswitch-enum" # Too many warnings for now - nw="$nw -Wconversion" # Too many warnings for now - nw="$nw -Wsign-conversion" # Too many warnings for now - nw="$nw -Wformat-y2k" # Too many warnings for now - nw="$nw -Woverlength-strings" # We use some in tests/ - nw="$nw -Wvla" # There is no point to avoid C99 variable length arrays - nw="$nw -Wformat-nonliteral" # Incompatible with gettext _() - nw="$nw -Wunsafe-loop-optimizations" - nw="$nw -Wstrict-overflow" - nw="$nw -Wmissing-noreturn" - - - - if test -n "$GCC"; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 -$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } - if ${gl_cv_cc_nomfi_supported+:} false; then : - $as_echo_n "(cached) " >&6 +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_cc_nomfi_supported=yes + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi else - gl_cv_cc_nomfi_supported=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" + LIPO="$ac_cv_prog_LIPO" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 -$as_echo "$gl_cv_cc_nomfi_supported" >&6; } - - if test "$gl_cv_cc_nomfi_supported" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 -$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } - if ${gl_cv_cc_nomfi_needed+:} false; then : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -W -Werror" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void f (void) - { - typedef struct { int a; int b; } s_t; - s_t s1 = { 0, }; - } - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_cc_nomfi_needed=no + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else - gl_cv_cc_nomfi_needed=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 -$as_echo "$gl_cv_cc_nomfi_needed" >&6; } - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 -$as_echo_n "checking whether -Wuninitialized is supported... " >&6; } - if ${gl_cv_cc_uninitialized_supported+:} false; then : +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror -Wuninitialized" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_cc_uninitialized_supported=yes + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else - gl_cv_cc_uninitialized_supported=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 -$as_echo "$gl_cv_cc_uninitialized_supported" >&6; } - +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - - # List all gcc warning categories. - gl_manywarn_set= - for gl_manywarn_item in \ - -W \ - -Wabi \ - -Waddress \ - -Waggressive-loop-optimizations \ - -Wall \ - -Warray-bounds \ - -Wattributes \ - -Wbad-function-cast \ - -Wbuiltin-macro-redefined \ - -Wcast-align \ - -Wchar-subscripts \ - -Wclobbered \ - -Wcomment \ - -Wcomments \ - -Wcoverage-mismatch \ - -Wcpp \ - -Wdeprecated \ - -Wdeprecated-declarations \ - -Wdisabled-optimization \ - -Wdiv-by-zero \ - -Wdouble-promotion \ - -Wempty-body \ - -Wendif-labels \ - -Wenum-compare \ - -Wextra \ - -Wformat-contains-nul \ - -Wformat-extra-args \ - -Wformat-nonliteral \ - -Wformat-security \ - -Wformat-y2k \ - -Wformat-zero-length \ - -Wfree-nonheap-object \ - -Wignored-qualifiers \ - -Wimplicit \ - -Wimplicit-function-declaration \ - -Wimplicit-int \ - -Winit-self \ - -Winline \ - -Wint-to-pointer-cast \ - -Winvalid-memory-model \ - -Winvalid-pch \ - -Wjump-misses-init \ - -Wlogical-op \ - -Wmain \ - -Wmaybe-uninitialized \ - -Wmissing-braces \ - -Wmissing-declarations \ - -Wmissing-field-initializers \ - -Wmissing-include-dirs \ - -Wmissing-parameter-type \ - -Wmissing-prototypes \ - -Wmudflap \ - -Wmultichar \ - -Wnarrowing \ - -Wnested-externs \ - -Wnonnull \ - -Wnormalized=nfc \ - -Wold-style-declaration \ - -Wold-style-definition \ - -Woverflow \ - -Woverlength-strings \ - -Woverride-init \ - -Wpacked \ - -Wpacked-bitfield-compat \ - -Wparentheses \ - -Wpointer-arith \ - -Wpointer-sign \ - -Wpointer-to-int-cast \ - -Wpragmas \ - -Wreturn-local-addr \ - -Wreturn-type \ - -Wsequence-point \ - -Wshadow \ - -Wsizeof-pointer-memaccess \ - -Wstack-protector \ - -Wstrict-aliasing \ - -Wstrict-overflow \ - -Wstrict-prototypes \ - -Wsuggest-attribute=const \ - -Wsuggest-attribute=format \ - -Wsuggest-attribute=noreturn \ - -Wsuggest-attribute=pure \ - -Wswitch \ - -Wswitch-default \ - -Wsync-nand \ - -Wsystem-headers \ - -Wtrampolines \ - -Wtrigraphs \ - -Wtype-limits \ - -Wuninitialized \ - -Wunknown-pragmas \ - -Wunsafe-loop-optimizations \ - -Wunused \ - -Wunused-but-set-parameter \ - -Wunused-but-set-variable \ - -Wunused-function \ - -Wunused-label \ - -Wunused-local-typedefs \ - -Wunused-macros \ - -Wunused-parameter \ - -Wunused-result \ - -Wunused-value \ - -Wunused-variable \ - -Wvarargs \ - -Wvariadic-macros \ - -Wvector-operation-performance \ - -Wvla \ - -Wvolatile-register-var \ - -Wwrite-strings \ - \ - ; do - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" +done done +IFS=$as_save_IFS - # Disable specific options as needed. - if test "$gl_cv_cc_nomfi_needed" = yes; then - gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi - if test "$gl_cv_cc_uninitialized_supported" = no; then - gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done + done +IFS=$as_save_IFS - ws=$gl_manywarn_set +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi - gl_warn_set= - set x $ws; shift - for gl_warn_item - do - case " $nw " in - *" $gl_warn_item "*) - ;; - *) - gl_warn_set="$gl_warn_set $gl_warn_item" - ;; - esac +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done - ws=$gl_warn_set +IFS=$as_save_IFS - for w in $ws; do +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5 -$as_echo_n "checking whether C compiler handles $w... " >&6; } -if eval \${$as_gl_Warn+:} false; then : - $as_echo_n "(cached) " >&6 + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi else + OTOOL64="$ac_cv_prog_OTOOL64" +fi - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $w" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_gl_Warn=yes" -else - eval "$as_gl_Warn=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -eval ac_res=\$$as_gl_Warn - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : - as_fn_append WARN_CFLAGS " $w" -fi - done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5 -$as_echo_n "checking whether C compiler handles -Wno-missing-field-initializers... " >&6; } -if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-missing-field-initializers" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_missing_field_initializers=yes -else - gl_cv_warn_c__Wno_missing_field_initializers=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_missing_field_initializers" >&5 -$as_echo "$gl_cv_warn_c__Wno_missing_field_initializers" >&6; } -if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers" -fi - # We need this one -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-format-y2k" >&5 -$as_echo_n "checking whether C compiler handles -Wno-format-y2k... " >&6; } -if ${gl_cv_warn_c__Wno_format_y2k+:} false; then : + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-format-y2k" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -42932,991 +38466,1017 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_format_y2k=yes +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes else - gl_cv_warn_c__Wno_format_y2k=no + lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_format_y2k" >&5 -$as_echo "$gl_cv_warn_c__Wno_format_y2k" >&6; } -if test "x$gl_cv_warn_c__Wno_format_y2k" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-format-y2k" -fi - - # Too many warnings for now +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-suggest-attribute=pure" >&5 -$as_echo_n "checking whether C compiler handles -Wno-suggest-attribute=pure... " >&6; } -if ${gl_cv_warn_c__Wno_suggest_attribute_pure+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-suggest-attribute=pure" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac - ; - return 0; -} +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_suggest_attribute_pure=yes -else - gl_cv_warn_c__Wno_suggest_attribute_pure=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_suggest_attribute_pure" >&5 -$as_echo "$gl_cv_warn_c__Wno_suggest_attribute_pure" >&6; } -if test "x$gl_cv_warn_c__Wno_suggest_attribute_pure" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-suggest-attribute=pure" -fi - # Too many warnings for now +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-suggest-attribute=const" >&5 -$as_echo_n "checking whether C compiler handles -Wno-suggest-attribute=const... " >&6; } -if ${gl_cv_warn_c__Wno_suggest_attribute_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-suggest-attribute=const" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () +func_stripname_cnf () { + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_suggest_attribute_const=yes + + + + +# Set options +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - gl_cv_warn_c__Wno_suggest_attribute_const=no + enable_static=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_suggest_attribute_const" >&5 -$as_echo "$gl_cv_warn_c__Wno_suggest_attribute_const" >&6; } -if test "x$gl_cv_warn_c__Wno_suggest_attribute_const" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-suggest-attribute=const" -fi - # Too many warnings for now -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-suggest-attribute=noreturn" >&5 -$as_echo_n "checking whether C compiler handles -Wno-suggest-attribute=noreturn... " >&6; } -if ${gl_cv_warn_c__Wno_suggest_attribute_noreturn+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-suggest-attribute=noreturn" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_suggest_attribute_noreturn=yes + + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - gl_cv_warn_c__Wno_suggest_attribute_noreturn=no + enable_shared=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_suggest_attribute_noreturn" >&5 -$as_echo "$gl_cv_warn_c__Wno_suggest_attribute_noreturn" >&6; } -if test "x$gl_cv_warn_c__Wno_suggest_attribute_noreturn" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-suggest-attribute=noreturn" -fi - # Too many warnings for now -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-value" >&5 -$as_echo_n "checking whether C compiler handles -Wno-unused-value... " >&6; } -if ${gl_cv_warn_c__Wno_unused_value+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-value" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_unused_value=yes + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - gl_cv_warn_c__Wno_unused_value=no + pic_mode=default fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_value" >&5 -$as_echo "$gl_cv_warn_c__Wno_unused_value" >&6; } -if test "x$gl_cv_warn_c__Wno_unused_value" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-value" + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes fi - # warnings for things we don't want to get -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-result" >&5 -$as_echo_n "checking whether C compiler handles -Wno-unused-result... " >&6; } -if ${gl_cv_warn_c__Wno_unused_result+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-result" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_unused_result=yes -else - gl_cv_warn_c__Wno_unused_result=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_result" >&5 -$as_echo "$gl_cv_warn_c__Wno_unused_result" >&6; } -if test "x$gl_cv_warn_c__Wno_unused_result" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-result" -fi - # warnings for things we don't want to get -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 -$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; } -if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-parameter" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_unused_parameter=yes -else - gl_cv_warn_c__Wno_unused_parameter=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5 -$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; } -if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-parameter" -fi +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' - # Too many warnings for now -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-parameter" >&5 -$as_echo_n "checking whether C compiler handles -Wno-unused-parameter... " >&6; } -if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-parameter" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_unused_parameter=yes -else - gl_cv_warn_c__Wno_unused_parameter=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_parameter" >&5 -$as_echo "$gl_cv_warn_c__Wno_unused_parameter" >&6; } -if test "x$gl_cv_warn_c__Wno_unused_parameter" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-unused-parameter" -fi - # Too many warnings for now -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-stack-protector" >&5 -$as_echo_n "checking whether C compiler handles -Wno-stack-protector... " >&6; } -if ${gl_cv_warn_c__Wno_stack_protector+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-stack-protector" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_stack_protector=yes -else - gl_cv_warn_c__Wno_stack_protector=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_stack_protector" >&5 -$as_echo "$gl_cv_warn_c__Wno_stack_protector" >&6; } -if test "x$gl_cv_warn_c__Wno_stack_protector" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-stack-protector" -fi - # Some functions cannot be protected -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-int-to-pointer-cast" >&5 -$as_echo_n "checking whether C compiler handles -Wno-int-to-pointer-cast... " >&6; } -if ${gl_cv_warn_c__Wno_int_to_pointer_cast+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-int-to-pointer-cast" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_int_to_pointer_cast=yes -else - gl_cv_warn_c__Wno_int_to_pointer_cast=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_int_to_pointer_cast" >&5 -$as_echo "$gl_cv_warn_c__Wno_int_to_pointer_cast" >&6; } -if test "x$gl_cv_warn_c__Wno_int_to_pointer_cast" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-int-to-pointer-cast" -fi - # Some files cannot be compiled with that (gl_fd_to_handle) -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-redundant-decls" >&5 -$as_echo_n "checking whether C compiler handles -Wno-redundant-decls... " >&6; } -if ${gl_cv_warn_c__Wno_redundant_decls+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-redundant-decls" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__Wno_redundant_decls=yes -else - gl_cv_warn_c__Wno_redundant_decls=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_redundant_decls" >&5 -$as_echo "$gl_cv_warn_c__Wno_redundant_decls" >&6; } -if test "x$gl_cv_warn_c__Wno_redundant_decls" = xyes; then : - as_fn_append WARN_CFLAGS " -Wno-redundant-decls" -fi - # Some files cannot be compiled with that (gl_fd_to_handle) -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5 -$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; } -if ${gl_cv_warn_c__fdiagnostics_show_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_warn_c__fdiagnostics_show_option=yes -else - gl_cv_warn_c__fdiagnostics_show_option=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5 -$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; } -if test "x$gl_cv_warn_c__fdiagnostics_show_option" = xyes; then : - as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" -fi +test -z "$LN_S" && LN_S="ln -s" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi -enable_win32_dll=yes -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rmdir .libs 2>/dev/null fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi + ;; +esac - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" + else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP + MAGIC_CMD=: fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" fi + fi ;; esac -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - +# Use C for the default configuration in the libtool script +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Source file extension for C test sources. +ac_ext=c -test -z "$OBJDUMP" && OBJDUMP=objdump +# Object file extension for compiled C test sources. +objext=o +objext=$objext +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -macro_version='2.4.2' -macro_revision='1.3337' +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +# Allow CC to be a program name with arguments. +compiler=$CC +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then +lt_prog_compiler_no_builtin_flag= +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi +fi -ltmain="$ac_aux_dir/ltmain.sh" -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; esac - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 else - ac_cv_path_FGREP=$FGREP + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - + $RM conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi +fi @@ -43927,108 +39487,47 @@ test -z "$GREP" && GREP=grep -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld @@ -44036,843 +39535,1386 @@ with_gnu_ld=$lt_cv_prog_gnu_ld - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - test -n "$ac_ct_DUMPBIN" && break -done - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn fi - rm -f conftest* +else + need_locks=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 + openbsd*) + with_gnu_ld=no ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + whole_archive_flag_spec= fi - ;; - esac + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac -fi + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='${wl}--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi +fi + aix_libpath=$lt_cv_aix_libpath_ +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -fi +int +main () +{ -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi +fi + aix_libpath=$lt_cv_aix_libpath_ +fi + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' ;; - esac - ;; -esac - -fi + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + darwin* | rhapsody*) + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + else + ld_shlibs=no + fi + ;; + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + lt_cv_prog_compiler__b=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test x"$lt_cv_prog_compiler__b" = xyes; then + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi + lt_cv_irix_exported_symbol=no fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test "$lt_cv_irix_exported_symbol" = yes; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; -test -z "$OBJDUMP" && OBJDUMP=objdump + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + *nto* | *qnx*) + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; -beos*) - lt_cv_deplibs_check_method=pass_all - ;; + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no ;; esac - else - lt_cv_deplibs_check_method=pass_all + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi fi - ;; -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; +with_gnu_ld=$with_gnu_ld -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac @@ -44895,99 +40937,12 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi -test -z "$DLLTOOL" && DLLTOOL=dlltool @@ -44995,37 +40950,8 @@ test -z "$DLLTOOL" && DLLTOOL=dlltool -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -45033,108 +40959,14 @@ test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - test -n "$ac_ct_AR" && break -done - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi -: ${AR=ar} -: ${AR_FLAGS=cru} @@ -45146,57 +40978,11 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi @@ -45204,227 +40990,32 @@ fi -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi -test -z "$STRIP" && STRIP=: -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi -test -z "$RANLIB" && RANLIB=: -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac @@ -45464,283 +41055,767 @@ esac -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' -# Define system-specific variables. + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' ;; -hpux*) + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH fi ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH ;; -sysv4) - symcode='[DFNSTU]' + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs ;; -esac -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; -esac -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; - # Check to see that the pipe works correctly. - pipe_works=no +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; -#ifdef __cplusplus -extern "C" { -#endif +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no - cat <<_LT_EOF >> conftest.$ac_ext + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = +int +main () { - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif -#ifdef __cplusplus + ; + return 0; } -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' fi + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; +rdos*) + dynamic_linker=no + ;; +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi @@ -45749,835 +41824,66 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac -need_locks="$enable_libtool_lock" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi @@ -46602,321 +41908,552 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); int main () { - +return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes + ac_cv_lib_dl_dlopen=yes else - lt_cv_ld_exported_symbols_list=no + ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} _ACEOF - +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -done - - - -func_stripname_cnf () +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () { - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf - - - - - -# Set options - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes else - enable_shared=yes + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi +fi +fi - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes fi +fi +fi + ;; + esac + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 else - pic_mode=default -fi - + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" -test -z "$pic_mode" && pic_mode=default +#if HAVE_DLFCN_H +#include +#endif +#include +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac -else - enable_fast_install=yes + else : + # compilation failed + lt_cv_dlopen_self=no + fi fi +rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi @@ -46934,268 +42471,285 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi -test -z "$LN_S" && LN_S="ln -s" + # Report which library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test "$can_build_shared" = "no" && enable_shared=no + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : +CC="$lt_save_CC" + + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null + # Broken: fails on valid input. +continue fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - +rm -f conftest.err conftest.i conftest.$ac_ext -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include _ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org + done + ac_cv_prog_CXXCPP=$CXXCPP -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + CXXCPP=$ac_cv_prog_CXXCPP else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ac_cv_prog_CXXCPP=$CXXCPP fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac + # Broken: fails on valid input. +continue fi +rm -f conftest.err conftest.i conftest.$ac_ext -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + # Passes both tests. +ac_preproc_ok=: +break fi +rm -f conftest.err conftest.i conftest.$ac_ext +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : - else - MAGIC_CMD=: - fi +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu +else + _lt_caught_CXX_error=yes +fi -# Source file extension for C test sources. -ac_ext=c +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -# Object file extension for compiled C test sources. +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. objext=o -objext=$objext +objext_CXX=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + # ltmain only uses $CC for tagged configurations so make sure $CC is set. @@ -47211,1257 +42765,1470 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* -ac_outfile=conftest.$ac_objext + ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -lt_prog_compiler_no_builtin_flag= + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } else - : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no ;; - esac - ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; + export_dynamic_flag_spec_CXX='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; +int +main () +{ - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac +fi - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; + aix_libpath=$lt_cv_aix_libpath__CXX +fi - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; +int +main () +{ - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; +fi - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; + aix_libpath=$lt_cv_aix_libpath__CXX +fi - rdos*) - lt_prog_compiler_static='-non_shared' - ;; + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi - *) - lt_prog_compiler_can_build_shared=no - ;; - esac + else + ld_shlibs_CXX=no fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac + ;; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; -fi + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + hardcode_libdir_separator_CXX=: + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + output_verbose_link_cmd='func_echo_all' + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; - ld_shlibs=yes + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; *) - lt_use_gnu_ld_interface=yes + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi + ;; - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; esac - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; _LT_EOF - fi - ;; - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + prev= + ;; - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; + *) ;; # Ignore the rest. - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 + esac + done -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi -fi - aix_libpath=$lt_cv_aix_libpath_ -fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi -fi - aix_libpath=$lt_cv_aix_libpath_ -fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' fi ;; @@ -48469,572 +44236,599 @@ fi case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' + lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" + lt_prog_compiler_pic_CXX='+Z' ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) ;; *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes + lt_prog_compiler_can_build_shared_CXX=no ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no + esac fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes fi fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no fi - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - *) - ld_shlibs=no - ;; - esac - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } -with_gnu_ld=$with_gnu_ld +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no +with_gnu_ld_CXX=$with_gnu_ld @@ -49044,13 +44838,13 @@ with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # -case "x$archive_cmds_need_lc" in +case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added - archive_cmds_need_lc=yes + archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in + case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; @@ -49060,7 +44854,7 @@ x|xyes) # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* @@ -49075,35 +44869,35 @@ else lib=conftest libobjs=conftest.$ac_objext deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then - lt_cv_archive_cmds_need_lc=no + lt_cv_archive_cmds_need_lc_CXX=no else - lt_cv_archive_cmds_need_lc=yes + lt_cv_archive_cmds_need_lc_CXX=yes fi - allow_undefined_flag=$lt_save_allow_undefined_flag + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi @@ -49132,202 +44926,48 @@ esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + library_names_spec= libname_spec='lib$name' soname_spec= @@ -49467,7 +45107,6 @@ cygwin* | mingw* | pw32* | cegcc*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix @@ -49558,7 +45197,6 @@ darwin* | rhapsody*) shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -49748,8 +45386,8 @@ else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -49761,7 +45399,7 @@ main () return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi @@ -50048,90 +45686,36 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && + if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. - hardcode_action=relink + hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate + hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. - hardcode_action=unsupported + hardcode_action_CXX=unsupported fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || @@ -50145,513 +45729,537 @@ fi - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi + fi # test -n "$compiler" - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + +# Check whether --enable-self-checks was given. +if test "${enable_self_checks+set}" = set; then : + enableval=$enable_self_checks; enable_self_checks=$enableval +else + enable_self_checks=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 + +# Check whether --enable-fips140-mode was given. +if test "${enable_fips140_mode+set}" = set; then : + enableval=$enable_fips140_mode; enable_fips=$enableval else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross + enable_fips=no +fi + + if test "$enable_fips" = "yes"; then + ENABLE_FIPS140_TRUE= + ENABLE_FIPS140_FALSE='#' else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" + ENABLE_FIPS140_TRUE='#' + ENABLE_FIPS140_FALSE= +fi -#if HAVE_DLFCN_H -#include -#endif +if test "$enable_fips" = "yes" ;then -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libdl-prefix was given. +if test "${with_libdl_prefix+set}" = set; then : + withval=$with_libdl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi fi -rm -fr conftest* + LIBDL= + LTLIBDL= + INCDL= + LIBDL_PREFIX= + HAVE_LIBDL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='dl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBDL="${LIBDL}${LIBDL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBDL="${LTLIBDL}${LTLIBDL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBDL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBDL="${LTLIBDL}${LTLIBDL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBDL="${LIBDL}${LIBDL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBDL="${LIBDL}${LIBDL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBDL="${LIBDL}${LIBDL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBDL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBDL="${LIBDL}${LIBDL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBDL="${LIBDL}${LIBDL:+ }$found_so" + else + LIBDL="${LIBDL}${LIBDL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBDL="${LIBDL}${LIBDL:+ }$found_a" + else + LIBDL="${LIBDL}${LIBDL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'dl'; then + LIBDL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'dl'; then + LIBDL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCDL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCDL="${INCDL}${INCDL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBDL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBDL="${LIBDL}${LIBDL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBDL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBDL="${LTLIBDL}${LTLIBDL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBDL="${LIBDL}${LIBDL:+ }$dep" + LTLIBDL="${LTLIBDL}${LTLIBDL:+ }$dep" + ;; + esac + done + fi + else + LIBDL="${LIBDL}${LIBDL:+ }-l$name" + LTLIBDL="${LTLIBDL}${LTLIBDL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBDL="${LIBDL}${LIBDL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBDL="${LIBDL}${LIBDL:+ }$flag" + done fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBDL="${LTLIBDL}${LTLIBDL:+ }-R$found_dir" + done + fi @@ -50659,44 +46267,81 @@ fi + ac_save_CPPFLAGS="$CPPFLAGS" + for element in $INCDL; do + haveit= + for x in $CPPFLAGS; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libdl" >&5 +$as_echo_n "checking for libdl... " >&6; } +if ${ac_cv_libdl+:} false; then : + $as_echo_n "(cached) " >&6 +else -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + ac_save_LIBS="$LIBS" + case " $LIBDL" in + *" -l"*) LIBS="$LIBS $LIBDL" ;; + *) LIBS="$LIBDL $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +dladdr (0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libdl=yes else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + ac_cv_libdl='no' fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libdl" >&5 +$as_echo "$ac_cv_libdl" >&6; } + if test "$ac_cv_libdl" = yes; then + HAVE_LIBDL=yes +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libdl" >&5 +$as_echo_n "checking how to link with libdl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBDL" >&5 +$as_echo "$LIBDL" >&6; } + else + HAVE_LIBDL=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBDL= + LTLIBDL= + LIBDL_PREFIX= + fi @@ -50704,3170 +46349,2539 @@ fi + if test "x$HAVE_LIBDL" = "xyes";then + enable_self_checks=yes - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +$as_echo "#define ENABLE_FIPS140 1" >>confdefs.h -CC="$lt_save_CC" - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : + FIPS140_LIBS=$LIBDL -else - # Broken: fails on valid input. -continue + else + enable_fips=no + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** This system is not supported in FIPS140 mode. +*** libdl and dladdr() are required. +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** This system is not supported in FIPS140 mode. +*** libdl and dladdr() are required. +*** " >&2;} + fi fi -rm -f conftest.err conftest.i conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue +# Check whether --enable-non-suiteb-curves was given. +if test "${enable_non_suiteb_curves+set}" = set; then : + enableval=$enable_non_suiteb_curves; enable_non_suiteb=$enableval else - # Passes both tests. -ac_preproc_ok=: -break + enable_non_suiteb=yes fi -rm -f conftest.err conftest.i conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi +if test "$enable_non_suiteb" = "yes" ;then - done - ac_cv_prog_CXXCPP=$CXXCPP +$as_echo "#define ENABLE_NON_SUITEB_CURVES 1" >>confdefs.h fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : + if test "$enable_self_checks" = "yes"; then + ENABLE_SELF_CHECKS_TRUE= + ENABLE_SELF_CHECKS_FALSE='#' else - # Broken: fails on valid input. -continue + ENABLE_SELF_CHECKS_TRUE='#' + ENABLE_SELF_CHECKS_FALSE= fi -rm -f conftest.err conftest.i conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext +if test "$enable_self_checks" = "yes" ;then -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +$as_echo "#define ENABLE_SELF_CHECKS 1" >>confdefs.h -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build libdane" >&5 +$as_echo_n "checking whether to build libdane... " >&6; } +# Check whether --enable-libdane was given. +if test "${enable_libdane+set}" = set; then : + enableval=$enable_libdane; enable_dane=$enableval else - _lt_caught_CXX_error=yes + enable_dane=yes fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dane" >&5 +$as_echo "$enable_dane" >&6; } - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +if test "$enable_dane" != "no"; then + LIBS="$oldlibs -lunbound" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unbound library" >&5 +$as_echo_n "checking for unbound library... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + #include +int +main () +{ - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi + struct ub_ctx* ctx; + ctx = ub_ctx_create(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + UNBOUND_LIBS=-lunbound - if test "$GXX" = yes; then - # Set up default GNU C++ configuration +$as_echo "#define HAVE_DANE 1" >>confdefs.h -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes + enable_dane=yes else - with_gnu_ld=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** libunbound was not found. Libdane will not be built. +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** libunbound was not found. Libdane will not be built. +*** " >&2;} + enable_dane=no fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$oldlibs" fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } + + +# Check whether --with-unbound-root-key-file was given. +if test "${with_unbound_root_key_file+set}" = set; then : + withval=$with_unbound_root_key_file; unbound_root_key_file="$withval" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 + if test "$have_win" = yes; then + unbound_root_key_file="C:\\Program Files\\Unbound\\root.key" else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld +fi +cat >>confdefs.h <<_ACEOF +#define UNBOUND_ROOT_KEY_FILE "$unbound_root_key_file" +_ACEOF - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +# Check whether --with-system-priority-file was given. +if test "${with_system_priority_file+set}" = set; then : + withval=$with_system_priority_file; system_priority_file="$withval" +else + system_priority_file="/etc/gnutls/default-priorities" - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' +fi - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi +cat >>confdefs.h <<_ACEOF +#define SYSTEM_PRIORITY_FILE "$system_priority_file" +_ACEOF - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' +P11_KIT_MINIMUM=0.20.0 + +# Check whether --with-p11-kit was given. +if test "${with_p11_kit+set}" = set; then : + withval=$with_p11_kit; +fi + +if test "$with_p11_kit" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for P11_KIT" >&5 +$as_echo_n "checking for P11_KIT... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$P11_KIT_CFLAGS"; then + pkg_cv_P11_KIT_CFLAGS="$P11_KIT_CFLAGS" else - GXX=no - with_gnu_ld=no - wlarc= + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"p11-kit-1 >= \$P11_KIT_MINIMUM\""; } >&5 + ($PKG_CONFIG --exists --print-errors "p11-kit-1 >= $P11_KIT_MINIMUM") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_P11_KIT_CFLAGS=`$PKG_CONFIG --cflags "p11-kit-1 >= $P11_KIT_MINIMUM" 2>/dev/null` +else + pkg_failed=yes +fi fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$P11_KIT_LIBS"; then + pkg_cv_P11_KIT_LIBS="$P11_KIT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"p11-kit-1 >= \$P11_KIT_MINIMUM\""; } >&5 + ($PKG_CONFIG --exists --print-errors "p11-kit-1 >= $P11_KIT_MINIMUM") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_P11_KIT_LIBS=`$PKG_CONFIG --libs "p11-kit-1 >= $P11_KIT_MINIMUM" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + P11_KIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "p11-kit-1 >= $P11_KIT_MINIMUM"` + else + P11_KIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "p11-kit-1 >= $P11_KIT_MINIMUM"` fi + # Put the nasty error message in config.log where it belongs + echo "$P11_KIT_PKG_ERRORS" >&5 - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + with_p11_kit=no +elif test $pkg_failed = untried; then + with_p11_kit=no +else + P11_KIT_CFLAGS=$pkg_cv_P11_KIT_CFLAGS + P11_KIT_LIBS=$pkg_cv_P11_KIT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + with_p11_kit=yes +fi + if test "$with_p11_kit" != "no";then - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='${wl}-f,' +$as_echo "#define ENABLE_PKCS11 1" >>confdefs.h - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi + if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then + GNUTLS_REQUIRES_PRIVATE="Requires.private: p11-kit-1" + else + GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, p11-kit-1" + fi + else + with_p11_kit=no + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** p11-kit >= $P11_KIT_MINIMUM was not found. PKCS #11 support will be disabled. +*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** p11-kit >= $P11_KIT_MINIMUM was not found. PKCS #11 support will be disabled. +*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html +*** " >&2;} + fi +fi - export_dynamic_flag_spec_CXX='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath + if test "$with_p11_kit" != "no"; then + ENABLE_PKCS11_TRUE= + ENABLE_PKCS11_FALSE='#' else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 + ENABLE_PKCS11_TRUE='#' + ENABLE_PKCS11_FALSE= +fi + + + +# Check whether --with-tpm was given. +if test "${with_tpm+set}" = set; then : + withval=$with_tpm; with_tpm=$withval else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + with_tpm=yes +fi + +if test "$with_tpm" != "no"; then + LIBS="$oldlibs -ltspi" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tss library" >&5 +$as_echo_n "checking for tss library... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include + #include int main () { + int err = Tspi_Context_Create((void *)0); + Trspi_Error_String(err); ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + TSS_LIBS=-ltspi - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi + + +$as_echo "#define HAVE_TROUSERS 1" >>confdefs.h + + with_tpm=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** trousers was not found. TPM support will be disabled. +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** trousers was not found. TPM support will be disabled. +*** " >&2;} + with_tpm=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - + LIBS="$oldlibs" fi - aix_libpath=$lt_cv_aix_libpath__CXX + if test "$with_tpm" != "no"; then + ENABLE_TROUSERS_TRUE= + ENABLE_TROUSERS_FALSE='#' +else + ENABLE_TROUSERS_TRUE='#' + ENABLE_TROUSERS_FALSE= fi - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : + + + ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +#include <$ac_hdr> int main () { - +if ((DIR *) 0) +return 0; ; return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX="/usr/lib:/lib" - fi - + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break fi +done +if ${ac_cv_search_opendir+:} false; then : - aix_libpath=$lt_cv_aix_libpath__CXX +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; +fi - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) +fi +fi - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi + # ================= + # AC_CHECK_HEADERS + # ================= + for ac_header in \ + sys/mman.h sys/param.h sys/poll.h sys/procset.h \ + sys/select.h sys/socket.h sys/stropts.h sys/time.h \ + sys/un.h sys/wait.h dlfcn.h errno.h \ + fcntl.h libgen.h libintl.h memory.h \ + netinet/in.h setjmp.h stdbool.h sysexits.h \ + unistd.h utime.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF - else - ld_shlibs_CXX=no - fi +fi - ;; +done - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; + for ac_header in stdarg.h varargs.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + lo_have_arg_hdr=true;break +else + lo_have_arg_hdr=false +fi - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; +done - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; + for ac_header in string.h strings.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + lo_have_str_hdr=true;break +else + lo_have_str_hdr=false +fi - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. +done - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: + for ac_header in limits.h sys/limits.h values.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + lo_have_lim_hdr=true;break +else + lo_have_lim_hdr=false +fi - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac +done - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + for ac_header in inttypes.h stdint.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + lo_have_typ_hdr=true;break +else + lo_have_typ_hdr=false +fi - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; +done - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + # ---------------------------------------------------------------------- + # check for various programs used during the build. + # On OS/X, "wchar.h" needs "runetype.h" to work properly. + # ---------------------------------------------------------------------- + for ac_header in runetype.h wchar.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " + $ac_includes_default + #if HAVE_RUNETYPE_H + # include + #endif - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac +fi - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' +done - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object_CXX=yes + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; +fi - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' + if test "x$enable_nls" != "xno" && \ + test "X${ac_cv_header_libintl_h}" = Xyes; then : - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; +$as_echo "#define ENABLE_NLS 1" >>confdefs.h - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; +fi - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; + # -------------------------------------------- + # Verify certain entries from AC_CHECK_HEADERS + # -------------------------------------------- + ${lo_have_arg_hdr} || \ + as_fn_error $? "you must have stdarg.h or varargs.h on your system" "$LINENO" 5 - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; + ${lo_have_str_hdr} || \ + as_fn_error $? "you must have string.h or strings.h on your system" "$LINENO" 5 - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; + ${lo_have_lim_hdr} || \ + as_fn_error $? "you must have one of limits.h, sys/limits.h or values.h" "$LINENO" 5 + + ${lo_have_typ_hdr} || \ + as_fn_error $? "you must have inttypes.h or stdint.h on your system" "$LINENO" 5 + + for f in sys_types sys_param sys_stat string errno stdlib memory setjmp + do eval as_ac_var=\${ac_cv_header_${f}_h} + test "X${as_ac_var}" = Xyes || { + as_fn_error $? "you must have ${f}.h on your system" "$LINENO" 5 + } + done + test "X${ac_cv_header_inttypes_h-no}" = Xyes || \ + echo '#include ' > inttypes.h - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; + # ---------------------------------------------------------------------- + # Checks for typedefs + # ---------------------------------------------------------------------- + ac_fn_c_check_type "$LINENO" "wchar_t" "ac_cv_type_wchar_t" "$ac_includes_default" +if test "x$ac_cv_type_wchar_t" = xyes; then : - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_WCHAR_T 1 +_ACEOF - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' +fi - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: + ac_fn_c_check_type "$LINENO" "wint_t" "ac_cv_type_wint_t" " + $ac_includes_default + #if HAVE_RUNETYPE_H + # include + #endif + #if HAVE_WCHAR_H + # include + #endif - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac +" +if test "x$ac_cv_type_wint_t" = xyes; then : - hardcode_libdir_separator_CXX=: +cat >>confdefs.h <<_ACEOF +#define HAVE_WINT_T 1 +_ACEOF - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: +fi - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default" +if test "x$ac_cv_type_int8_t" = xyes; then : - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_INT8_T 1 +_ACEOF - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; +fi +ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default" +if test "x$ac_cv_type_uint8_t" = xyes; then : - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +cat >>confdefs.h <<_ACEOF +#define HAVE_UINT8_T 1 +_ACEOF - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - output_verbose_link_cmd='func_echo_all' +fi +ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default" +if test "x$ac_cv_type_int16_t" = xyes; then : - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +cat >>confdefs.h <<_ACEOF +#define HAVE_INT16_T 1 +_ACEOF - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +fi +ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" +if test "x$ac_cv_type_uint16_t" = xyes; then : - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_UINT16_T 1 +_ACEOF - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' +fi +ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" +if test "x$ac_cv_type_int32_t" = xyes; then : - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_INT32_T 1 +_ACEOF - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; +fi +ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" +if test "x$ac_cv_type_uint32_t" = xyes; then : - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_UINT32_T 1 +_ACEOF - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac +fi +ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" +if test "x$ac_cv_type_intptr_t" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test "$ld_shlibs_CXX" = no && can_build_shared=no +cat >>confdefs.h <<_ACEOF +#define HAVE_INTPTR_T 1 +_ACEOF - GCC_CXX="$GXX" - LD_CXX="$LD" - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= +fi +ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default" +if test "x$ac_cv_type_uintptr_t" = xyes; then : -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF +cat >>confdefs.h <<_ACEOF +#define HAVE_UINTPTR_T 1 +_ACEOF -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac +fi +ac_fn_c_check_type "$LINENO" "uint_t" "ac_cv_type_uint_t" "$ac_includes_default" +if test "x$ac_cv_type_uint_t" = xyes; then : -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. +cat >>confdefs.h <<_ACEOF +#define HAVE_UINT_T 1 +_ACEOF - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in +fi +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_PID_T 1 +_ACEOF - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - prev= - ;; - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi +fi +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE_SIZE_T 1 +_ACEOF - *) ;; # Ignore the rest. - esac - done +fi - # Clean up. - rm -f a.out a.exe + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char*" >&5 +$as_echo_n "checking size of char*... " >&6; } +if ${ac_cv_sizeof_charp+:} false; then : + $as_echo_n "(cached) " >&6 else - echo "libtool.m4: error: problem compiling CXX test program" -fi + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char*))" "ac_cv_sizeof_charp" "$ac_includes_default"; then : -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS +else + if test "$ac_cv_type_charp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (char*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_charp=0 + fi +fi -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_charp" >&5 +$as_echo "$ac_cv_sizeof_charp" >&6; } -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_CHARP $ac_cv_sizeof_charp +_ACEOF -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : +else + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : +else + if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + # ------------ + # AC_CHECK_LIB + # ------------ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pathfind in -lgen" >&5 +$as_echo_n "checking for pathfind in -lgen... " >&6; } +if ${ac_cv_lib_gen_pathfind+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgen $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pathfind (); +int +main () +{ +return pathfind (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gen_pathfind=yes +else + ac_cv_lib_gen_pathfind=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_pathfind" >&5 +$as_echo "$ac_cv_lib_gen_pathfind" >&6; } +if test "x$ac_cv_lib_gen_pathfind" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGEN 1 +_ACEOF + LIBS="-lgen $LIBS" +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettext in -lintl" >&5 +$as_echo_n "checking for gettext in -lintl... " >&6; } +if ${ac_cv_lib_intl_gettext+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gettext (); +int +main () +{ +return gettext (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_gettext=yes +else + ac_cv_lib_intl_gettext=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_gettext" >&5 +$as_echo "$ac_cv_lib_intl_gettext" >&6; } +if test "x$ac_cv_lib_intl_gettext" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBINTL 1 +_ACEOF + LIBS="-lintl $LIBS" +fi + for ac_func in vprintf +do : + ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" +if test "x$ac_cv_func_vprintf" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VPRINTF 1 +_ACEOF +ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" +if test "x$ac_cv_func__doprnt" = xyes; then : +$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= +fi +fi +done - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; + for ac_header in vfork.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VFORK_H 1 +_ACEOF - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; +fi - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi +done + +for ac_func in fork vfork +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac +fi +done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : +if test "x$ac_cv_func_fork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 +$as_echo_n "checking for working fork... " >&6; } +if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX + if test "$cross_compiling" = yes; then : + ac_cv_func_fork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* By Ruediger Kuhlmann. */ + return fork () < 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_fork_works=yes +else + ac_cv_func_fork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 +$as_echo "$ac_cv_func_fork_works" >&6; } + +else + ac_cv_func_fork_works=$ac_cv_func_fork +fi +if test "x$ac_cv_func_fork_works" = xcross; then + case $host in + *-*-amigaos* | *-*-msdosdjgpp*) + # Override, as these systems have only a dummy fork() stub + ac_cv_func_fork_works=no + ;; + *) + ac_cv_func_fork_works=yes + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} +fi +ac_cv_func_vfork_works=$ac_cv_func_vfork +if test "x$ac_cv_func_vfork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 +$as_echo_n "checking for working vfork... " >&6; } +if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* + if test "$cross_compiling" = yes; then : + ac_cv_func_vfork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Thanks to Paul Eggert for this test. */ +$ac_includes_default +#include +#ifdef HAVE_VFORK_H +# include +#endif +/* On some sparc systems, changes by the child to local and incoming + argument registers are propagated back to the parent. The compiler + is told about this with #include , but some compilers + (e.g. gcc -O) don't grok . Test for this by using a + static variable whose address is put into a register that is + clobbered by the vfork. */ +static void +#ifdef __cplusplus +sparc_address_test (int arg) +# else +sparc_address_test (arg) int arg; +#endif +{ + static pid_t child; + if (!child) { + child = vfork (); + if (child < 0) { + perror ("vfork"); + _exit(2); + } + if (!child) { + arg = getpid(); + write(-1, "", 0); + _exit (arg); + } + } +} -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } +int +main () +{ + pid_t parent = getpid (); + pid_t child; -if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac + sparc_address_test (0); + + child = vfork (); + + if (child == 0) { + /* Here is another test for sparc vfork register problems. This + test uses lots of local variables, at least as many local + variables as main has allocated so far including compiler + temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris + 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should + reuse the register of parent for one of the local variables, + since it will think that parent can't possibly be used any more + in this routine. Assigning to the local variable will thus + munge parent in the parent process. */ + pid_t + p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), + p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); + /* Convince the compiler that p..p7 are live; otherwise, it might + use the same hardware register for all 8 local variables. */ + if (p != p1 || p != p2 || p != p3 || p != p4 + || p != p5 || p != p6 || p != p7) + _exit(1); + + /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent + from child file descriptors. If the child closes a descriptor + before it execs or exits, this munges the parent's descriptor + as well. Test for this by closing stdout in the child. */ + _exit(close(fileno(stdout)) != 0); + } else { + int status; + struct stat st; + + while (wait(&status) != child) + ; + return ( + /* Was there some problem with vforking? */ + child < 0 + + /* Did the child fail? (This shouldn't happen.) */ + || status + + /* Did the vfork/compiler bug occur? */ + || parent != getpid() + + /* Did the file descriptor bug occur? */ + || fstat(fileno(stdout), &st) != 0 + ); + } +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_vfork_works=yes else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no + ac_cv_func_vfork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 +$as_echo "$ac_cv_func_vfork_works" >&6; } +fi; +if test "x$ac_cv_func_fork_works" = xcross; then + ac_cv_func_vfork_works=$ac_cv_func_vfork + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi +if test "x$ac_cv_func_vfork_works" = xyes; then +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h +else +$as_echo "#define vfork fork" >>confdefs.h -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : +fi +if test "x$ac_cv_func_fork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h + +fi + + for ac_func in mmap canonicalize_file_name snprintf strdup strchr \ + strrchr strsignal fchmod fstat chmod +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed -if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then - : + while : + do + POSIX_SHELL=`which bash` + test -x "$POSIX_SHELL" && break + POSIX_SHELL=`which dash` + test -x "$POSIX_SHELL" && break + POSIX_SHELL=/usr/xpg4/bin/sh + test -x "$POSIX_SHELL" && break + POSIX_SHELL=`/bin/sh -c ' + exec 2>/dev/null + if ! true ; then exit 1 ; fi + echo /bin/sh'` + test -x "$POSIX_SHELL" && break + as_fn_error $? "cannot locate a working POSIX shell" "$LINENO" 5 + done + +cat >>confdefs.h <<_ACEOF +#define POSIX_SHELL "${POSIX_SHELL}" +_ACEOF + + + + + + LIBOPTS_BUILD_BLOCKED='' + + + NEED_LIBOPTS_DIR='' + + # Check whether --enable-local-libopts was given. +if test "${enable_local_libopts+set}" = set; then : + enableval=$enable_local_libopts; + if test x$enableval = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using supplied libopts tearoff" >&5 +$as_echo "$as_me: Using supplied libopts tearoff" >&6;} + LIBOPTS_CFLAGS='-I$(top_srcdir)/src/libopts' + NEED_LIBOPTS_DIR=true + LIBOPTS_LDADD='$(top_builddir)/src/libopts/libopts.la' + fi +fi + + + # Check whether --enable-libopts-install was given. +if test "${enable_libopts_install+set}" = set; then : + enableval=$enable_libopts_install; +fi + + if test "X${enable_libopts_install}" = Xyes; then + INSTALL_LIBOPTS_TRUE= + INSTALL_LIBOPTS_FALSE='#' else - lt_prog_compiler_static_CXX= + INSTALL_LIBOPTS_TRUE='#' + INSTALL_LIBOPTS_FALSE= fi + if test -z "${NEED_LIBOPTS_DIR}" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoopts-config can be found" >&5 +$as_echo_n "checking whether autoopts-config can be found... " >&6; } + +# Check whether --with-autoopts-config was given. +if test "${with_autoopts_config+set}" = set; then : + withval=$with_autoopts_config; lo_cv_with_autoopts_config=${with_autoopts_config} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether autoopts-config is specified" >&5 +$as_echo_n "checking whether autoopts-config is specified... " >&6; } +if ${lo_cv_with_autoopts_config+:} false; then : + $as_echo_n "(cached) " >&6 +else + if autoopts-config --help 2>/dev/null 1>&2 + then lo_cv_with_autoopts_config=autoopts-config + elif libopts-config --help 2>/dev/null 1>&2 + then lo_cv_with_autoopts_config=libopts-config + else lo_cv_with_autoopts_config=no ; fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lo_cv_with_autoopts_config" >&5 +$as_echo "$lo_cv_with_autoopts_config" >&6; } +fi + # end of AC_ARG_WITH - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + if ${lo_cv_test_autoopts+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* + if test -z "${lo_cv_with_autoopts_config}" \ + -o X"${lo_cv_with_autoopts_config}" = Xno + then + if autoopts-config --help 2>/dev/null 1>&2 + then lo_cv_with_autoopts_config=autoopts-config + elif libopts-config --help 2>/dev/null 1>&2 + then lo_cv_with_autoopts_config=libopts-config + else lo_cv_with_autoopts_config=false ; fi + fi + lo_cv_test_autoopts=` + ${lo_cv_with_autoopts_config} --libs` 2> /dev/null + if test $? -ne 0 -o -z "${lo_cv_test_autoopts}" + then lo_cv_test_autoopts=no ; fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + # end of CACHE_VAL + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lo_cv_test_autoopts}" >&5 +$as_echo "${lo_cv_test_autoopts}" >&6; } + + if test "X${lo_cv_test_autoopts}" != Xno + then + LIBOPTS_LDADD="${lo_cv_test_autoopts}" + LIBOPTS_CFLAGS="`${lo_cv_with_autoopts_config} --cflags`" + else + LIBOPTS_LDADD='$(top_builddir)/src/libopts/libopts.la' + LIBOPTS_CFLAGS='-I$(top_srcdir)/src/libopts' + NEED_LIBOPTS_DIR=true + fi + fi # end of if test -z "${NEED_LIBOPTS_DIR}" + if test -n "${LIBOPTS_BUILD_BLOCKED}" ; then + NEED_LIBOPTS_DIR='' + fi + if test -n "${NEED_LIBOPTS_DIR}"; then + NEED_LIBOPTS_TRUE= + NEED_LIBOPTS_FALSE='#' +else + NEED_LIBOPTS_TRUE='#' + NEED_LIBOPTS_FALSE= +fi + + + + LIBOPTS_DIR=src/libopts +# end of AC_DEFUN of LIBOPTS_CHECK_COMMON - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* + if test -z "$NEED_LIBOPTS_TRUE"; then : -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + # Check to see if a reg expr header is specified. -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi +# Check whether --with-regex-header was given. +if test "${with_regex_header+set}" = set; then : + withval=$with_regex_header; libopts_cv_with_regex_header=${with_regex_header} else - need_locks=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a reg expr header is specified" >&5 +$as_echo_n "checking whether a reg expr header is specified... " >&6; } +if ${libopts_cv_with_regex_header+:} false; then : + $as_echo_n "(cached) " >&6 +else + libopts_cv_with_regex_header=no fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_regex_header" >&5 +$as_echo "$libopts_cv_with_regex_header" >&6; } +fi + # end of AC_ARG_WITH + if test "X${libopts_cv_with_regex_header}" != Xno + then + cat >>confdefs.h <<_ACEOF +#define REGEX_HEADER <${libopts_cv_with_regex_header}> +_ACEOF + else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } +$as_echo "#define REGEX_HEADER " >>confdefs.h - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs_CXX=no - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no -with_gnu_ld_CXX=$with_gnu_ld + # Check to see if a working libregex can be found. +# Check whether --with-libregex was given. +if test "${with_libregex+set}" = set; then : + withval=$with_libregex; libopts_cv_with_libregex_root=${with_libregex} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex was specified" >&5 +$as_echo_n "checking whether with-libregex was specified... " >&6; } +if ${libopts_cv_with_libregex_root+:} false; then : + $as_echo_n "(cached) " >&6 +else + libopts_cv_with_libregex_root=no +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_root" >&5 +$as_echo "$libopts_cv_with_libregex_root" >&6; } +fi + # end of AC_ARG_WITH libregex + if test "${with_libregex+set}" = set && \ + test "X${withval}" = Xno + then ## disabled by request + libopts_cv_with_libregex_root=no + libopts_cv_with_libregex_cflags=no + libopts_cv_with_libregex_libs=no + else -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : +# Check whether --with-libregex-cflags was given. +if test "${with_libregex_cflags+set}" = set; then : + withval=$with_libregex_cflags; libopts_cv_with_libregex_cflags=${with_libregex_cflags} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex-cflags was specified" >&5 +$as_echo_n "checking whether with-libregex-cflags was specified... " >&6; } +if ${libopts_cv_with_libregex_cflags+:} false; then : $as_echo_n "(cached) " >&6 else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext + libopts_cv_with_libregex_cflags=no +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_cflags" >&5 +$as_echo "$libopts_cv_with_libregex_cflags" >&6; } - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* +fi + # end of AC_ARG_WITH libregex-cflags + + +# Check whether --with-libregex-libs was given. +if test "${with_libregex_libs+set}" = set; then : + withval=$with_libregex_libs; libopts_cv_with_libregex_libs=${with_libregex_libs} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether with-libregex-libs was specified" >&5 +$as_echo_n "checking whether with-libregex-libs was specified... " >&6; } +if ${libopts_cv_with_libregex_libs+:} false; then : + $as_echo_n "(cached) " >&6 +else + libopts_cv_with_libregex_libs=no +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_with_libregex_libs" >&5 +$as_echo "$libopts_cv_with_libregex_libs" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; + # end of AC_ARG_WITH libregex-libs + + case "X${libopts_cv_with_libregex_cflags}" in + Xyes|Xno|X ) + case "X${libopts_cv_with_libregex_root}" in + Xyes|Xno|X ) libopts_cv_with_libregex_cflags=no ;; + * ) libopts_cv_with_libregex_cflags=-I${libopts_cv_with_libregex_root}/include ;; esac - fi - ;; -esac + esac + case "X${libopts_cv_with_libregex_libs}" in + Xyes|Xno|X ) + case "X${libopts_cv_with_libregex_root}" in + Xyes|Xno|X ) libopts_cv_with_libregex_libs=no ;; + * ) libopts_cv_with_libregex_libs="-L${libopts_cv_with_libregex_root}/lib -lregex";; + esac + esac + libopts_save_CPPFLAGS="${CPPFLAGS}" + libopts_save_LIBS="${LIBS}" + case "X${libopts_cv_with_libregex_cflags}" in + Xyes|Xno|X ) + libopts_cv_with_libregex_cflags="" ;; + * ) CPPFLAGS="${CPPFLAGS} ${libopts_cv_with_libregex_cflags}" ;; + esac + case "X${libopts_cv_with_libregex_libs}" in + Xyes|Xno|X ) + libopts_cv_with_libregex_libs="" ;; + * ) + LIBS="${LIBS} ${libopts_cv_with_libregex_libs}" ;; + esac + LIBREGEX_CFLAGS="" + LIBREGEX_LIBS="" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libregex functions properly" >&5 +$as_echo_n "checking whether libregex functions properly... " >&6; } + if ${libopts_cv_with_libregex+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + libopts_cv_with_libregex=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include REGEX_HEADER +static regex_t re; +void comp_re( char const* pzPat ) { + int res = regcomp( &re, pzPat, REG_EXTENDED|REG_ICASE|REG_NEWLINE ); + if (res == 0) return; + exit( res ); } +int main() { + regmatch_t m[2]; + comp_re( "^.*\$" ); + comp_re( "()|no.*" ); + comp_re( "." ); + if (regexec( &re, "X", 2, m, 0 ) != 0) return 1; + if ((m[0].rm_so != 0) || (m[0].rm_eo != 1)) { + fputs( "error: regex -->.<-- did not match\n", stderr ); + return 1; + } + return 0; } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_with_libregex=yes +else + libopts_cv_with_libregex=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of AC_RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_with_libregex + fi ## disabled by request + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_with_libregex}" >&5 +$as_echo "${libopts_cv_with_libregex}" >&6; } + if test "X${libopts_cv_with_libregex}" != Xno + then +$as_echo "#define WITH_LIBREGEX 1" >>confdefs.h + else + CPPFLAGS="${libopts_save_CPPFLAGS}" + LIBS="${libopts_save_LIBS}" + libopts_cv_with_libregex_root=no +libopts_cv_with_libregex_cflags=no +libopts_cv_with_libregex_libs=no +libopts_cv_with_libregex=no + fi + # Check to see if pathfind(3) works. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pathfind(3) works" >&5 +$as_echo_n "checking whether pathfind(3) works... " >&6; } + if ${libopts_cv_run_pathfind+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + libopts_cv_run_pathfind=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int main (int argc, char** argv) { + char* pz = pathfind( getenv( "PATH" ), "sh", "x" ); + return (pz == 0) ? 1 : 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_run_pathfind=yes +else + libopts_cv_run_pathfind=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_run_pathfind + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_pathfind}" >&5 +$as_echo "${libopts_cv_run_pathfind}" >&6; } + if test "X${libopts_cv_run_pathfind}" != Xno + then +$as_echo "#define HAVE_PATHFIND 1" >>confdefs.h + fi + # Check to see if /dev/zero is readable device. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether /dev/zero is readable device" >&5 +$as_echo_n "checking whether /dev/zero is readable device... " >&6; } + if ${libopts_cv_test_dev_zero+:} false; then : + $as_echo_n "(cached) " >&6 +else + libopts_cv_test_dev_zero=`exec 2> /dev/null +dzero=\`ls -lL /dev/zero | egrep ^c......r\` +test -z "${dzero}" && exit 1 +echo ${dzero}` + if test $? -ne 0 || test -z "$libopts_cv_test_dev_zero" + then libopts_cv_test_dev_zero=no + fi +fi + # end of CACHE_VAL of libopts_cv_test_dev_zero + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_test_dev_zero}" >&5 +$as_echo "${libopts_cv_test_dev_zero}" >&6; } + if test "X${libopts_cv_test_dev_zero}" != Xno + then +$as_echo "#define HAVE_DEV_ZERO 1" >>confdefs.h + fi + # Check to see if we have a functional realpath(3C). + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have a functional realpath(3C)" >&5 +$as_echo_n "checking whether we have a functional realpath(3C)... " >&6; } + if ${libopts_cv_run_realpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + libopts_cv_run_realpath=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int main (int argc, char** argv) { +#ifndef PATH_MAX +choke me!! +#else + char zPath[PATH_MAX+1]; +#endif + char *pz = realpath(argv[0], zPath); + return (pz == zPath) ? 0 : 1; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_run_realpath=yes +else + libopts_cv_run_realpath=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_run_realpath + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_realpath}" >&5 +$as_echo "${libopts_cv_run_realpath}" >&6; } + if test "X${libopts_cv_run_realpath}" != Xno + then +$as_echo "#define HAVE_REALPATH 1" >>confdefs.h + fi + # Check to see if strftime() works. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strftime() works" >&5 +$as_echo_n "checking whether strftime() works... " >&6; } + if ${libopts_cv_run_strftime+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + libopts_cv_run_strftime=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +char t_buf[ 64 ]; +int main() { + static char const z[] = "Thursday Aug 28 240"; + struct tm tm; + tm.tm_sec = 36; /* seconds after the minute [0, 61] */ + tm.tm_min = 44; /* minutes after the hour [0, 59] */ + tm.tm_hour = 12; /* hour since midnight [0, 23] */ + tm.tm_mday = 28; /* day of the month [1, 31] */ + tm.tm_mon = 7; /* months since January [0, 11] */ + tm.tm_year = 86; /* years since 1900 */ + tm.tm_wday = 4; /* days since Sunday [0, 6] */ + tm.tm_yday = 239; /* days since January 1 [0, 365] */ + tm.tm_isdst = 1; /* flag for daylight savings time */ + strftime( t_buf, sizeof( t_buf ), "%A %b %d %j", &tm ); + return (strcmp( t_buf, z ) != 0); } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_run_strftime=yes +else + libopts_cv_run_strftime=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_run_strftime + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_strftime}" >&5 +$as_echo "${libopts_cv_run_strftime}" >&6; } + if test "X${libopts_cv_run_strftime}" != Xno + then +$as_echo "#define HAVE_STRFTIME 1" >>confdefs.h + fi + # Check to see if fopen accepts "b" mode. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fopen accepts \"b\" mode" >&5 +$as_echo_n "checking whether fopen accepts \"b\" mode... " >&6; } + if ${libopts_cv_run_fopen_binary+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + libopts_cv_run_fopen_binary=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int main (int argc, char** argv) { +FILE* fp = fopen("conftest.$ac_ext", "rb"); +return (fp == NULL) ? 1 : fclose(fp); } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_run_fopen_binary=yes +else + libopts_cv_run_fopen_binary=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_run_fopen_binary + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_fopen_binary}" >&5 +$as_echo "${libopts_cv_run_fopen_binary}" >&6; } + if test "X${libopts_cv_run_fopen_binary}" != Xno + then +$as_echo "#define FOPEN_BINARY_FLAG \"b\"" >>confdefs.h + else +$as_echo "#define FOPEN_BINARY_FLAG \"\"" >>confdefs.h + fi + # Check to see if fopen accepts "t" mode. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fopen accepts \"t\" mode" >&5 +$as_echo_n "checking whether fopen accepts \"t\" mode... " >&6; } + if ${libopts_cv_run_fopen_text+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + libopts_cv_run_fopen_text=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int main (int argc, char** argv) { +FILE* fp = fopen("conftest.$ac_ext", "rt"); +return (fp == NULL) ? 1 : fclose(fp); } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + libopts_cv_run_fopen_text=yes +else + libopts_cv_run_fopen_text=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + # end of RUN_IFELSE +fi + # end of AC_CACHE_VAL for libopts_cv_run_fopen_text + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${libopts_cv_run_fopen_text}" >&5 +$as_echo "${libopts_cv_run_fopen_text}" >&6; } + if test "X${libopts_cv_run_fopen_text}" != Xno + then +$as_echo "#define FOPEN_TEXT_FLAG \"t\"" >>confdefs.h + else +$as_echo "#define FOPEN_TEXT_FLAG \"\"" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no + # Check to see if not wanting optional option args. -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown + # Check whether --enable-optional-args was given. +if test "${enable_optional_args+set}" = set; then : + enableval=$enable_optional_args; libopts_cv_enable_optional_args=${enable_optional_args} +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether not wanting optional option args" >&5 +$as_echo_n "checking whether not wanting optional option args... " >&6; } +if ${libopts_cv_enable_optional_args+:} false; then : + $as_echo_n "(cached) " >&6 +else + libopts_cv_enable_optional_args=yes +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libopts_cv_enable_optional_args" >&5 +$as_echo "$libopts_cv_enable_optional_args" >&6; } -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH +fi + # end of AC_ARG_ENABLE + if test "X${libopts_cv_enable_optional_args}" = Xno + then - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; +$as_echo "#define NO_OPTIONAL_OPT_ARGS 1" >>confdefs.h -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + fi + ac_config_files="$ac_config_files src/libopts/Makefile" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; + # end of AC_DEFUN of LIBOPTS_CHECK - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' +if test "$NEED_LIBOPTS_DIR" = "true";then + missing_baks= + for i in ${srcdir}/src/*-args.c.bak ${srcdir}/src/*-args.h.bak; do + nam=`echo $i|sed 's/.bak//g'` + if test -f $i;then + cp -f $i $nam + else + missing_baks=true + fi + done + if test -z "$missing_baks"; then + AUTOGEN=/bin/true - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac + fi + enable_local_libopts=yes +else + enable_local_libopts=no +fi + if test "$enable_local_libopts" = "yes"; then + NEED_LIBOPTS_TRUE= + NEED_LIBOPTS_FALSE='#' +else + NEED_LIBOPTS_TRUE='#' + NEED_LIBOPTS_FALSE= +fi - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" " + #include -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +" +if test "x$ac_cv_type_ssize_t" = xyes; then : - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; + DEFINE_SSIZE_T="#include " -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; +else -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; +$as_echo "#define NO_SSIZE_T 1" >>confdefs.h -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; + DEFINE_SSIZE_T="typedef int ssize_t;" -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; +fi -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : +# For minitasn1. +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long int" >&5 +$as_echo_n "checking size of unsigned long int... " >&6; } +if ${ac_cv_sizeof_unsigned_long_int+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long int))" "ac_cv_sizeof_unsigned_long_int" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi +else + if test "$ac_cv_type_unsigned_long_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (unsigned long int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_unsigned_long_int=0 + fi fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long_int" >&5 +$as_echo "$ac_cv_sizeof_unsigned_long_int" >&6; } - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_LONG_INT $ac_cv_sizeof_unsigned_long_int +_ACEOF -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 +$as_echo_n "checking size of unsigned int... " >&6; } +if ${ac_cv_sizeof_unsigned_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; +else + if test "$ac_cv_type_unsigned_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (unsigned int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_unsigned_int=0 + fi +fi -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 +$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int +_ACEOF -rdos*) - dynamic_linker=no - ;; -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then : + withval=$with_zlib; ac_zlib=$withval +else + ac_zlib=yes +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include zlib compression support" >&5 +$as_echo_n "checking whether to include zlib compression support... " >&6; } +if test x$ac_zlib != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi + use_additional=yes + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +# Check whether --with-libz-prefix was given. +if test "${with_libz_prefix+set}" = set; then : + withval=$with_libz_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +fi + LIBZ= + LTLIBZ= + INCZ= + LIBZ_PREFIX= + HAVE_LIBZ= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='z ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBZ="${LIBZ}${LIBZ:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBZ; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBZ="${LIBZ}${LIBZ:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBZ="${LIBZ}${LIBZ:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBZ="${LIBZ}${LIBZ:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBZ; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBZ="${LIBZ}${LIBZ:+ }$found_so" + else + LIBZ="${LIBZ}${LIBZ:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBZ="${LIBZ}${LIBZ:+ }$found_a" + else + LIBZ="${LIBZ}${LIBZ:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'z'; then + LIBZ_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'z'; then + LIBZ_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCZ; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCZ="${INCZ}${INCZ:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBZ; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBZ="${LIBZ}${LIBZ:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBZ; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBZ="${LIBZ}${LIBZ:+ }$dep" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }$dep" + ;; + esac + done + fi + else + LIBZ="${LIBZ}${LIBZ:+ }-l$name" + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBZ="${LIBZ}${LIBZ:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBZ="${LIBZ}${LIBZ:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBZ="${LTLIBZ}${LTLIBZ:+ }-R$found_dir" + done + fi @@ -53875,95 +48889,120 @@ fi + ac_save_CPPFLAGS="$CPPFLAGS" + for element in $INCZ; do + haveit= + for x in $CPPFLAGS; do + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test "X$hardcode_automatic_CXX" = "Xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libz" >&5 +$as_echo_n "checking for libz... " >&6; } +if ${ac_cv_libz+:} false; then : + $as_echo_n "(cached) " >&6 +else - # We can hardcode non-existent directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi + ac_save_LIBS="$LIBS" + case " $LIBZ" in + *" -l"*) LIBS="$LIBS $LIBZ" ;; + *) LIBS="$LIBZ $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +compress (0, 0, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libz=yes else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported + ac_cv_libz='no' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" -if test "$hardcode_action_CXX" = relink || - test "$inherit_rpath_CXX" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libz" >&5 +$as_echo "$ac_cv_libz" >&6; } + if test "$ac_cv_libz" = yes; then + HAVE_LIBZ=yes +$as_echo "#define HAVE_LIBZ 1" >>confdefs.h - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - - - - - + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libz" >&5 +$as_echo_n "checking how to link with libz... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBZ" >&5 +$as_echo "$LIBZ" >&6; } + else + HAVE_LIBZ=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBZ= + LTLIBZ= + LIBZ_PREFIX= + fi - ac_config_commands="$ac_config_commands libtool" + if test x$ac_cv_libz != xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** +*** ZLIB was not found. You will not be able to use ZLIB compression." >&5 +$as_echo "$as_me: WARNING: *** +*** ZLIB was not found. You will not be able to use ZLIB compression." >&2;} + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib\""; } >&5 + ($PKG_CONFIG --exists --print-errors "zlib") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + ZLIB_HAS_PKGCONFIG=y +else + ZLIB_HAS_PKGCONFIG=n +fi +if test x$ac_zlib != xno; then + if test "$ZLIB_HAS_PKGCONFIG" = "y" ; then + if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then + GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib" + else + GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib" + fi + fi +fi -# Only expand once: @@ -53986,18 +49025,11 @@ _ACEOF fi -# Check whether --with-default-crl-file was given. -if test "${with_default_crl_file+set}" = set; then : - withval=$with_default_crl_file; -fi - - - # Check whether --with-default-trust-store-file was given. if test "${with_default_trust_store_file+set}" = set; then : withval=$with_default_trust_store_file; with_default_trust_store_file="$withval" else - if test "$build" = "$host";then + if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x;then for i in \ /etc/ssl/ca-bundle.pem \ /etc/ssl/certs/ca-certificates.crt \ @@ -54005,7 +49037,7 @@ else /usr/local/share/certs/ca-root-nss.crt \ /etc/ssl/cert.pem do - if test -e $i; then + if test -e "$i"; then with_default_trust_store_file="$i" break fi @@ -54019,6 +49051,20 @@ if test "$with_default_trust_store_file" = "no";then with_default_trust_store_file="" fi + +# Check whether --with-default-crl-file was given. +if test "${with_default_crl_file+set}" = set; then : + withval=$with_default_crl_file; +fi + + + +# Check whether --with-default-blacklist-file was given. +if test "${with_default_blacklist_file+set}" = set; then : + withval=$with_default_blacklist_file; +fi + + if test "x$with_default_trust_store_file" != x; then cat >>confdefs.h <<_ACEOF @@ -54035,6 +49081,14 @@ _ACEOF fi +if test "x$with_default_blacklist_file" != x; then + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_BLACKLIST_FILE "$with_default_blacklist_file" +_ACEOF + +fi + opt_guile_bindings=yes { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether building Guile bindings" >&5 $as_echo_n "checking whether building Guile bindings... " >&6; } @@ -54047,9 +49101,9 @@ fi $as_echo "$opt_guile_bindings" >&6; } -# Check whether --with---with-guile-site-dir was given. -if test "${with___with_guile_site_dir+set}" = set; then : - withval=$with___with_guile_site_dir; +# Check whether --with-guile-site-dir was given. +if test "${with_guile_site_dir+set}" = set; then : + withval=$with_guile_site_dir; fi @@ -54259,17 +49313,10 @@ $as_echo_n "checking whether GNU Guile is recent enough... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char scm_from_locale_string (); int main () { -return scm_from_locale_string (); +scm_from_locale_string ("") ; return 0; } @@ -54386,6 +49433,14 @@ LIBGNUTLS_CFLAGS="-I${includedir}" + if test "$gnutls_needs_librt" = "yes"; then + NEEDS_LIBRT_TRUE= + NEEDS_LIBRT_FALSE='#' +else + NEEDS_LIBRT_TRUE='#' + NEEDS_LIBRT_FALSE= +fi + $as_echo "#define GNUTLS_COMPAT_H 1" >>confdefs.h @@ -54632,9 +49687,22 @@ else $as_echo "yes" >&6; } libidn=yes fi + for ac_func in argp_usage +do : + ac_fn_c_check_func "$LINENO" "argp_usage" "ac_cv_func_argp_usage" +if test "x$ac_cv_func_argp_usage" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ARGP_USAGE 1 +_ACEOF + ac_argp=yes +else + ac_argp=no +fi +done + fi - if test "x$libidn" != "xno" && test "$ac_cv_func_daemon" != "no";then + if test "x$libidn" != "xno" && test "$ac_cv_func_daemon" != "no" && test "$ac_argp" != "no";then crywrap=yes fi @@ -54648,11 +49716,15 @@ else ENABLE_CRYWRAP_FALSE= fi -rm -f suppressions.valgrind + + +YEAR=`date +%Y` +YEAR=$YEAR + ac_config_files="$ac_config_files guile/pre-inst-guile" -ac_config_files="$ac_config_files Makefile doc/Makefile doc/credentials/Makefile doc/credentials/openpgp/Makefile doc/credentials/srp/Makefile doc/credentials/x509/Makefile doc/cyclo/Makefile doc/doxygen/Doxyfile doc/examples/Makefile doc/latex/Makefile doc/manpages/Makefile doc/reference/Makefile doc/reference/version.xml doc/scripts/Makefile extra/Makefile extra/includes/Makefile gl/Makefile gl/tests/Makefile guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile lib/Makefile lib/accelerated/Makefile lib/accelerated/x86/Makefile lib/algorithms/Makefile lib/auth/Makefile lib/ext/Makefile lib/extras/Makefile lib/gnutls.pc lib/includes/Makefile lib/includes/gnutls/gnutls.h lib/minitasn1/Makefile lib/nettle/Makefile lib/opencdk/Makefile lib/openpgp/Makefile lib/x509/Makefile po/Makefile.in src/Makefile src/crywrap/Makefile tests/Makefile tests/cert-tests/Makefile tests/dsa/Makefile tests/dtls/Makefile tests/srp/Makefile tests/ecdsa/Makefile tests/key-id/Makefile tests/openpgp-certs/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile tests/pkcs8-decode/Makefile tests/rsa-md5-collision/Makefile tests/safe-renegotiation/Makefile tests/scripts/Makefile tests/sha2/Makefile tests/slow/Makefile tests/suite/Makefile tests/userid/Makefile" +ac_config_files="$ac_config_files Makefile doc/Makefile doc/credentials/Makefile doc/credentials/openpgp/Makefile doc/credentials/srp/Makefile doc/credentials/x509/Makefile doc/cyclo/Makefile doc/doxygen/Doxyfile doc/examples/Makefile doc/latex/Makefile doc/manpages/Makefile doc/reference/Makefile doc/reference/version.xml doc/scripts/Makefile extra/Makefile extra/includes/Makefile libdane/Makefile libdane/includes/Makefile libdane/gnutls-dane.pc gl/Makefile gl/tests/Makefile guile/Makefile guile/modules/Makefile guile/src/Makefile guile/tests/Makefile lib/Makefile lib/accelerated/Makefile lib/accelerated/x86/Makefile lib/algorithms/Makefile lib/auth/Makefile lib/ext/Makefile lib/extras/Makefile lib/gnutls.pc lib/includes/Makefile lib/includes/gnutls/gnutls.h lib/minitasn1/Makefile lib/nettle/Makefile lib/opencdk/Makefile lib/openpgp/Makefile lib/x509/Makefile po/Makefile.in src/Makefile src/crywrap/Makefile src/gl/Makefile tests/Makefile tests/cert-tests/Makefile tests/dsa/Makefile tests/dtls/Makefile tests/srp/Makefile tests/ecdsa/Makefile tests/key-tests/Makefile tests/openpgp-certs/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile tests/pkcs8-decode/Makefile tests/rsa-md5-collision/Makefile tests/safe-renegotiation/Makefile tests/scripts/Makefile tests/sha2/Makefile tests/slow/Makefile tests/suite/Makefile tests/userid/Makefile" cat >confcache <<\_ACEOF @@ -54764,6 +49836,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -54836,6 +49916,22 @@ if test -z "${ENABLE_MINITASN1_TRUE}" && test -z "${ENABLE_MINITASN1_FALSE}"; th as_fn_error $? "conditional \"ENABLE_MINITASN1\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_DTLS_SRTP_TRUE}" && test -z "${ENABLE_DTLS_SRTP_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_DTLS_SRTP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_ALPN_TRUE}" && test -z "${ENABLE_ALPN_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_ALPN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_RSA_EXPORT_TRUE}" && test -z "${ENABLE_RSA_EXPORT_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_RSA_EXPORT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_HEARTBEAT_TRUE}" && test -z "${ENABLE_HEARTBEAT_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_HEARTBEAT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_SRP_TRUE}" && test -z "${ENABLE_SRP_FALSE}"; then as_fn_error $? "conditional \"ENABLE_SRP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54848,6 +49944,14 @@ if test -z "${ENABLE_ANON_TRUE}" && test -z "${ENABLE_ANON_FALSE}"; then as_fn_error $? "conditional \"ENABLE_ANON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_DHE_TRUE}" && test -z "${ENABLE_DHE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_DHE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_ECDHE_TRUE}" && test -z "${ENABLE_ECDHE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_ECDHE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_OPENPGP_TRUE}" && test -z "${ENABLE_OPENPGP_FALSE}"; then as_fn_error $? "conditional \"ENABLE_OPENPGP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54856,10 +49960,22 @@ if test -z "${ENABLE_OCSP_TRUE}" && test -z "${ENABLE_OCSP_FALSE}"; then as_fn_error $? "conditional \"ENABLE_OCSP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_SESSION_TICKETS_TRUE}" && test -z "${ENABLE_SESSION_TICKETS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_SESSION_TICKETS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_OPENSSL_TRUE}" && test -z "${ENABLE_OPENSSL_FALSE}"; then as_fn_error $? "conditional \"ENABLE_OPENSSL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_DOC_TRUE}" && test -z "${ENABLE_DOC_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_TESTS_TRUE}" && test -z "${ENABLE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54885,18 +50001,6 @@ if test -z "${HAVE_FORK_TRUE}" && test -z "${HAVE_FORK_FALSE}"; then as_fn_error $? "conditional \"HAVE_FORK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${ENABLE_PKCS11_TRUE}" && test -z "${ENABLE_PKCS11_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_PKCS11\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_LIBOPTS_TRUE}" && test -z "${INSTALL_LIBOPTS_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_LIBOPTS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${NEED_LIBOPTS_TRUE}" && test -z "${NEED_LIBOPTS_FALSE}"; then - as_fn_error $? "conditional \"NEED_LIBOPTS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54917,8 +50021,6 @@ if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi - - if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then as_fn_error $? "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54937,10 +50039,6 @@ if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -54953,10 +50051,7 @@ if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FAL as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${GL_GENERATE_SYSEXITS_H_TRUE}" && test -z "${GL_GENERATE_SYSEXITS_H_FALSE}"; then - as_fn_error $? "conditional \"GL_GENERATE_SYSEXITS_H\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi + gl_libobjs= gl_ltlibobjs= @@ -54974,9 +50069,6 @@ fi - - - gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then @@ -54992,10 +50084,106 @@ fi gltests_LTLIBOBJS=$gltests_ltlibobjs +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_FLOAT_H_TRUE}" && test -z "${GL_GENERATE_FLOAT_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_FLOAT_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_NETINET_IN_H_TRUE}" && test -z "${GL_GENERATE_NETINET_IN_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_NETINET_IN_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDALIGN_H_TRUE}" && test -z "${GL_GENERATE_STDALIGN_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDALIGN_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + + ggl_libobjs= + ggl_ltlibobjs= + if test -n "$ggl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $ggl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + ggl_libobjs="$ggl_libobjs $i.$ac_objext" + ggl_ltlibobjs="$ggl_ltlibobjs $i.lo" + done + fi + ggl_LIBOBJS=$ggl_libobjs + + ggl_LTLIBOBJS=$ggl_ltlibobjs + + + + ggltests_libobjs= + ggltests_ltlibobjs= + if test -n "$ggltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $ggltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + ggltests_libobjs="$ggltests_libobjs $i.$ac_objext" + ggltests_ltlibobjs="$ggltests_ltlibobjs $i.lo" + done + fi + ggltests_LIBOBJS=$ggltests_libobjs + + ggltests_LTLIBOBJS=$ggltests_ltlibobjs + + +if test -z "${ENABLE_FIPS140_TRUE}" && test -z "${ENABLE_FIPS140_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_FIPS140\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_SELF_CHECKS_TRUE}" && test -z "${ENABLE_SELF_CHECKS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_SELF_CHECKS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_DANE_TRUE}" && test -z "${ENABLE_DANE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_DANE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_PKCS11_TRUE}" && test -z "${ENABLE_PKCS11_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_PKCS11\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_TROUSERS_TRUE}" && test -z "${ENABLE_TROUSERS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_TROUSERS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_LIBOPTS_TRUE}" && test -z "${INSTALL_LIBOPTS_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_LIBOPTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${NEED_LIBOPTS_TRUE}" && test -z "${NEED_LIBOPTS_FALSE}"; then + as_fn_error $? "conditional \"NEED_LIBOPTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${NEED_LIBOPTS_TRUE}" && test -z "${NEED_LIBOPTS_FALSE}"; then + as_fn_error $? "conditional \"NEED_LIBOPTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then as_fn_error $? "conditional \"HAVE_GUILE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${NEEDS_LIBRT_TRUE}" && test -z "${NEEDS_LIBRT_FALSE}"; then + as_fn_error $? "conditional \"NEEDS_LIBRT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ENABLE_CRYWRAP_TRUE}" && test -z "${ENABLE_CRYWRAP_FALSE}"; then as_fn_error $? "conditional \"ENABLE_CRYWRAP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -55397,7 +50585,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GnuTLS $as_me 3.0.30, which was +This file was extended by GnuTLS $as_me 3.3.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -55461,13 +50649,13 @@ $config_links Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GnuTLS config.status 3.0.30 +GnuTLS config.status 3.3.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -55604,13 +50792,10 @@ GNUmakefile=$GNUmakefile sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' @@ -55640,10 +50825,12 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' @@ -55803,10 +50990,7 @@ _LTECHO_EOF' } # Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ +for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ @@ -55819,10 +51003,12 @@ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ +OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ +DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ @@ -55984,9 +51170,9 @@ do "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "src/libopts/Makefile") CONFIG_FILES="$CONFIG_FILES src/libopts/Makefile" ;; "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "src/libopts/Makefile") CONFIG_FILES="$CONFIG_FILES src/libopts/Makefile" ;; "guile/pre-inst-guile") CONFIG_FILES="$CONFIG_FILES guile/pre-inst-guile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; @@ -56004,6 +51190,9 @@ do "doc/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES doc/scripts/Makefile" ;; "extra/Makefile") CONFIG_FILES="$CONFIG_FILES extra/Makefile" ;; "extra/includes/Makefile") CONFIG_FILES="$CONFIG_FILES extra/includes/Makefile" ;; + "libdane/Makefile") CONFIG_FILES="$CONFIG_FILES libdane/Makefile" ;; + "libdane/includes/Makefile") CONFIG_FILES="$CONFIG_FILES libdane/includes/Makefile" ;; + "libdane/gnutls-dane.pc") CONFIG_FILES="$CONFIG_FILES libdane/gnutls-dane.pc" ;; "gl/Makefile") CONFIG_FILES="$CONFIG_FILES gl/Makefile" ;; "gl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gl/tests/Makefile" ;; "guile/Makefile") CONFIG_FILES="$CONFIG_FILES guile/Makefile" ;; @@ -56028,13 +51217,14 @@ do "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/crywrap/Makefile") CONFIG_FILES="$CONFIG_FILES src/crywrap/Makefile" ;; + "src/gl/Makefile") CONFIG_FILES="$CONFIG_FILES src/gl/Makefile" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; "tests/cert-tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/cert-tests/Makefile" ;; "tests/dsa/Makefile") CONFIG_FILES="$CONFIG_FILES tests/dsa/Makefile" ;; "tests/dtls/Makefile") CONFIG_FILES="$CONFIG_FILES tests/dtls/Makefile" ;; "tests/srp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/srp/Makefile" ;; "tests/ecdsa/Makefile") CONFIG_FILES="$CONFIG_FILES tests/ecdsa/Makefile" ;; - "tests/key-id/Makefile") CONFIG_FILES="$CONFIG_FILES tests/key-id/Makefile" ;; + "tests/key-tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/key-tests/Makefile" ;; "tests/openpgp-certs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/openpgp-certs/Makefile" ;; "tests/pkcs1-padding/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs1-padding/Makefile" ;; "tests/pkcs12-decode/Makefile") CONFIG_FILES="$CONFIG_FILES tests/pkcs12-decode/Makefile" ;; @@ -56674,7 +51864,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -56687,7 +51877,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -56721,21 +51911,19 @@ $as_echo X"$mf" | continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -56935,25 +52123,16 @@ available_tags="CXX " # ### BEGIN LIBTOOL CONFIG -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - # Whether or not to build static libraries. build_old_libs=$enable_static +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + # What type of objects to build. pic_mode=$pic_mode @@ -57024,6 +52203,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -57036,6 +52218,9 @@ file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd @@ -57723,89 +52908,145 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: summary of build options: - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - CFlags: ${CFLAGS} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} + version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE + Host/Target system: ${host} + Build system: ${build} + Install prefix: ${prefix} + Compiler: ${CC} + CFlags: ${CFLAGS} + Library types: Shared=${enable_shared}, Static=${enable_static} + Local libopts: ${enable_local_libopts} + Local libtasn1: ${included_libtasn1} + Use nettle-mini: ${mini_nettle} " >&5 $as_echo "$as_me: summary of build options: - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - CFlags: ${CFLAGS} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} + version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE + Host/Target system: ${host} + Build system: ${build} + Install prefix: ${prefix} + Compiler: ${CC} + CFlags: ${CFLAGS} + Library types: Shared=${enable_shared}, Static=${enable_static} + Local libopts: ${enable_local_libopts} + Local libtasn1: ${included_libtasn1} + Use nettle-mini: ${mini_nettle} +" >&6;} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: External hardware support: + + /dev/crypto: $enable_cryptodev + Hardware accel: $hw_accel + PKCS#11 support: $with_p11_kit + TPM support: $with_tpm +" >&5 +$as_echo "$as_me: External hardware support: + + /dev/crypto: $enable_cryptodev + Hardware accel: $hw_accel + PKCS#11 support: $with_p11_kit + TPM support: $with_tpm " >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Optional features: (note that included applications might not compile properly if features are disabled) - OCSP support: $ac_enable_ocsp - OpenPGP support: $ac_enable_openpgp - SRP support: $ac_enable_srp - PSK support: $ac_enable_psk - Anon auth support:$ac_enable_anon - - Trust store pkcs: $with_default_trust_store_pkcs11 - Trust store file: $with_default_trust_store_file - CRL file: $with_default_crl_file + DTLS-SRTP support: $ac_enable_srtp + ALPN support: $ac_enable_alpn + OCSP support: $ac_enable_ocsp + Ses. ticket support: $ac_enable_session_tickets + OpenPGP support: $ac_enable_openpgp + SRP support: $ac_enable_srp + PSK support: $ac_enable_psk + DHE support: $ac_enable_dhe + ECDHE support: $ac_enable_ecdhe + RSA-EXPORT support: $ac_enable_rsa_export + Anon auth support: $ac_enable_anon + Heartbeat support: $ac_enable_heartbeat + Unicode support: $ac_have_unicode + Self checks: $enable_self_checks + Non-SuiteB curves: $enable_non_suiteb + FIPS140 mode: $enable_fips " >&5 $as_echo "$as_me: Optional features: (note that included applications might not compile properly if features are disabled) - OCSP support: $ac_enable_ocsp - OpenPGP support: $ac_enable_openpgp - SRP support: $ac_enable_srp - PSK support: $ac_enable_psk - Anon auth support:$ac_enable_anon - - Trust store pkcs: $with_default_trust_store_pkcs11 - Trust store file: $with_default_trust_store_file - CRL file: $with_default_crl_file + DTLS-SRTP support: $ac_enable_srtp + ALPN support: $ac_enable_alpn + OCSP support: $ac_enable_ocsp + Ses. ticket support: $ac_enable_session_tickets + OpenPGP support: $ac_enable_openpgp + SRP support: $ac_enable_srp + PSK support: $ac_enable_psk + DHE support: $ac_enable_dhe + ECDHE support: $ac_enable_ecdhe + RSA-EXPORT support: $ac_enable_rsa_export + Anon auth support: $ac_enable_anon + Heartbeat support: $ac_enable_heartbeat + Unicode support: $ac_have_unicode + Self checks: $enable_self_checks + Non-SuiteB curves: $enable_non_suiteb + FIPS140 mode: $enable_fips " >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Optional applications: - crywrap app: $libidn - local libopts: $enable_local_libopts + crywrap app: $libidn " >&5 $as_echo "$as_me: Optional applications: - crywrap app: $libidn - local libopts: $enable_local_libopts + crywrap app: $libidn " >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Optional libraries: - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL compat: $enable_openssl + Guile wrappers: $opt_guile_bindings + C++ library: $use_cxx + DANE library: $enable_dane + OpenSSL compat: $enable_openssl " >&5 $as_echo "$as_me: Optional libraries: - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL compat: $enable_openssl + Guile wrappers: $opt_guile_bindings + C++ library: $use_cxx + DANE library: $enable_dane + OpenSSL compat: $enable_openssl " >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Hardware acceleration/support: +{ $as_echo "$as_me:${as_lineno-$LINENO}: System files: - /dev/crypto: $enable_cryptodev - Hardware accel: $hw_accel - PKCS#11 support: $with_p11_kit + Trust store pkcs11: $with_default_trust_store_pkcs11 + Trust store file: $with_default_trust_store_file + Blacklist file: $with_default_blacklist_file + CRL file: $with_default_crl_file + Priority file: $system_priority_file + DNSSEC root key file: $unbound_root_key_file " >&5 -$as_echo "$as_me: Hardware acceleration/support: - - /dev/crypto: $enable_cryptodev - Hardware accel: $hw_accel - PKCS#11 support: $with_p11_kit +$as_echo "$as_me: System files: + + Trust store pkcs11: $with_default_trust_store_pkcs11 + Trust store file: $with_default_trust_store_file + Blacklist file: $with_default_blacklist_file + CRL file: $with_default_crl_file + Priority file: $system_priority_file + DNSSEC root key file: $unbound_root_key_file " >&6;} + +if test ! -f "$unbound_root_key_file"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +*** +*** The DNSSEC root key file in $unbound_root_key_file was not found. +*** This file is needed for the verification of DNSSEC responses. +*** Use the command: unbound-anchor -a \"$unbound_root_key_file\" +*** to generate or update it. +*** " >&5 +$as_echo "$as_me: WARNING: +*** +*** The DNSSEC root key file in $unbound_root_key_file was not found. +*** This file is needed for the verification of DNSSEC responses. +*** Use the command: unbound-anchor -a \"$unbound_root_key_file\" +*** to generate or update it. +*** " >&2;} +fi diff --git a/configure.ac b/configure.ac index 6d58145..25796ca 100644 --- a/configure.ac +++ b/configure.ac @@ -21,12 +21,12 @@ dnl Process this file with autoconf to produce a configure script. # USA AC_PREREQ(2.61) -AC_INIT([GnuTLS], [3.0.30], [bug-gnutls@gnu.org]) +AC_INIT([GnuTLS], [3.3.5], [bugs@gnutls.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz dist-lzip -Wall -Wno-override]) +AM_INIT_AUTOMAKE([1.12.2 subdir-objects no-dist-gzip dist-xz dist-lzip -Wall -Wno-override]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS([config.h]) @@ -37,14 +37,26 @@ AC_MSG_RESULT([*** dnl Checks for programs. AC_PROG_CC gl_EARLY - +ggl_EARLY AM_PROG_AS +AM_PROG_AR AC_PROG_CXX +AM_PROG_CC_C_O +AC_PROG_YACC +AC_CHECK_PROG([AUTOGEN], [autogen], [autogen], [/bin/true]) + +if test x"$AUTOGEN" = "x/bin/true"; then + AC_MSG_WARN([[ +*** +*** autogen not found. Will not link against libopts. +*** ]]) +enable_local_libopts=yes +fi # For includes/gnutls/gnutls.h.in. AC_SUBST(MAJOR_VERSION, `echo $PACKAGE_VERSION | sed 's/\(.*\)\..*\..*/\1/g'`) AC_SUBST(MINOR_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\.\(.*\)\..*/\1/g'`) -AC_SUBST(PATCH_VERSION, `echo $PACKAGE_VERSION | sed 's/.*\..*\.\(.*\)/\1/g'`) +AC_SUBST(PATCH_VERSION, [[`echo $PACKAGE_VERSION | sed 's/.*\..*\.\([0-9]*\).*/\1/g'`]]) AC_SUBST(NUMBER_VERSION, `printf "0x%02x%02x%02x" $MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION`) touch suppressions.valgrind @@ -110,104 +122,75 @@ AM_CONDITIONAL(ASM_X86, test x"$hw_accel" = x"x86" || test x"$hw_accel" = x"x86- AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"]) AM_CONDITIONAL(HAVE_GCC, test "$GCC" = "yes") + dnl Try the hooks.m4 LIBGNUTLS_HOOKS LIBGNUTLS_EXTRA_HOOKS +AC_ARG_ENABLE(doc, + AS_HELP_STRING([--disable-doc], [don't generate any documentation]), + enable_doc=$enableval, enable_doc=yes) +AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no") + +AC_ARG_ENABLE(tests, + AS_HELP_STRING([--disable-tests], [don't compile or run any tests]), + enable_tests=$enableval, enable_tests=yes) +AM_CONDITIONAL(ENABLE_TESTS, test "$enable_tests" != "no") + GTK_DOC_CHECK(1.1) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.18]) AC_C_BIGENDIAN - - dnl No fork on MinGW, disable some self-tests until we fix them. -AC_CHECK_FUNCS([fork getrusage getpwuid_r daemon],,) +dnl Check clock_gettime and pthread_mutex_lock in libc (avoid linking to other libs) +AC_CHECK_FUNCS([fork getrusage getpwuid_r nanosleep daemon getpid clock_gettime iconv localtime vasprintf],,) AM_CONDITIONAL(HAVE_FORK, test "$ac_cv_func_fork" != "no") -AC_LIB_HAVE_LINKFLAGS(pthread,, [#include ], [pthread_mutex_lock (0);]) - -dnl Check for p11-kit -AC_ARG_WITH(p11-kit, - AS_HELP_STRING([--without-p11-kit], - [Build without p11-kit and PKCS#11 support])) -if test "$with_p11_kit" != "no"; then - PKG_CHECK_MODULES(P11_KIT, [p11-kit-1 >= 0.11], [with_p11_kit=yes], [with_p11_kit=no]) - if test "$with_p11_kit" != "no";then - AC_DEFINE([ENABLE_PKCS11], 1, [Build PKCS#11 support]) - if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then - GNUTLS_REQUIRES_PRIVATE="Requires.private: p11-kit-1" - else - GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, p11-kit-1" - fi - else - with_p11_kit=no - AC_MSG_WARN([[ -*** -*** p11-kit was not found. PKCS #11 support will be disabled. -*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html -*** ]]) - fi -fi -AM_CONDITIONAL(ENABLE_PKCS11, test "$with_p11_kit" != "no") - -enable_local_libopts=yes -dnl PKG_CHECK_MODULES([autoopts], autoopts >= 36.2.11,, [enable_local_libopts=yes]) +AC_LIB_HAVE_LINKFLAGS(rt,, [#include +#include +], [timer_create (0,0,0);]) -NEED_LIBOPTS_DIR=true -LIBOPTS_CHECK([src/libopts]) +if test "$have_win" != "yes";then + AC_CHECK_FUNCS([pthread_mutex_lock],,) + if test "$ac_cv_func_pthread_mutex_lock" != "yes";then + AC_LIB_HAVE_LINKFLAGS(pthread,, [#include ], [pthread_mutex_lock (0);]) + fi +fi -AC_CHECK_TYPE(ssize_t, - [ - DEFINE_SSIZE_T="#include " - AC_SUBST(DEFINE_SSIZE_T) - ], [ - AC_DEFINE([NO_SSIZE_T], 1, [no ssize_t type was found]) - DEFINE_SSIZE_T="typedef int ssize_t;" - AC_SUBST(DEFINE_SSIZE_T) - ], [ - #include - ]) +if test "$ac_cv_func_nanosleep" != "yes";then + AC_LIB_HAVE_LINKFLAGS(rt,, [#include ], [nanosleep (0, 0);]) + gnutls_needs_librt=yes +fi -# For minitasn1. -AC_CHECK_SIZEOF(unsigned long int, 4) -AC_CHECK_SIZEOF(unsigned int, 4) +if test "$ac_cv_func_clock_gettime" != "yes";then + AC_LIB_HAVE_LINKFLAGS(rt,, [#include ], [clock_gettime (0, 0);]) + gnutls_needs_librt=yes +fi -AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib], - [disable zlib compression support]), - ac_zlib=$withval, ac_zlib=yes) -AC_MSG_CHECKING([whether to include zlib compression support]) -if test x$ac_zlib != xno; then - AC_MSG_RESULT(yes) - AC_LIB_HAVE_LINKFLAGS(z,, [#include ], [compress (0, 0, 0, 0);]) - if test x$ac_cv_libz != xyes; then - AC_MSG_WARN( -*** -*** ZLIB was not found. You will not be able to use ZLIB compression.) - fi +ac_have_unicode=no +if test "$ac_cv_func_iconv" != "yes";then + AC_LIB_HAVE_LINKFLAGS(iconv,, [#include ], [iconv (0, 0, 0, 0, 0);]) + if test "$HAVE_LIBICONV" = "yes";then + ac_have_unicode=yes + fi else - AC_MSG_RESULT(no) + ac_have_unicode=yes fi -PKG_CHECK_EXISTS(zlib, ZLIB_HAS_PKGCONFIG=y, ZLIB_HAS_PKGCONFIG=n) - -if test x$ac_zlib != xno; then - if test "$ZLIB_HAS_PKGCONFIG" = "y" ; then - if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then - GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib" - else - GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib" - fi - else - GNUTLS_ZLIB_LIBS_PRIVATE="$LTLIBZ" +if test "$ac_have_unicode" != "yes";then + if test "$have_win" = "yes";then + ac_have_unicode=yes fi fi -AC_SUBST(GNUTLS_REQUIRES_PRIVATE) -AC_SUBST(GNUTLS_ZLIB_LIBS_PRIVATE) - +dnl Note that g*l_INIT are run after we check for library capabilities, +dnl to prevent issues from caching lib dependencies. See discussion +dnl in https://bugs.gentoo.org/show_bug.cgi?id=494940 and +dnl http://gnu-autoconf.7623.n7.nabble.com/Correct-way-to-check-for-clock-gettime-td12276.html gl_INIT +ggl_INIT dnl GCC warnings to enable @@ -223,7 +206,7 @@ AC_ARG_ENABLE([gcc-warnings], ) if test "$gl_gcc_warnings" = yes; then - gl_WARN_ADD([-Wframe-larger-than=5120], [WSTACK_CFLAGS]) + gl_WARN_ADD([-Wframe-larger-than=1024], [WSTACK_CFLAGS]) nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings nw="$nw -Wc++-compat" # We don't care about C++ compilers @@ -248,6 +231,12 @@ if test "$gl_gcc_warnings" = yes; then nw="$nw -Wunsafe-loop-optimizations" nw="$nw -Wstrict-overflow" nw="$nw -Wmissing-noreturn" + nw="$nw -Winline" # Too compiler dependent + nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes? + nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes? + nw="$nw -Wsuggest-attribute=noreturn" # Is it worth using attributes? + nw="$nw -Wstack-protector" # Some functions cannot be protected + nw="$nw -Wredundant-decls" # Some files cannot be compiled with that (gl_fd_to_handle) gl_MANYWARN_ALL_GCC([ws]) gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw]) @@ -257,16 +246,11 @@ if test "$gl_gcc_warnings" = yes; then gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one gl_WARN_ADD([-Wno-format-y2k]) # Too many warnings for now - gl_WARN_ADD([-Wno-suggest-attribute=pure]) # Too many warnings for now - gl_WARN_ADD([-Wno-suggest-attribute=const]) # Too many warnings for now - gl_WARN_ADD([-Wno-suggest-attribute=noreturn]) # Too many warnings for now gl_WARN_ADD([-Wno-unused-value]) # warnings for things we don't want to get gl_WARN_ADD([-Wno-unused-result]) # warnings for things we don't want to get gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now - gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now gl_WARN_ADD([-Wno-stack-protector]) # Some functions cannot be protected gl_WARN_ADD([-Wno-int-to-pointer-cast]) # Some files cannot be compiled with that (gl_fd_to_handle) - gl_WARN_ADD([-Wno-redundant-decls]) # Some files cannot be compiled with that (gl_fd_to_handle) gl_WARN_ADD([-fdiagnostics-show-option]) fi @@ -276,8 +260,225 @@ AC_SUBST([WARN_CFLAGS]) dnl Programs for compilation or development AC_PROG_LN_S -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL +LT_INIT([disable-static,win32-dll,shared]) + + + +AC_ARG_ENABLE(self-checks, + AS_HELP_STRING([--enable-self-checks], [enable self checking functionality]), + enable_self_checks=$enableval, enable_self_checks=no) + +AC_ARG_ENABLE(fips140-mode, + AS_HELP_STRING([--enable-fips140-mode], [enable FIPS140-2 mode (implies self checks)]), + enable_fips=$enableval, enable_fips=no) +AM_CONDITIONAL(ENABLE_FIPS140, test "$enable_fips" = "yes") +if [ test "$enable_fips" = "yes" ];then + AC_LIB_HAVE_LINKFLAGS(dl,, [#include ], [dladdr (0, 0);]) + if test "x$HAVE_LIBDL" = "xyes";then + enable_self_checks=yes + + AC_DEFINE([ENABLE_FIPS140], 1, [Enable FIPS140-2 mode]) + + AC_SUBST([FIPS140_LIBS], $LIBDL) + else + enable_fips=no + AC_MSG_WARN([[ +*** +*** This system is not supported in FIPS140 mode. +*** libdl and dladdr() are required. +*** ]]) + fi +fi + +AC_ARG_ENABLE(non-suiteb-curves, + AS_HELP_STRING([--disable-non-suiteb-curves], [disable curves not in SuiteB]), + enable_non_suiteb=$enableval, enable_non_suiteb=yes) +if [ test "$enable_non_suiteb" = "yes" ];then + AC_DEFINE([ENABLE_NON_SUITEB_CURVES], 1, [Enable all curves]) +fi + +AM_CONDITIONAL(ENABLE_SELF_CHECKS, test "$enable_self_checks" = "yes") +if [ test "$enable_self_checks" = "yes" ];then + AC_DEFINE([ENABLE_SELF_CHECKS], 1, [Self checks are included in the library]) +fi + +AC_MSG_CHECKING([whether to build libdane]) +AC_ARG_ENABLE(libdane, + AS_HELP_STRING([--disable-libdane], + [disable the built of libdane]), + enable_dane=$enableval, enable_dane=yes) +AC_MSG_RESULT($enable_dane) + +if test "$enable_dane" != "no"; then + LIBS="$oldlibs -lunbound" + AC_MSG_CHECKING([for unbound library]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include ],[ + struct ub_ctx* ctx; + ctx = ub_ctx_create();])], + [AC_MSG_RESULT(yes) + AC_SUBST([UNBOUND_LIBS], [-lunbound]) + AC_SUBST([UNBOUND_CFLAGS], []) + AC_DEFINE([HAVE_DANE], 1, [Enable the DANE library]) + enable_dane=yes], + [AC_MSG_RESULT(no) + AC_MSG_WARN([[ +*** +*** libunbound was not found. Libdane will not be built. +*** ]]) + enable_dane=no]) + LIBS="$oldlibs" +fi + +AM_CONDITIONAL(ENABLE_DANE, test "$enable_dane" = "yes") + +AC_ARG_WITH(unbound-root-key-file, AS_HELP_STRING([--with-unbound-root-key-file], + [specify the unbound root key file]), + unbound_root_key_file="$withval", +if test "$have_win" = yes; then + unbound_root_key_file="C:\\Program Files\\Unbound\\root.key" +else + if test -f /var/lib/unbound/root.key;then + unbound_root_key_file="/var/lib/unbound/root.key" + else + unbound_root_key_file="/etc/unbound/root.key" + fi +fi +) + +AC_DEFINE_UNQUOTED([UNBOUND_ROOT_KEY_FILE], + ["$unbound_root_key_file"], [The DNSSEC root key file]) + +AC_ARG_WITH(system-priority-file, AS_HELP_STRING([--with-system-priority-file], + [specify the system priority file]), + system_priority_file="$withval", +system_priority_file="/etc/gnutls/default-priorities" +) + +AC_DEFINE_UNQUOTED([SYSTEM_PRIORITY_FILE], + ["$system_priority_file"], [The system priority file]) + +dnl Check for p11-kit +P11_KIT_MINIMUM=0.20.0 +AC_ARG_WITH(p11-kit, + AS_HELP_STRING([--without-p11-kit], + [Build without p11-kit and PKCS#11 support])) +if test "$with_p11_kit" != "no"; then + PKG_CHECK_MODULES(P11_KIT, [p11-kit-1 >= $P11_KIT_MINIMUM], [with_p11_kit=yes], [with_p11_kit=no]) + if test "$with_p11_kit" != "no";then + AC_DEFINE([ENABLE_PKCS11], 1, [Build PKCS#11 support]) + if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then + GNUTLS_REQUIRES_PRIVATE="Requires.private: p11-kit-1" + else + GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, p11-kit-1" + fi + else + with_p11_kit=no + AC_MSG_WARN([[ +*** +*** p11-kit >= $P11_KIT_MINIMUM was not found. PKCS #11 support will be disabled. +*** You may get it from http://p11-glue.freedesktop.org/p11-kit.html +*** ]]) + fi +fi + +AM_CONDITIONAL(ENABLE_PKCS11, test "$with_p11_kit" != "no") + +AC_ARG_WITH(tpm, + AS_HELP_STRING([--without-tpm], + [Disable TPM (trousers) support.]), + [with_tpm=$withval], [with_tpm=yes]) +if test "$with_tpm" != "no"; then + LIBS="$oldlibs -ltspi" + AC_MSG_CHECKING([for tss library]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include + #include ],[ + int err = Tspi_Context_Create((void *)0); + Trspi_Error_String(err);])], + [AC_MSG_RESULT(yes) + AC_SUBST([TSS_LIBS], [-ltspi]) + AC_SUBST([TSS_CFLAGS], []) + AC_DEFINE([HAVE_TROUSERS], 1, [Enable TPM]) + with_tpm=yes], + [AC_MSG_RESULT(no) + AC_MSG_WARN([[ +*** +*** trousers was not found. TPM support will be disabled. +*** ]]) + with_tpm=no]) + LIBS="$oldlibs" +fi + +AM_CONDITIONAL(ENABLE_TROUSERS, test "$with_tpm" != "no") + +LIBOPTS_CHECK([src/libopts]) +if test "$NEED_LIBOPTS_DIR" = "true";then + dnl replace libopts-generated files with distributed backups, if present + missing_baks= + for i in ${srcdir}/src/*-args.c.bak ${srcdir}/src/*-args.h.bak; do + nam=`echo $i|sed 's/.bak//g'` + if test -f $i;then + cp -f $i $nam + else + missing_baks=true + fi + done + if test -z "$missing_baks"; then + AC_SUBST([AUTOGEN], [/bin/true]) + fi + enable_local_libopts=yes +else + enable_local_libopts=no +fi +AM_CONDITIONAL(NEED_LIBOPTS, test "$enable_local_libopts" = "yes") + +AC_CHECK_TYPE(ssize_t, + [ + DEFINE_SSIZE_T="#include " + AC_SUBST(DEFINE_SSIZE_T) + ], [ + AC_DEFINE([NO_SSIZE_T], 1, [no ssize_t type was found]) + DEFINE_SSIZE_T="typedef int ssize_t;" + AC_SUBST(DEFINE_SSIZE_T) + ], [ + #include + ]) + +# For minitasn1. +AC_CHECK_SIZEOF(unsigned long int, 4) +AC_CHECK_SIZEOF(unsigned int, 4) + +AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib], + [disable zlib compression support]), + ac_zlib=$withval, ac_zlib=yes) +AC_MSG_CHECKING([whether to include zlib compression support]) +if test x$ac_zlib != xno; then + AC_MSG_RESULT(yes) + AC_LIB_HAVE_LINKFLAGS(z,, [#include ], [compress (0, 0, 0, 0);]) + if test x$ac_cv_libz != xyes; then + AC_MSG_WARN( +*** +*** ZLIB was not found. You will not be able to use ZLIB compression.) + fi +else + AC_MSG_RESULT(no) +fi + +PKG_CHECK_EXISTS(zlib, ZLIB_HAS_PKGCONFIG=y, ZLIB_HAS_PKGCONFIG=n) + +if test x$ac_zlib != xno; then + if test "$ZLIB_HAS_PKGCONFIG" = "y" ; then + if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then + GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib" + else + GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib" + fi + fi +fi +AC_SUBST(GNUTLS_REQUIRES_PRIVATE) + + AC_ARG_WITH([default-trust-store-pkcs11], [AS_HELP_STRING([--with-default-trust-store-pkcs11=URI], @@ -291,15 +492,11 @@ if test "x$with_default_trust_store_pkcs11" != x; then ["$with_default_trust_store_pkcs11"], [use the given pkcs11 uri as default trust store]) fi -AC_ARG_WITH([default-crl-file], - [AS_HELP_STRING([--with-default-crl-file=FILE], - [use the given CRL file as default])]) - dnl auto detect http://lists.gnu.org/archive/html/help-gnutls/2012-05/msg00004.html AC_ARG_WITH([default-trust-store-file], [AS_HELP_STRING([--with-default-trust-store-file=FILE], [use the given file default trust store])], with_default_trust_store_file="$withval", - [if test "$build" = "$host";then + [if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x;then for i in \ /etc/ssl/ca-bundle.pem \ /etc/ssl/certs/ca-certificates.crt \ @@ -307,7 +504,7 @@ AC_ARG_WITH([default-trust-store-file], /usr/local/share/certs/ca-root-nss.crt \ /etc/ssl/cert.pem do - if test -e $i; then + if test -e "$i"; then with_default_trust_store_file="$i" break fi @@ -319,6 +516,14 @@ if test "$with_default_trust_store_file" = "no";then with_default_trust_store_file="" fi +AC_ARG_WITH([default-crl-file], + [AS_HELP_STRING([--with-default-crl-file=FILE], + [use the given CRL file as default])]) + +AC_ARG_WITH([default-blacklist-file], + [AS_HELP_STRING([--with-default-blacklist-file=FILE], + [use the given certificate blacklist file as default])]) + if test "x$with_default_trust_store_file" != x; then AC_DEFINE_UNQUOTED([DEFAULT_TRUST_STORE_FILE], ["$with_default_trust_store_file"], [use the given file default trust store]) @@ -329,6 +534,11 @@ if test "x$with_default_crl_file" != x; then ["$with_default_crl_file"], [use the given CRL file]) fi +if test "x$with_default_blacklist_file" != x; then + AC_DEFINE_UNQUOTED([DEFAULT_BLACKLIST_FILE], + ["$with_default_blacklist_file"], [use the given certificate blacklist file]) +fi + dnl Guile bindings. opt_guile_bindings=yes AC_MSG_CHECKING([whether building Guile bindings]) @@ -337,7 +547,7 @@ AC_ARG_ENABLE(guile, opt_guile_bindings=$enableval) AC_MSG_RESULT($opt_guile_bindings) -AC_ARG_WITH([--with-guile-site-dir], +AC_ARG_WITH([guile-site-dir], [AS_HELP_STRING([--with-guile-site-dir], [use the given directory as the Guile site (use with care)])]) @@ -359,7 +569,7 @@ if test "$opt_guile_bindings" = "yes"; then CFLAGS="$CFLAGS $GUILE_CFLAGS" LIBS="$LIBS $GUILE_LDFLAGS" AC_MSG_CHECKING([whether GNU Guile is recent enough]) - AC_LINK_IFELSE(AC_LANG_CALL([], [scm_from_locale_string]), + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [scm_from_locale_string ("")])], [], [opt_guile_bindings=no]) CFLAGS="$save_CFLAGS" LIBS="$save_LIBS" @@ -421,6 +631,7 @@ LIBGNUTLS_CFLAGS="-I${includedir}" AC_SUBST(LIBGNUTLS_LIBS) AC_SUBST(LIBGNUTLS_CFLAGS) +AM_CONDITIONAL(NEEDS_LIBRT, test "$gnutls_needs_librt" = "yes") AC_DEFINE([GNUTLS_COMPAT_H], 1, [Make sure we don't use old features in code.]) AC_DEFINE([GNUTLS_INTERNAL_BUILD], 1, [We allow temporarily usage of deprecated functions - until they are removed.]) @@ -465,18 +676,23 @@ AC_ARG_ENABLE(crywrap, if test "x$enable_crywrap" != "xno" ; then PKG_CHECK_MODULES(LIBIDN, libidn >= 0.0.0, [libidn=yes], [libidn=no]) + AC_CHECK_FUNCS([argp_usage],[ac_argp=yes],[ac_argp=no]) fi - if test "x$libidn" != "xno" && test "$ac_cv_func_daemon" != "no";then + if test "x$libidn" != "xno" && test "$ac_cv_func_daemon" != "no" && test "$ac_argp" != "no";then crywrap=yes fi fi AM_CONDITIONAL(ENABLE_CRYWRAP, test "x$crywrap" != "xno") -rm -f suppressions.valgrind + dnl end of crywrap requirements +dnl Some variables needed in makefiles +YEAR=`date +%Y` +AC_SUBST([YEAR], $YEAR) + AC_CONFIG_FILES([guile/pre-inst-guile], [chmod +x guile/pre-inst-guile]) AC_CONFIG_FILES([ Makefile @@ -495,6 +711,9 @@ AC_CONFIG_FILES([ doc/scripts/Makefile extra/Makefile extra/includes/Makefile + libdane/Makefile + libdane/includes/Makefile + libdane/gnutls-dane.pc gl/Makefile gl/tests/Makefile guile/Makefile @@ -519,13 +738,14 @@ AC_CONFIG_FILES([ po/Makefile.in src/Makefile src/crywrap/Makefile + src/gl/Makefile tests/Makefile tests/cert-tests/Makefile tests/dsa/Makefile tests/dtls/Makefile tests/srp/Makefile tests/ecdsa/Makefile - tests/key-id/Makefile + tests/key-tests/Makefile tests/openpgp-certs/Makefile tests/pkcs1-padding/Makefile tests/pkcs12-decode/Makefile @@ -541,49 +761,81 @@ AC_CONFIG_FILES([ AC_OUTPUT +dnl Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} +dnl Valgrind: $opt_valgrind_tests ${VALGRIND} AC_MSG_NOTICE([summary of build options: - version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE - Host type: ${host} - Install prefix: ${prefix} - Compiler: ${CC} - CFlags: ${CFLAGS} - Warning flags: errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS} - Library types: Shared=${enable_shared}, Static=${enable_static} - Valgrind: $opt_valgrind_tests ${VALGRIND} + version: ${VERSION} shared $LT_CURRENT:$LT_REVISION:$LT_AGE + Host/Target system: ${host} + Build system: ${build} + Install prefix: ${prefix} + Compiler: ${CC} + CFlags: ${CFLAGS} + Library types: Shared=${enable_shared}, Static=${enable_static} + Local libopts: ${enable_local_libopts} + Local libtasn1: ${included_libtasn1} + Use nettle-mini: ${mini_nettle} +]) + +AC_MSG_NOTICE([External hardware support: + + /dev/crypto: $enable_cryptodev + Hardware accel: $hw_accel + PKCS#11 support: $with_p11_kit + TPM support: $with_tpm ]) AC_MSG_NOTICE([Optional features: (note that included applications might not compile properly if features are disabled) - OCSP support: $ac_enable_ocsp - OpenPGP support: $ac_enable_openpgp - SRP support: $ac_enable_srp - PSK support: $ac_enable_psk - Anon auth support:$ac_enable_anon - - Trust store pkcs: $with_default_trust_store_pkcs11 - Trust store file: $with_default_trust_store_file - CRL file: $with_default_crl_file + DTLS-SRTP support: $ac_enable_srtp + ALPN support: $ac_enable_alpn + OCSP support: $ac_enable_ocsp + Ses. ticket support: $ac_enable_session_tickets + OpenPGP support: $ac_enable_openpgp + SRP support: $ac_enable_srp + PSK support: $ac_enable_psk + DHE support: $ac_enable_dhe + ECDHE support: $ac_enable_ecdhe + RSA-EXPORT support: $ac_enable_rsa_export + Anon auth support: $ac_enable_anon + Heartbeat support: $ac_enable_heartbeat + Unicode support: $ac_have_unicode + Self checks: $enable_self_checks + Non-SuiteB curves: $enable_non_suiteb + FIPS140 mode: $enable_fips ]) AC_MSG_NOTICE([Optional applications: - crywrap app: $libidn - local libopts: $enable_local_libopts + crywrap app: $libidn ]) AC_MSG_NOTICE([Optional libraries: - Guile wrappers: $opt_guile_bindings - C++ library: $use_cxx - OpenSSL compat: $enable_openssl + Guile wrappers: $opt_guile_bindings + C++ library: $use_cxx + DANE library: $enable_dane + OpenSSL compat: $enable_openssl ]) -AC_MSG_NOTICE([Hardware acceleration/support: +AC_MSG_NOTICE([System files: - /dev/crypto: $enable_cryptodev - Hardware accel: $hw_accel - PKCS#11 support: $with_p11_kit + Trust store pkcs11: $with_default_trust_store_pkcs11 + Trust store file: $with_default_trust_store_file + Blacklist file: $with_default_blacklist_file + CRL file: $with_default_crl_file + Priority file: $system_priority_file + DNSSEC root key file: $unbound_root_key_file ]) + +if test ! -f "$unbound_root_key_file"; then +AC_MSG_WARN([[ +*** +*** The DNSSEC root key file in $unbound_root_key_file was not found. +*** This file is needed for the verification of DNSSEC responses. +*** Use the command: unbound-anchor -a "$unbound_root_key_file" +*** to generate or update it. +*** ]]) +fi diff --git a/doc/Makefile.am b/doc/Makefile.am index b63e497..d132751 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -21,93 +21,116 @@ EXTRA_DIST = TODO certtool.cfg gnutls.pdf gnutls.html \ doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css \ - gnutls-guile.pdf gnutls-guile.html stamp_enums stamp_functions + gnutls-guile.pdf gnutls-guile.html stamp_enums stamp_functions \ + doc.mk SUBDIRS = examples cyclo scripts manpages credentials latex if ENABLE_GTK_DOC SUBDIRS += reference endif -SRC_DEF_CLI = -SRC_DEF_CLI_DEBUG = -SRC_DEF_SERV = -SRC_DEF_CERTTOOL = -SRC_DEF_OCSPTOOL = -SRC_DEF_SRPTOOL = -SRC_DEF_PSKTOOL = -SRC_DEF_P11TOOL = -if WANT_TEST_SUITE -SRC_DEF_CLI += ../src/cli-args.def -SRC_DEF_CLI_DEBUG += ../src/cli-debug-args.def -SRC_DEF_SERV += ../src/serv-args.def -SRC_DEF_CERTTOOL += ../src/certtool-args.def -SRC_DEF_OCSPTOOL += ../src/ocsptool-args.def -SRC_DEF_SRPTOOL += ../src/srptool-args.def -SRC_DEF_PSKTOOL += ../src/psk-args.def -SRC_DEF_P11TOOL += ../src/p11tool-args.def -endif - -invoke-gnutls-cli.texi: $(SRC_DEF_CLI) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-gnutls-cli-debug.texi: $(SRC_DEF_CLI_DEBUG) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-gnutls-serv.texi: $(SRC_DEF_SERV) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-certtool.texi: $(SRC_DEF_CERTTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-ocsptool.texi: $(SRC_DEF_OCSPTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-srptool.texi: $(SRC_DEF_SRPTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ - -invoke-psktool.texi: $(SRC_DEF_PSKTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ - -invoke-p11tool.texi: $(SRC_DEF_P11TOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ +-include $(top_srcdir)/doc/doc.mk + +invoke-gnutls-cli.texi: $(top_srcdir)/src/cli-args.def + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-gnutls-cli-debug.texi: $(top_srcdir)/src/cli-debug-args.def invoke-gnutls-cli.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-gnutls-serv.texi: $(top_srcdir)/src/serv-args.def invoke-gnutls-cli-debug.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-certtool.texi: $(top_srcdir)/src/certtool-args.def invoke-gnutls-serv.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-ocsptool.texi: $(top_srcdir)/src/ocsptool-args.def invoke-certtool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-danetool.texi: $(top_srcdir)/src/danetool-args.def invoke-ocsptool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-srptool.texi: $(top_srcdir)/src/srptool-args.def invoke-danetool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsubsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-psktool.texi: $(top_srcdir)/src/psktool-args.def invoke-srptool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsubsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-p11tool.texi: $(top_srcdir)/src/p11tool-args.def invoke-psktool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-tpmtool.texi: $(top_srcdir)/src/tpmtool-args.def invoke-p11tool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp info_TEXINFOS = gnutls.texi gnutls-guile.texi gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi \ @@ -116,11 +139,13 @@ gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi \ cha-gtls-app.texi cha-internals.texi cha-intro-tls.texi \ cha-library.texi cha-preface.texi cha-programs.texi \ sec-tls-app.texi cha-errors.texi cha-support.texi \ - cha-shared-key.texi cha-gtls-examples.texi cha-upgrade.texi + cha-shared-key.texi cha-gtls-examples.texi cha-upgrade.texi \ + cha-tokens.texi cha-crypto.texi cha-auth.texi -gnutls_TEXINFOS += invoke-gnutls-cli.texi invoke-gnutls-cli-debug.texi \ +AUTOGENED_DOC = invoke-gnutls-cli.texi invoke-gnutls-cli-debug.texi \ invoke-gnutls-serv.texi invoke-certtool.texi invoke-srptool.texi \ - invoke-ocsptool.texi invoke-psktool.texi invoke-p11tool.texi + invoke-ocsptool.texi invoke-psktool.texi invoke-p11tool.texi \ + invoke-tpmtool.texi invoke-danetool.texi gnutls_TEXINFOS += stamp_functions @@ -175,50 +200,61 @@ MAINTAINERCLEANFILES = # Generated texinfos. -gnutls_TEXINFOS += gnutls-api.texi x509-api.texi pgp-api.texi \ - pkcs12-api.texi pkcs11-api.texi abstract-api.texi \ - compat-api.texi dtls-api.texi crypto-api.texi ocsp-api.texi +API_FILES=gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi \ + tpm-api.texi pkcs11-api.texi abstract-api.texi compat-api.texi \ + dtls-api.texi crypto-api.texi ocsp-api.texi tpm-api.texi dane-api.texi + +clean-local: + -rm -f stamp_enums stamp_functions + -rm -rf functions/ enums/ + -rm -f $(API_FILES) -MAINTAINERCLEANFILES += gnutls-api.texi x509-api.texi pgp-api.texi \ - pkcs12-api.texi pkcs11-api.texi abstract-api.texi \ - compat-api.texi dtls-api.texi crypto-api.texi ocsp-api.texi +gnutls_TEXINFOS += $(API_FILES) -HEADER_FILES = $(top_srcdir)/lib/includes/gnutls/gnutls.h.in \ - $(top_srcdir)/lib/includes/gnutls/x509.h $(top_srcdir)/lib/includes/gnutls/openpgp.h \ - $(top_srcdir)/lib/includes/gnutls/pkcs12.h $(top_srcdir)/lib/includes/gnutls/pkcs11.h \ - $(top_srcdir)/lib/includes/gnutls/abstract.h $(top_srcdir)/lib/includes/gnutls/compat.h \ - $(top_srcdir)/lib/includes/gnutls/dtls.h $(top_srcdir)/lib/includes/gnutls/crypto.h \ - $(top_srcdir)/lib/includes/gnutls/ocsp.h +MAINTAINERCLEANFILES += $(API_FILES) gnutls-api.texi: $(top_srcdir)/lib/includes/gnutls/gnutls.h.in echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/gnutls.h.in|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ + $(srcdir)/scripts/gdoc -texinfo \ + -function $$i \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ + echo "ok"; \ + done + mv -f $@-tmp $@ + +dane-api.texi: $(top_srcdir)/libdane/includes/gnutls/dane.h + echo "" > $@-tmp + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ -x509-api.texi: $(top_srcdir)/lib/includes/gnutls/x509.h +x509-api.texi: $(top_srcdir)/lib/includes/gnutls/x509.h $(top_srcdir)/lib/includes/gnutls/x509-ext.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/x509.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + cat $^ > $@-tmp2 + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $@-tmp2 |sort |uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done + rm -f $@-tmp2 mv -f $@-tmp $@ pgp-api.texi: $(top_srcdir)/lib/includes/gnutls/openpgp.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/openpgp.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ @@ -226,77 +262,88 @@ pgp-api.texi: $(top_srcdir)/lib/includes/gnutls/openpgp.h pkcs12-api.texi: $(top_srcdir)/lib/includes/gnutls/pkcs12.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/pkcs12.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ pkcs11-api.texi: $(top_srcdir)/lib/includes/gnutls/pkcs11.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/pkcs11.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ + echo "ok"; \ + done + mv -f $@-tmp $@ + +tpm-api.texi: $(top_srcdir)/lib/includes/gnutls/tpm.h + echo "" > $@-tmp + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ + $(srcdir)/scripts/gdoc -texinfo \ + -function $$i \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ abstract-api.texi: $(top_srcdir)/lib/includes/gnutls/abstract.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/abstract.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ compat-api.texi: $(top_srcdir)/lib/includes/gnutls/compat.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/compat.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ dtls-api.texi: $(top_srcdir)/lib/includes/gnutls/dtls.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/dtls.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ crypto-api.texi: $(top_srcdir)/lib/includes/gnutls/crypto.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/crypto.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ ocsp-api.texi: $(top_srcdir)/lib/includes/gnutls/ocsp.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/ocsp.h|sort|uniq`; do \ - echo -n "Creating documentation for file $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ @@ -342,17 +389,19 @@ alerts.texi: $(top_srcdir)/lib/gnutls_alert.c $(srcdir)/alert-printlist.c enums.texi: $(HEADER_FILES) echo "" > $@-tmp for i in $^; do \ - echo -n "Creating documentation for $$i... " && \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo $$i >> $@-tmp && \ echo "ok"; \ done mv -f $@-tmp $@ -gnutls_TEXINFOS += $(ENUMS) $(FUNCS) +gnutls_TEXINFOS += $(ENUMS) $(FUNCS) $(AUTOGENED_DOC) DISTCLEANFILES += $(ENUMS) stamp_enums stamp_functions -stamp_functions: gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi pkcs11-api.texi abstract-api.texi compat-api.texi dtls-api.texi crypto-api.texi ocsp-api.texi + +stamp_functions: $(API_FILES) -mkdir functions + -rm -f functions/*.short for i in $^; do \ $(srcdir)/scripts/split-texi.pl functions < $$i; \ done @@ -363,34 +412,55 @@ stamp_functions: gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi pkcs stamp_enums: enums.texi -mkdir enums - $(srcdir)/scripts/split-texi.pl enums enum < $(srcdir)/enums.texi + $(srcdir)/scripts/split-texi.pl enums enum < $< echo $@ > $@ $(ENUMS): stamp_enums $(FUNCS): stamp_functions +compare-exported: + rm -f tmp-exp-$@ tmp-head-$@ + for i in ../libdane/includes/gnutls/*.h ../lib/includes/gnutls/*.h;do perl scripts/getfuncs.pl <$$i >>tmp-head-$@;done + sort -u tmp-head-$@ > tmp2-head-$@ + mv tmp2-head-$@ tmp-head-$@ + scripts/getfuncs-map.pl <../lib/libgnutls.map >tmp-exp-$@ + scripts/getfuncs-map.pl <../libdane/libdane.map >>tmp-exp-$@ + sort -u tmp-exp-$@ > tmp2-exp-$@ + mv tmp2-exp-$@ tmp-exp-$@ + @echo "******************************************************************************" + @echo "If the following step fails there is a symbol in headers that is not exported or vice-versa" + @echo "******************************************************************************" + diff -u tmp-exp-$@ tmp-head-$@ + rm -f tmp-exp-$@ tmp-head-$@ + compare-makefile: enums.texi - ENUMS=`grep '^@c ' $(srcdir)/enums.texi | sed 's/@c //g' | sort`; \ + @echo "******************************************************************************" + @echo "If the following step fails copy $(srcdir)/doc/tmp-compare-makefile to doc/Makefile.am" + @echo "******************************************************************************" + ENUMS=`grep '^@c ' $< | sed 's/@c //g' | sort -d`; \ STR=""; \ for i in $$ENUMS; do \ STR="$$STR\nENUMS += enums/$$i"; \ done; \ grep -v -e '^ENUMS += ' $(srcdir)/Makefile.am | \ perl -p -e "s,^ENUMS =,ENUMS =$$STR," > tmp-$@; \ - diff -u $(srcdir)/Makefile.am tmp-$@ + diff -u $(srcdir)/Makefile.am tmp-$@ >/dev/null rm -f tmp-$@ - FUNCS=`cat $(HEADER_FILES) | $(top_srcdir)/doc/scripts/getfuncs.pl|sort`; \ + FUNCS=`cat $(HEADER_FILES) | $(top_srcdir)/doc/scripts/getfuncs.pl|sort -d|uniq`; \ MANS=""; \ for i in $$FUNCS; do \ MANS="$$MANS\nFUNCS += functions/$$i\nFUNCS += functions/$$i.short"; \ done; \ grep -v -e '^FUNCS += ' $(srcdir)/Makefile.am > tmp-$@; \ echo "\"s,^FUNCS =,FUNCS =$$MANS,\" -i tmp-$@"|xargs sed - diff -u $(srcdir)/Makefile.am tmp-$@ + @echo "******************************************************************************" + @echo "If the following step fails copy $(srcdir)/doc/tmp-compare-makefile to doc/Makefile.am" + @echo "******************************************************************************" + diff -u $(srcdir)/Makefile.am tmp-$@ >/dev/null rm -f tmp-$@ -.PHONY: compare-makefile +.PHONY: compare-makefile compare-exported # Guile texinfos. @@ -435,6 +505,13 @@ gnutls.epub: gnutls.xml epub-fix --delete-unmanifested gnutls.epub ENUMS = +ENUMS += enums/dane_cert_type_t +ENUMS += enums/dane_cert_usage_t +ENUMS += enums/dane_match_type_t +ENUMS += enums/dane_query_status_t +ENUMS += enums/dane_state_flags_t +ENUMS += enums/dane_verify_flags_t +ENUMS += enums/dane_verify_status_t ENUMS += enums/gnutls_alert_description_t ENUMS += enums/gnutls_alert_level_t ENUMS += enums/gnutls_certificate_import_flags @@ -442,6 +519,7 @@ ENUMS += enums/gnutls_certificate_print_formats_t ENUMS += enums/gnutls_certificate_request_t ENUMS += enums/gnutls_certificate_status_t ENUMS += enums/gnutls_certificate_type_t +ENUMS += enums/gnutls_certificate_verification_profiles_t ENUMS += enums/gnutls_certificate_verify_flags ENUMS += enums/gnutls_channel_binding_t ENUMS += enums/gnutls_cipher_algorithm_t @@ -453,28 +531,74 @@ ENUMS += enums/gnutls_ecc_curve_t ENUMS += enums/gnutls_handshake_description_t ENUMS += enums/gnutls_kx_algorithm_t ENUMS += enums/gnutls_mac_algorithm_t +ENUMS += enums/gnutls_ocsp_cert_status_t +ENUMS += enums/gnutls_ocsp_print_formats_t +ENUMS += enums/gnutls_ocsp_resp_status_t +ENUMS += enums/gnutls_ocsp_verify_reason_t ENUMS += enums/gnutls_openpgp_crt_fmt_t ENUMS += enums/gnutls_openpgp_crt_status_t ENUMS += enums/gnutls_params_type_t +ENUMS += enums/gnutls_pin_flag_t ENUMS += enums/gnutls_pk_algorithm_t ENUMS += enums/gnutls_pkcs11_obj_attr_t ENUMS += enums/gnutls_pkcs11_obj_info_t ENUMS += enums/gnutls_pkcs11_obj_type_t ENUMS += enums/gnutls_pkcs11_token_info_t +ENUMS += enums/gnutls_pkcs11_url_type_t ENUMS += enums/gnutls_pkcs12_bag_type_t ENUMS += enums/gnutls_pkcs_encrypt_flags_t +ENUMS += enums/gnutls_privkey_flags_t ENUMS += enums/gnutls_privkey_type_t ENUMS += enums/gnutls_protocol_t ENUMS += enums/gnutls_psk_key_flags +ENUMS += enums/gnutls_pubkey_flags_t ENUMS += enums/gnutls_rnd_level_t ENUMS += enums/gnutls_sec_param_t ENUMS += enums/gnutls_server_name_type_t ENUMS += enums/gnutls_sign_algorithm_t +ENUMS += enums/gnutls_srtp_profile_t ENUMS += enums/gnutls_supplemental_data_format_type_t +ENUMS += enums/gnutls_tpmkey_fmt_t +ENUMS += enums/gnutls_vdata_types_t +ENUMS += enums/gnutls_x509_crl_reason_t ENUMS += enums/gnutls_x509_crt_fmt_t ENUMS += enums/gnutls_x509_subject_alt_name_t FUNCS = +FUNCS += functions/dane_cert_type_name +FUNCS += functions/dane_cert_type_name.short +FUNCS += functions/dane_cert_usage_name +FUNCS += functions/dane_cert_usage_name.short +FUNCS += functions/dane_match_type_name +FUNCS += functions/dane_match_type_name.short +FUNCS += functions/dane_query_data +FUNCS += functions/dane_query_data.short +FUNCS += functions/dane_query_deinit +FUNCS += functions/dane_query_deinit.short +FUNCS += functions/dane_query_entries +FUNCS += functions/dane_query_entries.short +FUNCS += functions/dane_query_status +FUNCS += functions/dane_query_status.short +FUNCS += functions/dane_query_tlsa +FUNCS += functions/dane_query_tlsa.short +FUNCS += functions/dane_raw_tlsa +FUNCS += functions/dane_raw_tlsa.short +FUNCS += functions/dane_state_deinit +FUNCS += functions/dane_state_deinit.short +FUNCS += functions/dane_state_init +FUNCS += functions/dane_state_init.short +FUNCS += functions/dane_state_set_dlv_file +FUNCS += functions/dane_state_set_dlv_file.short +FUNCS += functions/dane_strerror +FUNCS += functions/dane_strerror.short +FUNCS += functions/dane_verification_status_print +FUNCS += functions/dane_verification_status_print.short +FUNCS += functions/dane_verify_crt +FUNCS += functions/dane_verify_crt.short +FUNCS += functions/dane_verify_crt_raw +FUNCS += functions/dane_verify_crt_raw.short +FUNCS += functions/dane_verify_session_crt +FUNCS += functions/dane_verify_session_crt.short FUNCS += functions/gnutls_alert_get FUNCS += functions/gnutls_alert_get.short FUNCS += functions/gnutls_alert_get_name @@ -485,6 +609,10 @@ FUNCS += functions/gnutls_alert_send FUNCS += functions/gnutls_alert_send.short FUNCS += functions/gnutls_alert_send_appropriate FUNCS += functions/gnutls_alert_send_appropriate.short +FUNCS += functions/gnutls_alpn_get_selected_protocol +FUNCS += functions/gnutls_alpn_get_selected_protocol.short +FUNCS += functions/gnutls_alpn_set_protocols +FUNCS += functions/gnutls_alpn_set_protocols.short FUNCS += functions/gnutls_anon_allocate_client_credentials FUNCS += functions/gnutls_anon_allocate_client_credentials.short FUNCS += functions/gnutls_anon_allocate_server_credentials @@ -513,6 +641,8 @@ FUNCS += functions/gnutls_certificate_allocate_credentials FUNCS += functions/gnutls_certificate_allocate_credentials.short FUNCS += functions/gnutls_certificate_client_get_request_status FUNCS += functions/gnutls_certificate_client_get_request_status.short +FUNCS += functions/gnutls_certificate_client_set_retrieve_function +FUNCS += functions/gnutls_certificate_client_set_retrieve_function.short FUNCS += functions/gnutls_certificate_expiration_time_peers FUNCS += functions/gnutls_certificate_expiration_time_peers.short FUNCS += functions/gnutls_certificate_free_ca_names @@ -525,20 +655,30 @@ FUNCS += functions/gnutls_certificate_free_crls FUNCS += functions/gnutls_certificate_free_crls.short FUNCS += functions/gnutls_certificate_free_keys FUNCS += functions/gnutls_certificate_free_keys.short +FUNCS += functions/gnutls_certificate_get_crt_raw +FUNCS += functions/gnutls_certificate_get_crt_raw.short FUNCS += functions/gnutls_certificate_get_issuer FUNCS += functions/gnutls_certificate_get_issuer.short FUNCS += functions/gnutls_certificate_get_ours FUNCS += functions/gnutls_certificate_get_ours.short FUNCS += functions/gnutls_certificate_get_peers FUNCS += functions/gnutls_certificate_get_peers.short +FUNCS += functions/gnutls_certificate_get_peers_subkey_id +FUNCS += functions/gnutls_certificate_get_peers_subkey_id.short FUNCS += functions/gnutls_certificate_send_x509_rdn_sequence FUNCS += functions/gnutls_certificate_send_x509_rdn_sequence.short FUNCS += functions/gnutls_certificate_server_set_request FUNCS += functions/gnutls_certificate_server_set_request.short +FUNCS += functions/gnutls_certificate_server_set_retrieve_function +FUNCS += functions/gnutls_certificate_server_set_retrieve_function.short FUNCS += functions/gnutls_certificate_set_dh_params FUNCS += functions/gnutls_certificate_set_dh_params.short FUNCS += functions/gnutls_certificate_set_key FUNCS += functions/gnutls_certificate_set_key.short +FUNCS += functions/gnutls_certificate_set_ocsp_status_request_file +FUNCS += functions/gnutls_certificate_set_ocsp_status_request_file.short +FUNCS += functions/gnutls_certificate_set_ocsp_status_request_function +FUNCS += functions/gnutls_certificate_set_ocsp_status_request_function.short FUNCS += functions/gnutls_certificate_set_openpgp_key FUNCS += functions/gnutls_certificate_set_openpgp_key.short FUNCS += functions/gnutls_certificate_set_openpgp_key_file @@ -555,12 +695,16 @@ FUNCS += functions/gnutls_certificate_set_openpgp_keyring_mem FUNCS += functions/gnutls_certificate_set_openpgp_keyring_mem.short FUNCS += functions/gnutls_certificate_set_params_function FUNCS += functions/gnutls_certificate_set_params_function.short +FUNCS += functions/gnutls_certificate_set_pin_function +FUNCS += functions/gnutls_certificate_set_pin_function.short FUNCS += functions/gnutls_certificate_set_retrieve_function FUNCS += functions/gnutls_certificate_set_retrieve_function.short FUNCS += functions/gnutls_certificate_set_retrieve_function2 FUNCS += functions/gnutls_certificate_set_retrieve_function2.short FUNCS += functions/gnutls_certificate_set_rsa_export_params FUNCS += functions/gnutls_certificate_set_rsa_export_params.short +FUNCS += functions/gnutls_certificate_set_trust_list +FUNCS += functions/gnutls_certificate_set_trust_list.short FUNCS += functions/gnutls_certificate_set_verify_flags FUNCS += functions/gnutls_certificate_set_verify_flags.short FUNCS += functions/gnutls_certificate_set_verify_function @@ -577,8 +721,12 @@ FUNCS += functions/gnutls_certificate_set_x509_key FUNCS += functions/gnutls_certificate_set_x509_key.short FUNCS += functions/gnutls_certificate_set_x509_key_file FUNCS += functions/gnutls_certificate_set_x509_key_file.short +FUNCS += functions/gnutls_certificate_set_x509_key_file2 +FUNCS += functions/gnutls_certificate_set_x509_key_file2.short FUNCS += functions/gnutls_certificate_set_x509_key_mem FUNCS += functions/gnutls_certificate_set_x509_key_mem.short +FUNCS += functions/gnutls_certificate_set_x509_key_mem2 +FUNCS += functions/gnutls_certificate_set_x509_key_mem2.short FUNCS += functions/gnutls_certificate_set_x509_simple_pkcs12_file FUNCS += functions/gnutls_certificate_set_x509_simple_pkcs12_file.short FUNCS += functions/gnutls_certificate_set_x509_simple_pkcs12_mem @@ -601,8 +749,14 @@ FUNCS += functions/gnutls_certificate_type_list FUNCS += functions/gnutls_certificate_type_list.short FUNCS += functions/gnutls_certificate_type_set_priority FUNCS += functions/gnutls_certificate_type_set_priority.short +FUNCS += functions/gnutls_certificate_verification_status_print +FUNCS += functions/gnutls_certificate_verification_status_print.short +FUNCS += functions/gnutls_certificate_verify_peers +FUNCS += functions/gnutls_certificate_verify_peers.short FUNCS += functions/gnutls_certificate_verify_peers2 FUNCS += functions/gnutls_certificate_verify_peers2.short +FUNCS += functions/gnutls_certificate_verify_peers3 +FUNCS += functions/gnutls_certificate_verify_peers3.short FUNCS += functions/gnutls_check_version FUNCS += functions/gnutls_check_version.short FUNCS += functions/gnutls_cipher_add_auth @@ -623,10 +777,14 @@ FUNCS += functions/gnutls_cipher_get_block_size FUNCS += functions/gnutls_cipher_get_block_size.short FUNCS += functions/gnutls_cipher_get_id FUNCS += functions/gnutls_cipher_get_id.short +FUNCS += functions/gnutls_cipher_get_iv_size +FUNCS += functions/gnutls_cipher_get_iv_size.short FUNCS += functions/gnutls_cipher_get_key_size FUNCS += functions/gnutls_cipher_get_key_size.short FUNCS += functions/gnutls_cipher_get_name FUNCS += functions/gnutls_cipher_get_name.short +FUNCS += functions/gnutls_cipher_get_tag_size +FUNCS += functions/gnutls_cipher_get_tag_size.short FUNCS += functions/gnutls_cipher_init FUNCS += functions/gnutls_cipher_init.short FUNCS += functions/gnutls_cipher_list @@ -653,10 +811,16 @@ FUNCS += functions/gnutls_compression_set_priority FUNCS += functions/gnutls_compression_set_priority.short FUNCS += functions/gnutls_credentials_clear FUNCS += functions/gnutls_credentials_clear.short +FUNCS += functions/gnutls_credentials_get +FUNCS += functions/gnutls_credentials_get.short FUNCS += functions/gnutls_credentials_set FUNCS += functions/gnutls_credentials_set.short FUNCS += functions/gnutls_db_check_entry FUNCS += functions/gnutls_db_check_entry.short +FUNCS += functions/gnutls_db_check_entry_time +FUNCS += functions/gnutls_db_check_entry_time.short +FUNCS += functions/gnutls_db_get_default_cache_expiration +FUNCS += functions/gnutls_db_get_default_cache_expiration.short FUNCS += functions/gnutls_db_get_ptr FUNCS += functions/gnutls_db_get_ptr.short FUNCS += functions/gnutls_db_remove_session @@ -687,6 +851,8 @@ FUNCS += functions/gnutls_dh_params_cpy FUNCS += functions/gnutls_dh_params_cpy.short FUNCS += functions/gnutls_dh_params_deinit FUNCS += functions/gnutls_dh_params_deinit.short +FUNCS += functions/gnutls_dh_params_export2_pkcs3 +FUNCS += functions/gnutls_dh_params_export2_pkcs3.short FUNCS += functions/gnutls_dh_params_export_pkcs3 FUNCS += functions/gnutls_dh_params_export_pkcs3.short FUNCS += functions/gnutls_dh_params_export_raw @@ -701,6 +867,12 @@ FUNCS += functions/gnutls_dh_params_init FUNCS += functions/gnutls_dh_params_init.short FUNCS += functions/gnutls_dh_set_prime_bits FUNCS += functions/gnutls_dh_set_prime_bits.short +FUNCS += functions/gnutls_digest_get_id +FUNCS += functions/gnutls_digest_get_id.short +FUNCS += functions/gnutls_digest_get_name +FUNCS += functions/gnutls_digest_get_name.short +FUNCS += functions/gnutls_digest_list +FUNCS += functions/gnutls_digest_list.short FUNCS += functions/gnutls_dtls_cookie_send FUNCS += functions/gnutls_dtls_cookie_send.short FUNCS += functions/gnutls_dtls_cookie_verify @@ -731,8 +903,12 @@ FUNCS += functions/gnutls_error_is_fatal FUNCS += functions/gnutls_error_is_fatal.short FUNCS += functions/gnutls_error_to_alert FUNCS += functions/gnutls_error_to_alert.short +FUNCS += functions/gnutls_est_record_overhead_size +FUNCS += functions/gnutls_est_record_overhead_size.short FUNCS += functions/gnutls_fingerprint FUNCS += functions/gnutls_fingerprint.short +FUNCS += functions/gnutls_fips140_mode_enabled +FUNCS += functions/gnutls_fips140_mode_enabled.short FUNCS += functions/gnutls_global_deinit FUNCS += functions/gnutls_global_deinit.short FUNCS += functions/gnutls_global_init @@ -751,16 +927,24 @@ FUNCS += functions/gnutls_global_set_time_function FUNCS += functions/gnutls_global_set_time_function.short FUNCS += functions/gnutls_handshake FUNCS += functions/gnutls_handshake.short +FUNCS += functions/gnutls_handshake_description_get_name +FUNCS += functions/gnutls_handshake_description_get_name.short FUNCS += functions/gnutls_handshake_get_last_in FUNCS += functions/gnutls_handshake_get_last_in.short FUNCS += functions/gnutls_handshake_get_last_out FUNCS += functions/gnutls_handshake_get_last_out.short +FUNCS += functions/gnutls_handshake_set_hook_function +FUNCS += functions/gnutls_handshake_set_hook_function.short FUNCS += functions/gnutls_handshake_set_max_packet_length FUNCS += functions/gnutls_handshake_set_max_packet_length.short FUNCS += functions/gnutls_handshake_set_post_client_hello_function FUNCS += functions/gnutls_handshake_set_post_client_hello_function.short FUNCS += functions/gnutls_handshake_set_private_extensions FUNCS += functions/gnutls_handshake_set_private_extensions.short +FUNCS += functions/gnutls_handshake_set_random +FUNCS += functions/gnutls_handshake_set_random.short +FUNCS += functions/gnutls_handshake_set_timeout +FUNCS += functions/gnutls_handshake_set_timeout.short FUNCS += functions/gnutls_hash FUNCS += functions/gnutls_hash.short FUNCS += functions/gnutls_hash_deinit @@ -773,6 +957,18 @@ FUNCS += functions/gnutls_hash_init FUNCS += functions/gnutls_hash_init.short FUNCS += functions/gnutls_hash_output FUNCS += functions/gnutls_hash_output.short +FUNCS += functions/gnutls_heartbeat_allowed +FUNCS += functions/gnutls_heartbeat_allowed.short +FUNCS += functions/gnutls_heartbeat_enable +FUNCS += functions/gnutls_heartbeat_enable.short +FUNCS += functions/gnutls_heartbeat_get_timeout +FUNCS += functions/gnutls_heartbeat_get_timeout.short +FUNCS += functions/gnutls_heartbeat_ping +FUNCS += functions/gnutls_heartbeat_ping.short +FUNCS += functions/gnutls_heartbeat_pong +FUNCS += functions/gnutls_heartbeat_pong.short +FUNCS += functions/gnutls_heartbeat_set_timeouts +FUNCS += functions/gnutls_heartbeat_set_timeouts.short FUNCS += functions/gnutls_hex2bin FUNCS += functions/gnutls_hex2bin.short FUNCS += functions/gnutls_hex_decode @@ -791,6 +987,8 @@ FUNCS += functions/gnutls_hmac_init FUNCS += functions/gnutls_hmac_init.short FUNCS += functions/gnutls_hmac_output FUNCS += functions/gnutls_hmac_output.short +FUNCS += functions/gnutls_hmac_set_nonce +FUNCS += functions/gnutls_hmac_set_nonce.short FUNCS += functions/gnutls_init FUNCS += functions/gnutls_init.short FUNCS += functions/gnutls_key_generate @@ -805,6 +1003,8 @@ FUNCS += functions/gnutls_kx_list FUNCS += functions/gnutls_kx_list.short FUNCS += functions/gnutls_kx_set_priority FUNCS += functions/gnutls_kx_set_priority.short +FUNCS += functions/gnutls_load_file +FUNCS += functions/gnutls_load_file.short FUNCS += functions/gnutls_mac_get FUNCS += functions/gnutls_mac_get.short FUNCS += functions/gnutls_mac_get_id @@ -813,6 +1013,8 @@ FUNCS += functions/gnutls_mac_get_key_size FUNCS += functions/gnutls_mac_get_key_size.short FUNCS += functions/gnutls_mac_get_name FUNCS += functions/gnutls_mac_get_name.short +FUNCS += functions/gnutls_mac_get_nonce_size +FUNCS += functions/gnutls_mac_get_nonce_size.short FUNCS += functions/gnutls_mac_list FUNCS += functions/gnutls_mac_list.short FUNCS += functions/gnutls_mac_set_priority @@ -883,12 +1085,22 @@ FUNCS += functions/gnutls_ocsp_resp_verify FUNCS += functions/gnutls_ocsp_resp_verify.short FUNCS += functions/gnutls_ocsp_resp_verify_direct FUNCS += functions/gnutls_ocsp_resp_verify_direct.short +FUNCS += functions/gnutls_ocsp_status_request_enable_client +FUNCS += functions/gnutls_ocsp_status_request_enable_client.short +FUNCS += functions/gnutls_ocsp_status_request_get +FUNCS += functions/gnutls_ocsp_status_request_get.short +FUNCS += functions/gnutls_ocsp_status_request_is_checked +FUNCS += functions/gnutls_ocsp_status_request_is_checked.short FUNCS += functions/gnutls_openpgp_crt_check_hostname FUNCS += functions/gnutls_openpgp_crt_check_hostname.short +FUNCS += functions/gnutls_openpgp_crt_check_hostname2 +FUNCS += functions/gnutls_openpgp_crt_check_hostname2.short FUNCS += functions/gnutls_openpgp_crt_deinit FUNCS += functions/gnutls_openpgp_crt_deinit.short FUNCS += functions/gnutls_openpgp_crt_export FUNCS += functions/gnutls_openpgp_crt_export.short +FUNCS += functions/gnutls_openpgp_crt_export2 +FUNCS += functions/gnutls_openpgp_crt_export2.short FUNCS += functions/gnutls_openpgp_crt_get_auth_subkey FUNCS += functions/gnutls_openpgp_crt_get_auth_subkey.short FUNCS += functions/gnutls_openpgp_crt_get_creation_time @@ -965,6 +1177,8 @@ FUNCS += functions/gnutls_openpgp_privkey_deinit FUNCS += functions/gnutls_openpgp_privkey_deinit.short FUNCS += functions/gnutls_openpgp_privkey_export FUNCS += functions/gnutls_openpgp_privkey_export.short +FUNCS += functions/gnutls_openpgp_privkey_export2 +FUNCS += functions/gnutls_openpgp_privkey_export2.short FUNCS += functions/gnutls_openpgp_privkey_export_dsa_raw FUNCS += functions/gnutls_openpgp_privkey_export_dsa_raw.short FUNCS += functions/gnutls_openpgp_privkey_export_rsa_raw @@ -987,6 +1201,8 @@ FUNCS += functions/gnutls_openpgp_privkey_get_subkey_count FUNCS += functions/gnutls_openpgp_privkey_get_subkey_count.short FUNCS += functions/gnutls_openpgp_privkey_get_subkey_creation_time FUNCS += functions/gnutls_openpgp_privkey_get_subkey_creation_time.short +FUNCS += functions/gnutls_openpgp_privkey_get_subkey_expiration_time +FUNCS += functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short FUNCS += functions/gnutls_openpgp_privkey_get_subkey_fingerprint FUNCS += functions/gnutls_openpgp_privkey_get_subkey_fingerprint.short FUNCS += functions/gnutls_openpgp_privkey_get_subkey_id @@ -1011,6 +1227,10 @@ FUNCS += functions/gnutls_openpgp_send_cert FUNCS += functions/gnutls_openpgp_send_cert.short FUNCS += functions/gnutls_openpgp_set_recv_key_function FUNCS += functions/gnutls_openpgp_set_recv_key_function.short +FUNCS += functions/gnutls_packet_deinit +FUNCS += functions/gnutls_packet_deinit.short +FUNCS += functions/gnutls_packet_get +FUNCS += functions/gnutls_packet_get.short FUNCS += functions/gnutls_pcert_deinit FUNCS += functions/gnutls_pcert_deinit.short FUNCS += functions/gnutls_pcert_import_openpgp @@ -1037,14 +1257,6 @@ FUNCS += functions/gnutls_pk_algorithm_get_name FUNCS += functions/gnutls_pk_algorithm_get_name.short FUNCS += functions/gnutls_pk_bits_to_sec_param FUNCS += functions/gnutls_pk_bits_to_sec_param.short -FUNCS += functions/gnutls_pk_get_id -FUNCS += functions/gnutls_pk_get_id.short -FUNCS += functions/gnutls_pk_get_name -FUNCS += functions/gnutls_pk_get_name.short -FUNCS += functions/gnutls_pk_list -FUNCS += functions/gnutls_pk_list.short -FUNCS += functions/gnutls_pk_to_sign -FUNCS += functions/gnutls_pk_to_sign.short FUNCS += functions/gnutls_pkcs11_add_provider FUNCS += functions/gnutls_pkcs11_add_provider.short FUNCS += functions/gnutls_pkcs11_copy_secret_key @@ -1053,16 +1265,26 @@ FUNCS += functions/gnutls_pkcs11_copy_x509_crt FUNCS += functions/gnutls_pkcs11_copy_x509_crt.short FUNCS += functions/gnutls_pkcs11_copy_x509_privkey FUNCS += functions/gnutls_pkcs11_copy_x509_privkey.short +FUNCS += functions/gnutls_pkcs11_crt_is_known +FUNCS += functions/gnutls_pkcs11_crt_is_known.short FUNCS += functions/gnutls_pkcs11_deinit FUNCS += functions/gnutls_pkcs11_deinit.short FUNCS += functions/gnutls_pkcs11_delete_url FUNCS += functions/gnutls_pkcs11_delete_url.short +FUNCS += functions/gnutls_pkcs11_get_pin_function +FUNCS += functions/gnutls_pkcs11_get_pin_function.short +FUNCS += functions/gnutls_pkcs11_get_raw_issuer +FUNCS += functions/gnutls_pkcs11_get_raw_issuer.short FUNCS += functions/gnutls_pkcs11_init FUNCS += functions/gnutls_pkcs11_init.short FUNCS += functions/gnutls_pkcs11_obj_deinit FUNCS += functions/gnutls_pkcs11_obj_deinit.short FUNCS += functions/gnutls_pkcs11_obj_export FUNCS += functions/gnutls_pkcs11_obj_export.short +FUNCS += functions/gnutls_pkcs11_obj_export2 +FUNCS += functions/gnutls_pkcs11_obj_export2.short +FUNCS += functions/gnutls_pkcs11_obj_export3 +FUNCS += functions/gnutls_pkcs11_obj_export3.short FUNCS += functions/gnutls_pkcs11_obj_export_url FUNCS += functions/gnutls_pkcs11_obj_export_url.short FUNCS += functions/gnutls_pkcs11_obj_get_info @@ -1075,12 +1297,18 @@ FUNCS += functions/gnutls_pkcs11_obj_init FUNCS += functions/gnutls_pkcs11_obj_init.short FUNCS += functions/gnutls_pkcs11_obj_list_import_url FUNCS += functions/gnutls_pkcs11_obj_list_import_url.short +FUNCS += functions/gnutls_pkcs11_obj_list_import_url2 +FUNCS += functions/gnutls_pkcs11_obj_list_import_url2.short +FUNCS += functions/gnutls_pkcs11_obj_set_pin_function +FUNCS += functions/gnutls_pkcs11_obj_set_pin_function.short FUNCS += functions/gnutls_pkcs11_privkey_deinit FUNCS += functions/gnutls_pkcs11_privkey_deinit.short FUNCS += functions/gnutls_pkcs11_privkey_export_url FUNCS += functions/gnutls_pkcs11_privkey_export_url.short FUNCS += functions/gnutls_pkcs11_privkey_generate FUNCS += functions/gnutls_pkcs11_privkey_generate.short +FUNCS += functions/gnutls_pkcs11_privkey_generate2 +FUNCS += functions/gnutls_pkcs11_privkey_generate2.short FUNCS += functions/gnutls_pkcs11_privkey_get_info FUNCS += functions/gnutls_pkcs11_privkey_get_info.short FUNCS += functions/gnutls_pkcs11_privkey_get_pk_algorithm @@ -1089,6 +1317,10 @@ FUNCS += functions/gnutls_pkcs11_privkey_import_url FUNCS += functions/gnutls_pkcs11_privkey_import_url.short FUNCS += functions/gnutls_pkcs11_privkey_init FUNCS += functions/gnutls_pkcs11_privkey_init.short +FUNCS += functions/gnutls_pkcs11_privkey_set_pin_function +FUNCS += functions/gnutls_pkcs11_privkey_set_pin_function.short +FUNCS += functions/gnutls_pkcs11_privkey_status +FUNCS += functions/gnutls_pkcs11_privkey_status.short FUNCS += functions/gnutls_pkcs11_reinit FUNCS += functions/gnutls_pkcs11_reinit.short FUNCS += functions/gnutls_pkcs11_set_pin_function @@ -1101,6 +1333,8 @@ FUNCS += functions/gnutls_pkcs11_token_get_info FUNCS += functions/gnutls_pkcs11_token_get_info.short FUNCS += functions/gnutls_pkcs11_token_get_mechanism FUNCS += functions/gnutls_pkcs11_token_get_mechanism.short +FUNCS += functions/gnutls_pkcs11_token_get_random +FUNCS += functions/gnutls_pkcs11_token_get_random.short FUNCS += functions/gnutls_pkcs11_token_get_url FUNCS += functions/gnutls_pkcs11_token_get_url.short FUNCS += functions/gnutls_pkcs11_token_init @@ -1141,6 +1375,8 @@ FUNCS += functions/gnutls_pkcs12_deinit FUNCS += functions/gnutls_pkcs12_deinit.short FUNCS += functions/gnutls_pkcs12_export FUNCS += functions/gnutls_pkcs12_export.short +FUNCS += functions/gnutls_pkcs12_export2 +FUNCS += functions/gnutls_pkcs12_export2.short FUNCS += functions/gnutls_pkcs12_generate_mac FUNCS += functions/gnutls_pkcs12_generate_mac.short FUNCS += functions/gnutls_pkcs12_get_bag @@ -1151,6 +1387,8 @@ FUNCS += functions/gnutls_pkcs12_init FUNCS += functions/gnutls_pkcs12_init.short FUNCS += functions/gnutls_pkcs12_set_bag FUNCS += functions/gnutls_pkcs12_set_bag.short +FUNCS += functions/gnutls_pkcs12_simple_parse +FUNCS += functions/gnutls_pkcs12_simple_parse.short FUNCS += functions/gnutls_pkcs12_verify_mac FUNCS += functions/gnutls_pkcs12_verify_mac.short FUNCS += functions/gnutls_pkcs7_deinit @@ -1161,6 +1399,8 @@ FUNCS += functions/gnutls_pkcs7_delete_crt FUNCS += functions/gnutls_pkcs7_delete_crt.short FUNCS += functions/gnutls_pkcs7_export FUNCS += functions/gnutls_pkcs7_export.short +FUNCS += functions/gnutls_pkcs7_export2 +FUNCS += functions/gnutls_pkcs7_export2.short FUNCS += functions/gnutls_pkcs7_get_crl_count FUNCS += functions/gnutls_pkcs7_get_crl_count.short FUNCS += functions/gnutls_pkcs7_get_crl_raw @@ -1181,12 +1421,22 @@ FUNCS += functions/gnutls_pkcs7_set_crt FUNCS += functions/gnutls_pkcs7_set_crt.short FUNCS += functions/gnutls_pkcs7_set_crt_raw FUNCS += functions/gnutls_pkcs7_set_crt_raw.short +FUNCS += functions/gnutls_pk_get_id +FUNCS += functions/gnutls_pk_get_id.short +FUNCS += functions/gnutls_pk_get_name +FUNCS += functions/gnutls_pk_get_name.short +FUNCS += functions/gnutls_pk_list +FUNCS += functions/gnutls_pk_list.short +FUNCS += functions/gnutls_pk_to_sign +FUNCS += functions/gnutls_pk_to_sign.short FUNCS += functions/gnutls_prf FUNCS += functions/gnutls_prf.short FUNCS += functions/gnutls_prf_raw FUNCS += functions/gnutls_prf_raw.short FUNCS += functions/gnutls_priority_certificate_type_list FUNCS += functions/gnutls_priority_certificate_type_list.short +FUNCS += functions/gnutls_priority_cipher_list +FUNCS += functions/gnutls_priority_cipher_list.short FUNCS += functions/gnutls_priority_compression_list FUNCS += functions/gnutls_priority_compression_list.short FUNCS += functions/gnutls_priority_deinit @@ -1197,6 +1447,10 @@ FUNCS += functions/gnutls_priority_get_cipher_suite_index FUNCS += functions/gnutls_priority_get_cipher_suite_index.short FUNCS += functions/gnutls_priority_init FUNCS += functions/gnutls_priority_init.short +FUNCS += functions/gnutls_priority_kx_list +FUNCS += functions/gnutls_priority_kx_list.short +FUNCS += functions/gnutls_priority_mac_list +FUNCS += functions/gnutls_priority_mac_list.short FUNCS += functions/gnutls_priority_protocol_list FUNCS += functions/gnutls_priority_protocol_list.short FUNCS += functions/gnutls_priority_set @@ -1209,24 +1463,60 @@ FUNCS += functions/gnutls_privkey_decrypt_data FUNCS += functions/gnutls_privkey_decrypt_data.short FUNCS += functions/gnutls_privkey_deinit FUNCS += functions/gnutls_privkey_deinit.short +FUNCS += functions/gnutls_privkey_export_dsa_raw +FUNCS += functions/gnutls_privkey_export_dsa_raw.short +FUNCS += functions/gnutls_privkey_export_ecc_raw +FUNCS += functions/gnutls_privkey_export_ecc_raw.short +FUNCS += functions/gnutls_privkey_export_rsa_raw +FUNCS += functions/gnutls_privkey_export_rsa_raw.short +FUNCS += functions/gnutls_privkey_generate +FUNCS += functions/gnutls_privkey_generate.short FUNCS += functions/gnutls_privkey_get_pk_algorithm FUNCS += functions/gnutls_privkey_get_pk_algorithm.short FUNCS += functions/gnutls_privkey_get_type FUNCS += functions/gnutls_privkey_get_type.short +FUNCS += functions/gnutls_privkey_import_dsa_raw +FUNCS += functions/gnutls_privkey_import_dsa_raw.short +FUNCS += functions/gnutls_privkey_import_ecc_raw +FUNCS += functions/gnutls_privkey_import_ecc_raw.short FUNCS += functions/gnutls_privkey_import_ext FUNCS += functions/gnutls_privkey_import_ext.short +FUNCS += functions/gnutls_privkey_import_ext2 +FUNCS += functions/gnutls_privkey_import_ext2.short FUNCS += functions/gnutls_privkey_import_openpgp FUNCS += functions/gnutls_privkey_import_openpgp.short +FUNCS += functions/gnutls_privkey_import_openpgp_raw +FUNCS += functions/gnutls_privkey_import_openpgp_raw.short FUNCS += functions/gnutls_privkey_import_pkcs11 FUNCS += functions/gnutls_privkey_import_pkcs11.short +FUNCS += functions/gnutls_privkey_import_pkcs11_url +FUNCS += functions/gnutls_privkey_import_pkcs11_url.short +FUNCS += functions/gnutls_privkey_import_rsa_raw +FUNCS += functions/gnutls_privkey_import_rsa_raw.short +FUNCS += functions/gnutls_privkey_import_tpm_raw +FUNCS += functions/gnutls_privkey_import_tpm_raw.short +FUNCS += functions/gnutls_privkey_import_tpm_url +FUNCS += functions/gnutls_privkey_import_tpm_url.short +FUNCS += functions/gnutls_privkey_import_url +FUNCS += functions/gnutls_privkey_import_url.short FUNCS += functions/gnutls_privkey_import_x509 FUNCS += functions/gnutls_privkey_import_x509.short +FUNCS += functions/gnutls_privkey_import_x509_raw +FUNCS += functions/gnutls_privkey_import_x509_raw.short FUNCS += functions/gnutls_privkey_init FUNCS += functions/gnutls_privkey_init.short +FUNCS += functions/gnutls_privkey_set_pin_function +FUNCS += functions/gnutls_privkey_set_pin_function.short FUNCS += functions/gnutls_privkey_sign_data FUNCS += functions/gnutls_privkey_sign_data.short FUNCS += functions/gnutls_privkey_sign_hash FUNCS += functions/gnutls_privkey_sign_hash.short +FUNCS += functions/gnutls_privkey_sign_raw_data +FUNCS += functions/gnutls_privkey_sign_raw_data.short +FUNCS += functions/gnutls_privkey_status +FUNCS += functions/gnutls_privkey_status.short +FUNCS += functions/gnutls_privkey_verify_params +FUNCS += functions/gnutls_privkey_verify_params.short FUNCS += functions/gnutls_protocol_get_id FUNCS += functions/gnutls_protocol_get_id.short FUNCS += functions/gnutls_protocol_get_name @@ -1271,6 +1561,16 @@ FUNCS += functions/gnutls_pubkey_encrypt_data FUNCS += functions/gnutls_pubkey_encrypt_data.short FUNCS += functions/gnutls_pubkey_export FUNCS += functions/gnutls_pubkey_export.short +FUNCS += functions/gnutls_pubkey_export2 +FUNCS += functions/gnutls_pubkey_export2.short +FUNCS += functions/gnutls_pubkey_export_dsa_raw +FUNCS += functions/gnutls_pubkey_export_dsa_raw.short +FUNCS += functions/gnutls_pubkey_export_ecc_raw +FUNCS += functions/gnutls_pubkey_export_ecc_raw.short +FUNCS += functions/gnutls_pubkey_export_ecc_x962 +FUNCS += functions/gnutls_pubkey_export_ecc_x962.short +FUNCS += functions/gnutls_pubkey_export_rsa_raw +FUNCS += functions/gnutls_pubkey_export_rsa_raw.short FUNCS += functions/gnutls_pubkey_get_key_id FUNCS += functions/gnutls_pubkey_get_key_id.short FUNCS += functions/gnutls_pubkey_get_key_usage @@ -1279,14 +1579,6 @@ FUNCS += functions/gnutls_pubkey_get_openpgp_key_id FUNCS += functions/gnutls_pubkey_get_openpgp_key_id.short FUNCS += functions/gnutls_pubkey_get_pk_algorithm FUNCS += functions/gnutls_pubkey_get_pk_algorithm.short -FUNCS += functions/gnutls_pubkey_get_pk_dsa_raw -FUNCS += functions/gnutls_pubkey_get_pk_dsa_raw.short -FUNCS += functions/gnutls_pubkey_get_pk_ecc_raw -FUNCS += functions/gnutls_pubkey_get_pk_ecc_raw.short -FUNCS += functions/gnutls_pubkey_get_pk_ecc_x962 -FUNCS += functions/gnutls_pubkey_get_pk_ecc_x962.short -FUNCS += functions/gnutls_pubkey_get_pk_rsa_raw -FUNCS += functions/gnutls_pubkey_get_pk_rsa_raw.short FUNCS += functions/gnutls_pubkey_get_preferred_hash_algorithm FUNCS += functions/gnutls_pubkey_get_preferred_hash_algorithm.short FUNCS += functions/gnutls_pubkey_get_verify_algorithm @@ -1301,6 +1593,8 @@ FUNCS += functions/gnutls_pubkey_import_ecc_x962 FUNCS += functions/gnutls_pubkey_import_ecc_x962.short FUNCS += functions/gnutls_pubkey_import_openpgp FUNCS += functions/gnutls_pubkey_import_openpgp.short +FUNCS += functions/gnutls_pubkey_import_openpgp_raw +FUNCS += functions/gnutls_pubkey_import_openpgp_raw.short FUNCS += functions/gnutls_pubkey_import_pkcs11 FUNCS += functions/gnutls_pubkey_import_pkcs11.short FUNCS += functions/gnutls_pubkey_import_pkcs11_url @@ -1309,12 +1603,26 @@ FUNCS += functions/gnutls_pubkey_import_privkey FUNCS += functions/gnutls_pubkey_import_privkey.short FUNCS += functions/gnutls_pubkey_import_rsa_raw FUNCS += functions/gnutls_pubkey_import_rsa_raw.short +FUNCS += functions/gnutls_pubkey_import_tpm_raw +FUNCS += functions/gnutls_pubkey_import_tpm_raw.short +FUNCS += functions/gnutls_pubkey_import_tpm_url +FUNCS += functions/gnutls_pubkey_import_tpm_url.short +FUNCS += functions/gnutls_pubkey_import_url +FUNCS += functions/gnutls_pubkey_import_url.short FUNCS += functions/gnutls_pubkey_import_x509 FUNCS += functions/gnutls_pubkey_import_x509.short +FUNCS += functions/gnutls_pubkey_import_x509_crq +FUNCS += functions/gnutls_pubkey_import_x509_crq.short +FUNCS += functions/gnutls_pubkey_import_x509_raw +FUNCS += functions/gnutls_pubkey_import_x509_raw.short FUNCS += functions/gnutls_pubkey_init FUNCS += functions/gnutls_pubkey_init.short +FUNCS += functions/gnutls_pubkey_print +FUNCS += functions/gnutls_pubkey_print.short FUNCS += functions/gnutls_pubkey_set_key_usage FUNCS += functions/gnutls_pubkey_set_key_usage.short +FUNCS += functions/gnutls_pubkey_set_pin_function +FUNCS += functions/gnutls_pubkey_set_pin_function.short FUNCS += functions/gnutls_pubkey_verify_data FUNCS += functions/gnutls_pubkey_verify_data.short FUNCS += functions/gnutls_pubkey_verify_data2 @@ -1323,10 +1631,20 @@ FUNCS += functions/gnutls_pubkey_verify_hash FUNCS += functions/gnutls_pubkey_verify_hash.short FUNCS += functions/gnutls_pubkey_verify_hash2 FUNCS += functions/gnutls_pubkey_verify_hash2.short +FUNCS += functions/gnutls_pubkey_verify_params +FUNCS += functions/gnutls_pubkey_verify_params.short FUNCS += functions/gnutls_random_art FUNCS += functions/gnutls_random_art.short +FUNCS += functions/gnutls_range_split +FUNCS += functions/gnutls_range_split.short +FUNCS += functions/gnutls_record_can_use_length_hiding +FUNCS += functions/gnutls_record_can_use_length_hiding.short +FUNCS += functions/gnutls_record_check_corked +FUNCS += functions/gnutls_record_check_corked.short FUNCS += functions/gnutls_record_check_pending FUNCS += functions/gnutls_record_check_pending.short +FUNCS += functions/gnutls_record_cork +FUNCS += functions/gnutls_record_cork.short FUNCS += functions/gnutls_record_disable_padding FUNCS += functions/gnutls_record_disable_padding.short FUNCS += functions/gnutls_record_get_direction @@ -1335,18 +1653,32 @@ FUNCS += functions/gnutls_record_get_discarded FUNCS += functions/gnutls_record_get_discarded.short FUNCS += functions/gnutls_record_get_max_size FUNCS += functions/gnutls_record_get_max_size.short +FUNCS += functions/gnutls_record_overhead_size +FUNCS += functions/gnutls_record_overhead_size.short FUNCS += functions/gnutls_record_recv FUNCS += functions/gnutls_record_recv.short +FUNCS += functions/gnutls_record_recv_packet +FUNCS += functions/gnutls_record_recv_packet.short FUNCS += functions/gnutls_record_recv_seq FUNCS += functions/gnutls_record_recv_seq.short FUNCS += functions/gnutls_record_send FUNCS += functions/gnutls_record_send.short +FUNCS += functions/gnutls_record_send_range +FUNCS += functions/gnutls_record_send_range.short +FUNCS += functions/gnutls_record_set_max_empty_records +FUNCS += functions/gnutls_record_set_max_empty_records.short FUNCS += functions/gnutls_record_set_max_size FUNCS += functions/gnutls_record_set_max_size.short +FUNCS += functions/gnutls_record_set_timeout +FUNCS += functions/gnutls_record_set_timeout.short +FUNCS += functions/gnutls_record_uncork +FUNCS += functions/gnutls_record_uncork.short FUNCS += functions/gnutls_rehandshake FUNCS += functions/gnutls_rehandshake.short FUNCS += functions/gnutls_rnd FUNCS += functions/gnutls_rnd.short +FUNCS += functions/gnutls_rnd_refresh +FUNCS += functions/gnutls_rnd_refresh.short FUNCS += functions/gnutls_rsa_export_get_modulus_bits FUNCS += functions/gnutls_rsa_export_get_modulus_bits.short FUNCS += functions/gnutls_rsa_export_get_pubkey @@ -1373,6 +1705,8 @@ FUNCS += functions/gnutls_sec_param_get_name FUNCS += functions/gnutls_sec_param_get_name.short FUNCS += functions/gnutls_sec_param_to_pk_bits FUNCS += functions/gnutls_sec_param_to_pk_bits.short +FUNCS += functions/gnutls_sec_param_to_symmetric_bits +FUNCS += functions/gnutls_sec_param_to_symmetric_bits.short FUNCS += functions/gnutls_server_name_get FUNCS += functions/gnutls_server_name_get.short FUNCS += functions/gnutls_server_name_set @@ -1381,12 +1715,18 @@ FUNCS += functions/gnutls_session_channel_binding FUNCS += functions/gnutls_session_channel_binding.short FUNCS += functions/gnutls_session_enable_compatibility_mode FUNCS += functions/gnutls_session_enable_compatibility_mode.short +FUNCS += functions/gnutls_session_force_valid +FUNCS += functions/gnutls_session_force_valid.short FUNCS += functions/gnutls_session_get_data FUNCS += functions/gnutls_session_get_data.short FUNCS += functions/gnutls_session_get_data2 FUNCS += functions/gnutls_session_get_data2.short +FUNCS += functions/gnutls_session_get_desc +FUNCS += functions/gnutls_session_get_desc.short FUNCS += functions/gnutls_session_get_id FUNCS += functions/gnutls_session_get_id.short +FUNCS += functions/gnutls_session_get_id2 +FUNCS += functions/gnutls_session_get_id2.short FUNCS += functions/gnutls_session_get_ptr FUNCS += functions/gnutls_session_get_ptr.short FUNCS += functions/gnutls_session_get_random @@ -1397,6 +1737,8 @@ FUNCS += functions/gnutls_session_resumption_requested FUNCS += functions/gnutls_session_resumption_requested.short FUNCS += functions/gnutls_session_set_data FUNCS += functions/gnutls_session_set_data.short +FUNCS += functions/gnutls_session_set_id +FUNCS += functions/gnutls_session_set_id.short FUNCS += functions/gnutls_session_set_premaster FUNCS += functions/gnutls_session_set_premaster.short FUNCS += functions/gnutls_session_set_ptr @@ -1411,16 +1753,26 @@ FUNCS += functions/gnutls_set_default_export_priority FUNCS += functions/gnutls_set_default_export_priority.short FUNCS += functions/gnutls_set_default_priority FUNCS += functions/gnutls_set_default_priority.short +FUNCS += functions/gnutls_sign_algorithm_get +FUNCS += functions/gnutls_sign_algorithm_get.short +FUNCS += functions/gnutls_sign_algorithm_get_client +FUNCS += functions/gnutls_sign_algorithm_get_client.short FUNCS += functions/gnutls_sign_algorithm_get_requested FUNCS += functions/gnutls_sign_algorithm_get_requested.short FUNCS += functions/gnutls_sign_callback_get FUNCS += functions/gnutls_sign_callback_get.short FUNCS += functions/gnutls_sign_callback_set FUNCS += functions/gnutls_sign_callback_set.short +FUNCS += functions/gnutls_sign_get_hash_algorithm +FUNCS += functions/gnutls_sign_get_hash_algorithm.short FUNCS += functions/gnutls_sign_get_id FUNCS += functions/gnutls_sign_get_id.short FUNCS += functions/gnutls_sign_get_name FUNCS += functions/gnutls_sign_get_name.short +FUNCS += functions/gnutls_sign_get_pk_algorithm +FUNCS += functions/gnutls_sign_get_pk_algorithm.short +FUNCS += functions/gnutls_sign_is_secure +FUNCS += functions/gnutls_sign_is_secure.short FUNCS += functions/gnutls_sign_list FUNCS += functions/gnutls_sign_list.short FUNCS += functions/gnutls_srp_allocate_client_credentials @@ -1451,8 +1803,26 @@ FUNCS += functions/gnutls_srp_set_server_credentials_file FUNCS += functions/gnutls_srp_set_server_credentials_file.short FUNCS += functions/gnutls_srp_set_server_credentials_function FUNCS += functions/gnutls_srp_set_server_credentials_function.short +FUNCS += functions/gnutls_srp_set_server_fake_salt_seed +FUNCS += functions/gnutls_srp_set_server_fake_salt_seed.short FUNCS += functions/gnutls_srp_verifier FUNCS += functions/gnutls_srp_verifier.short +FUNCS += functions/gnutls_srtp_get_keys +FUNCS += functions/gnutls_srtp_get_keys.short +FUNCS += functions/gnutls_srtp_get_mki +FUNCS += functions/gnutls_srtp_get_mki.short +FUNCS += functions/gnutls_srtp_get_profile_id +FUNCS += functions/gnutls_srtp_get_profile_id.short +FUNCS += functions/gnutls_srtp_get_profile_name +FUNCS += functions/gnutls_srtp_get_profile_name.short +FUNCS += functions/gnutls_srtp_get_selected_profile +FUNCS += functions/gnutls_srtp_get_selected_profile.short +FUNCS += functions/gnutls_srtp_set_mki +FUNCS += functions/gnutls_srtp_set_mki.short +FUNCS += functions/gnutls_srtp_set_profile +FUNCS += functions/gnutls_srtp_set_profile.short +FUNCS += functions/gnutls_srtp_set_profile_direct +FUNCS += functions/gnutls_srtp_set_profile_direct.short FUNCS += functions/gnutls_store_commitment FUNCS += functions/gnutls_store_commitment.short FUNCS += functions/gnutls_store_pubkey @@ -1461,6 +1831,14 @@ FUNCS += functions/gnutls_strerror FUNCS += functions/gnutls_strerror.short FUNCS += functions/gnutls_strerror_name FUNCS += functions/gnutls_strerror_name.short +FUNCS += functions/gnutls_subject_alt_names_deinit +FUNCS += functions/gnutls_subject_alt_names_deinit.short +FUNCS += functions/gnutls_subject_alt_names_get +FUNCS += functions/gnutls_subject_alt_names_get.short +FUNCS += functions/gnutls_subject_alt_names_init +FUNCS += functions/gnutls_subject_alt_names_init.short +FUNCS += functions/gnutls_subject_alt_names_set +FUNCS += functions/gnutls_subject_alt_names_set.short FUNCS += functions/gnutls_supplemental_get_name FUNCS += functions/gnutls_supplemental_get_name.short FUNCS += functions/gnutls_tdb_deinit @@ -1473,6 +1851,20 @@ FUNCS += functions/gnutls_tdb_set_store_func FUNCS += functions/gnutls_tdb_set_store_func.short FUNCS += functions/gnutls_tdb_set_verify_func FUNCS += functions/gnutls_tdb_set_verify_func.short +FUNCS += functions/gnutls_tpm_get_registered +FUNCS += functions/gnutls_tpm_get_registered.short +FUNCS += functions/gnutls_tpm_key_list_deinit +FUNCS += functions/gnutls_tpm_key_list_deinit.short +FUNCS += functions/gnutls_tpm_key_list_get_url +FUNCS += functions/gnutls_tpm_key_list_get_url.short +FUNCS += functions/gnutls_tpm_privkey_delete +FUNCS += functions/gnutls_tpm_privkey_delete.short +FUNCS += functions/gnutls_tpm_privkey_generate +FUNCS += functions/gnutls_tpm_privkey_generate.short +FUNCS += functions/gnutls_transport_get_int +FUNCS += functions/gnutls_transport_get_int.short +FUNCS += functions/gnutls_transport_get_int2 +FUNCS += functions/gnutls_transport_get_int2.short FUNCS += functions/gnutls_transport_get_ptr FUNCS += functions/gnutls_transport_get_ptr.short FUNCS += functions/gnutls_transport_get_ptr2 @@ -1481,6 +1873,10 @@ FUNCS += functions/gnutls_transport_set_errno FUNCS += functions/gnutls_transport_set_errno.short FUNCS += functions/gnutls_transport_set_errno_function FUNCS += functions/gnutls_transport_set_errno_function.short +FUNCS += functions/gnutls_transport_set_int +FUNCS += functions/gnutls_transport_set_int.short +FUNCS += functions/gnutls_transport_set_int2 +FUNCS += functions/gnutls_transport_set_int2.short FUNCS += functions/gnutls_transport_set_ptr FUNCS += functions/gnutls_transport_set_ptr.short FUNCS += functions/gnutls_transport_set_ptr2 @@ -1493,14 +1889,46 @@ FUNCS += functions/gnutls_transport_set_push_function FUNCS += functions/gnutls_transport_set_push_function.short FUNCS += functions/gnutls_transport_set_vec_push_function FUNCS += functions/gnutls_transport_set_vec_push_function.short +FUNCS += functions/gnutls_url_is_supported +FUNCS += functions/gnutls_url_is_supported.short FUNCS += functions/gnutls_verify_stored_pubkey FUNCS += functions/gnutls_verify_stored_pubkey.short +FUNCS += functions/gnutls_x509_aia_deinit +FUNCS += functions/gnutls_x509_aia_deinit.short +FUNCS += functions/gnutls_x509_aia_get +FUNCS += functions/gnutls_x509_aia_get.short +FUNCS += functions/gnutls_x509_aia_init +FUNCS += functions/gnutls_x509_aia_init.short +FUNCS += functions/gnutls_x509_aia_set +FUNCS += functions/gnutls_x509_aia_set.short +FUNCS += functions/gnutls_x509_aki_deinit +FUNCS += functions/gnutls_x509_aki_deinit.short +FUNCS += functions/gnutls_x509_aki_get_cert_issuer +FUNCS += functions/gnutls_x509_aki_get_cert_issuer.short +FUNCS += functions/gnutls_x509_aki_get_id +FUNCS += functions/gnutls_x509_aki_get_id.short +FUNCS += functions/gnutls_x509_aki_init +FUNCS += functions/gnutls_x509_aki_init.short +FUNCS += functions/gnutls_x509_aki_set_cert_issuer +FUNCS += functions/gnutls_x509_aki_set_cert_issuer.short +FUNCS += functions/gnutls_x509_aki_set_id +FUNCS += functions/gnutls_x509_aki_set_id.short FUNCS += functions/gnutls_x509_crl_check_issuer FUNCS += functions/gnutls_x509_crl_check_issuer.short FUNCS += functions/gnutls_x509_crl_deinit FUNCS += functions/gnutls_x509_crl_deinit.short +FUNCS += functions/gnutls_x509_crl_dist_points_deinit +FUNCS += functions/gnutls_x509_crl_dist_points_deinit.short +FUNCS += functions/gnutls_x509_crl_dist_points_get +FUNCS += functions/gnutls_x509_crl_dist_points_get.short +FUNCS += functions/gnutls_x509_crl_dist_points_init +FUNCS += functions/gnutls_x509_crl_dist_points_init.short +FUNCS += functions/gnutls_x509_crl_dist_points_set +FUNCS += functions/gnutls_x509_crl_dist_points_set.short FUNCS += functions/gnutls_x509_crl_export FUNCS += functions/gnutls_x509_crl_export.short +FUNCS += functions/gnutls_x509_crl_export2 +FUNCS += functions/gnutls_x509_crl_export2.short FUNCS += functions/gnutls_x509_crl_get_authority_key_gn_serial FUNCS += functions/gnutls_x509_crl_get_authority_key_gn_serial.short FUNCS += functions/gnutls_x509_crl_get_authority_key_id @@ -1513,12 +1941,16 @@ FUNCS += functions/gnutls_x509_crl_get_dn_oid FUNCS += functions/gnutls_x509_crl_get_dn_oid.short FUNCS += functions/gnutls_x509_crl_get_extension_data FUNCS += functions/gnutls_x509_crl_get_extension_data.short +FUNCS += functions/gnutls_x509_crl_get_extension_data2 +FUNCS += functions/gnutls_x509_crl_get_extension_data2.short FUNCS += functions/gnutls_x509_crl_get_extension_info FUNCS += functions/gnutls_x509_crl_get_extension_info.short FUNCS += functions/gnutls_x509_crl_get_extension_oid FUNCS += functions/gnutls_x509_crl_get_extension_oid.short FUNCS += functions/gnutls_x509_crl_get_issuer_dn FUNCS += functions/gnutls_x509_crl_get_issuer_dn.short +FUNCS += functions/gnutls_x509_crl_get_issuer_dn2 +FUNCS += functions/gnutls_x509_crl_get_issuer_dn2.short FUNCS += functions/gnutls_x509_crl_get_issuer_dn_by_oid FUNCS += functions/gnutls_x509_crl_get_issuer_dn_by_oid.short FUNCS += functions/gnutls_x509_crl_get_next_update @@ -1539,6 +1971,10 @@ FUNCS += functions/gnutls_x509_crl_import FUNCS += functions/gnutls_x509_crl_import.short FUNCS += functions/gnutls_x509_crl_init FUNCS += functions/gnutls_x509_crl_init.short +FUNCS += functions/gnutls_x509_crl_iter_crt_serial +FUNCS += functions/gnutls_x509_crl_iter_crt_serial.short +FUNCS += functions/gnutls_x509_crl_iter_deinit +FUNCS += functions/gnutls_x509_crl_iter_deinit.short FUNCS += functions/gnutls_x509_crl_list_import FUNCS += functions/gnutls_x509_crl_list_import.short FUNCS += functions/gnutls_x509_crl_list_import2 @@ -1571,6 +2007,8 @@ FUNCS += functions/gnutls_x509_crq_deinit FUNCS += functions/gnutls_x509_crq_deinit.short FUNCS += functions/gnutls_x509_crq_export FUNCS += functions/gnutls_x509_crq_export.short +FUNCS += functions/gnutls_x509_crq_export2 +FUNCS += functions/gnutls_x509_crq_export2.short FUNCS += functions/gnutls_x509_crq_get_attribute_by_oid FUNCS += functions/gnutls_x509_crq_get_attribute_by_oid.short FUNCS += functions/gnutls_x509_crq_get_attribute_data @@ -1583,6 +2021,8 @@ FUNCS += functions/gnutls_x509_crq_get_challenge_password FUNCS += functions/gnutls_x509_crq_get_challenge_password.short FUNCS += functions/gnutls_x509_crq_get_dn FUNCS += functions/gnutls_x509_crq_get_dn.short +FUNCS += functions/gnutls_x509_crq_get_dn2 +FUNCS += functions/gnutls_x509_crq_get_dn2.short FUNCS += functions/gnutls_x509_crq_get_dn_by_oid FUNCS += functions/gnutls_x509_crq_get_dn_by_oid.short FUNCS += functions/gnutls_x509_crq_get_dn_oid @@ -1591,6 +2031,8 @@ FUNCS += functions/gnutls_x509_crq_get_extension_by_oid FUNCS += functions/gnutls_x509_crq_get_extension_by_oid.short FUNCS += functions/gnutls_x509_crq_get_extension_data FUNCS += functions/gnutls_x509_crq_get_extension_data.short +FUNCS += functions/gnutls_x509_crq_get_extension_data2 +FUNCS += functions/gnutls_x509_crq_get_extension_data2.short FUNCS += functions/gnutls_x509_crq_get_extension_info FUNCS += functions/gnutls_x509_crq_get_extension_info.short FUNCS += functions/gnutls_x509_crq_get_key_id @@ -1625,6 +2067,8 @@ FUNCS += functions/gnutls_x509_crq_set_basic_constraints FUNCS += functions/gnutls_x509_crq_set_basic_constraints.short FUNCS += functions/gnutls_x509_crq_set_challenge_password FUNCS += functions/gnutls_x509_crq_set_challenge_password.short +FUNCS += functions/gnutls_x509_crq_set_dn +FUNCS += functions/gnutls_x509_crq_set_dn.short FUNCS += functions/gnutls_x509_crq_set_dn_by_oid FUNCS += functions/gnutls_x509_crq_set_dn_by_oid.short FUNCS += functions/gnutls_x509_crq_set_key @@ -1651,6 +2095,8 @@ FUNCS += functions/gnutls_x509_crq_verify FUNCS += functions/gnutls_x509_crq_verify.short FUNCS += functions/gnutls_x509_crt_check_hostname FUNCS += functions/gnutls_x509_crt_check_hostname.short +FUNCS += functions/gnutls_x509_crt_check_hostname2 +FUNCS += functions/gnutls_x509_crt_check_hostname2.short FUNCS += functions/gnutls_x509_crt_check_issuer FUNCS += functions/gnutls_x509_crt_check_issuer.short FUNCS += functions/gnutls_x509_crt_check_revocation @@ -1661,6 +2107,8 @@ FUNCS += functions/gnutls_x509_crt_deinit FUNCS += functions/gnutls_x509_crt_deinit.short FUNCS += functions/gnutls_x509_crt_export FUNCS += functions/gnutls_x509_crt_export.short +FUNCS += functions/gnutls_x509_crt_export2 +FUNCS += functions/gnutls_x509_crt_export2.short FUNCS += functions/gnutls_x509_crt_get_activation_time FUNCS += functions/gnutls_x509_crt_get_activation_time.short FUNCS += functions/gnutls_x509_crt_get_authority_info_access @@ -1677,6 +2125,8 @@ FUNCS += functions/gnutls_x509_crt_get_crl_dist_points FUNCS += functions/gnutls_x509_crt_get_crl_dist_points.short FUNCS += functions/gnutls_x509_crt_get_dn FUNCS += functions/gnutls_x509_crt_get_dn.short +FUNCS += functions/gnutls_x509_crt_get_dn2 +FUNCS += functions/gnutls_x509_crt_get_dn2.short FUNCS += functions/gnutls_x509_crt_get_dn_by_oid FUNCS += functions/gnutls_x509_crt_get_dn_by_oid.short FUNCS += functions/gnutls_x509_crt_get_dn_oid @@ -1687,6 +2137,8 @@ FUNCS += functions/gnutls_x509_crt_get_extension_by_oid FUNCS += functions/gnutls_x509_crt_get_extension_by_oid.short FUNCS += functions/gnutls_x509_crt_get_extension_data FUNCS += functions/gnutls_x509_crt_get_extension_data.short +FUNCS += functions/gnutls_x509_crt_get_extension_data2 +FUNCS += functions/gnutls_x509_crt_get_extension_data2.short FUNCS += functions/gnutls_x509_crt_get_extension_info FUNCS += functions/gnutls_x509_crt_get_extension_info.short FUNCS += functions/gnutls_x509_crt_get_extension_oid @@ -1703,6 +2155,8 @@ FUNCS += functions/gnutls_x509_crt_get_issuer_alt_othername_oid FUNCS += functions/gnutls_x509_crt_get_issuer_alt_othername_oid.short FUNCS += functions/gnutls_x509_crt_get_issuer_dn FUNCS += functions/gnutls_x509_crt_get_issuer_dn.short +FUNCS += functions/gnutls_x509_crt_get_issuer_dn2 +FUNCS += functions/gnutls_x509_crt_get_issuer_dn2.short FUNCS += functions/gnutls_x509_crt_get_issuer_dn_by_oid FUNCS += functions/gnutls_x509_crt_get_issuer_dn_by_oid.short FUNCS += functions/gnutls_x509_crt_get_issuer_dn_oid @@ -1715,12 +2169,16 @@ FUNCS += functions/gnutls_x509_crt_get_key_purpose_oid FUNCS += functions/gnutls_x509_crt_get_key_purpose_oid.short FUNCS += functions/gnutls_x509_crt_get_key_usage FUNCS += functions/gnutls_x509_crt_get_key_usage.short +FUNCS += functions/gnutls_x509_crt_get_name_constraints +FUNCS += functions/gnutls_x509_crt_get_name_constraints.short FUNCS += functions/gnutls_x509_crt_get_pk_algorithm FUNCS += functions/gnutls_x509_crt_get_pk_algorithm.short FUNCS += functions/gnutls_x509_crt_get_pk_dsa_raw FUNCS += functions/gnutls_x509_crt_get_pk_dsa_raw.short FUNCS += functions/gnutls_x509_crt_get_pk_rsa_raw FUNCS += functions/gnutls_x509_crt_get_pk_rsa_raw.short +FUNCS += functions/gnutls_x509_crt_get_policy +FUNCS += functions/gnutls_x509_crt_get_policy.short FUNCS += functions/gnutls_x509_crt_get_preferred_hash_algorithm FUNCS += functions/gnutls_x509_crt_get_preferred_hash_algorithm.short FUNCS += functions/gnutls_x509_crt_get_private_key_usage_period @@ -1791,12 +2249,18 @@ FUNCS += functions/gnutls_x509_crt_set_crq FUNCS += functions/gnutls_x509_crt_set_crq.short FUNCS += functions/gnutls_x509_crt_set_crq_extensions FUNCS += functions/gnutls_x509_crt_set_crq_extensions.short +FUNCS += functions/gnutls_x509_crt_set_dn +FUNCS += functions/gnutls_x509_crt_set_dn.short FUNCS += functions/gnutls_x509_crt_set_dn_by_oid FUNCS += functions/gnutls_x509_crt_set_dn_by_oid.short FUNCS += functions/gnutls_x509_crt_set_expiration_time FUNCS += functions/gnutls_x509_crt_set_expiration_time.short FUNCS += functions/gnutls_x509_crt_set_extension_by_oid FUNCS += functions/gnutls_x509_crt_set_extension_by_oid.short +FUNCS += functions/gnutls_x509_crt_set_issuer_alt_name +FUNCS += functions/gnutls_x509_crt_set_issuer_alt_name.short +FUNCS += functions/gnutls_x509_crt_set_issuer_dn +FUNCS += functions/gnutls_x509_crt_set_issuer_dn.short FUNCS += functions/gnutls_x509_crt_set_issuer_dn_by_oid FUNCS += functions/gnutls_x509_crt_set_issuer_dn_by_oid.short FUNCS += functions/gnutls_x509_crt_set_key @@ -1805,6 +2269,12 @@ FUNCS += functions/gnutls_x509_crt_set_key_purpose_oid FUNCS += functions/gnutls_x509_crt_set_key_purpose_oid.short FUNCS += functions/gnutls_x509_crt_set_key_usage FUNCS += functions/gnutls_x509_crt_set_key_usage.short +FUNCS += functions/gnutls_x509_crt_set_name_constraints +FUNCS += functions/gnutls_x509_crt_set_name_constraints.short +FUNCS += functions/gnutls_x509_crt_set_pin_function +FUNCS += functions/gnutls_x509_crt_set_pin_function.short +FUNCS += functions/gnutls_x509_crt_set_policy +FUNCS += functions/gnutls_x509_crt_set_policy.short FUNCS += functions/gnutls_x509_crt_set_private_key_usage_period FUNCS += functions/gnutls_x509_crt_set_private_key_usage_period.short FUNCS += functions/gnutls_x509_crt_set_proxy @@ -1815,10 +2285,10 @@ FUNCS += functions/gnutls_x509_crt_set_pubkey FUNCS += functions/gnutls_x509_crt_set_pubkey.short FUNCS += functions/gnutls_x509_crt_set_serial FUNCS += functions/gnutls_x509_crt_set_serial.short -FUNCS += functions/gnutls_x509_crt_set_subject_alt_name -FUNCS += functions/gnutls_x509_crt_set_subject_alt_name.short FUNCS += functions/gnutls_x509_crt_set_subject_alternative_name FUNCS += functions/gnutls_x509_crt_set_subject_alternative_name.short +FUNCS += functions/gnutls_x509_crt_set_subject_alt_name +FUNCS += functions/gnutls_x509_crt_set_subject_alt_name.short FUNCS += functions/gnutls_x509_crt_set_subject_key_id FUNCS += functions/gnutls_x509_crt_set_subject_key_id.short FUNCS += functions/gnutls_x509_crt_set_version @@ -1837,6 +2307,8 @@ FUNCS += functions/gnutls_x509_dn_deinit FUNCS += functions/gnutls_x509_dn_deinit.short FUNCS += functions/gnutls_x509_dn_export FUNCS += functions/gnutls_x509_dn_export.short +FUNCS += functions/gnutls_x509_dn_export2 +FUNCS += functions/gnutls_x509_dn_export2.short FUNCS += functions/gnutls_x509_dn_get_rdn_ava FUNCS += functions/gnutls_x509_dn_get_rdn_ava.short FUNCS += functions/gnutls_x509_dn_import @@ -1847,12 +2319,98 @@ FUNCS += functions/gnutls_x509_dn_oid_known FUNCS += functions/gnutls_x509_dn_oid_known.short FUNCS += functions/gnutls_x509_dn_oid_name FUNCS += functions/gnutls_x509_dn_oid_name.short +FUNCS += functions/gnutls_x509_ext_export_aia +FUNCS += functions/gnutls_x509_ext_export_aia.short +FUNCS += functions/gnutls_x509_ext_export_authority_key_id +FUNCS += functions/gnutls_x509_ext_export_authority_key_id.short +FUNCS += functions/gnutls_x509_ext_export_basic_constraints +FUNCS += functions/gnutls_x509_ext_export_basic_constraints.short +FUNCS += functions/gnutls_x509_ext_export_crl_dist_points +FUNCS += functions/gnutls_x509_ext_export_crl_dist_points.short +FUNCS += functions/gnutls_x509_ext_export_key_purposes +FUNCS += functions/gnutls_x509_ext_export_key_purposes.short +FUNCS += functions/gnutls_x509_ext_export_key_usage +FUNCS += functions/gnutls_x509_ext_export_key_usage.short +FUNCS += functions/gnutls_x509_ext_export_name_constraints +FUNCS += functions/gnutls_x509_ext_export_name_constraints.short +FUNCS += functions/gnutls_x509_ext_export_policies +FUNCS += functions/gnutls_x509_ext_export_policies.short +FUNCS += functions/gnutls_x509_ext_export_private_key_usage_period +FUNCS += functions/gnutls_x509_ext_export_private_key_usage_period.short +FUNCS += functions/gnutls_x509_ext_export_proxy +FUNCS += functions/gnutls_x509_ext_export_proxy.short +FUNCS += functions/gnutls_x509_ext_export_subject_alt_names +FUNCS += functions/gnutls_x509_ext_export_subject_alt_names.short +FUNCS += functions/gnutls_x509_ext_export_subject_key_id +FUNCS += functions/gnutls_x509_ext_export_subject_key_id.short +FUNCS += functions/gnutls_x509_ext_import_aia +FUNCS += functions/gnutls_x509_ext_import_aia.short +FUNCS += functions/gnutls_x509_ext_import_authority_key_id +FUNCS += functions/gnutls_x509_ext_import_authority_key_id.short +FUNCS += functions/gnutls_x509_ext_import_basic_constraints +FUNCS += functions/gnutls_x509_ext_import_basic_constraints.short +FUNCS += functions/gnutls_x509_ext_import_crl_dist_points +FUNCS += functions/gnutls_x509_ext_import_crl_dist_points.short +FUNCS += functions/gnutls_x509_ext_import_key_purposes +FUNCS += functions/gnutls_x509_ext_import_key_purposes.short +FUNCS += functions/gnutls_x509_ext_import_key_usage +FUNCS += functions/gnutls_x509_ext_import_key_usage.short +FUNCS += functions/gnutls_x509_ext_import_name_constraints +FUNCS += functions/gnutls_x509_ext_import_name_constraints.short +FUNCS += functions/gnutls_x509_ext_import_policies +FUNCS += functions/gnutls_x509_ext_import_policies.short +FUNCS += functions/gnutls_x509_ext_import_private_key_usage_period +FUNCS += functions/gnutls_x509_ext_import_private_key_usage_period.short +FUNCS += functions/gnutls_x509_ext_import_proxy +FUNCS += functions/gnutls_x509_ext_import_proxy.short +FUNCS += functions/gnutls_x509_ext_import_subject_alt_names +FUNCS += functions/gnutls_x509_ext_import_subject_alt_names.short +FUNCS += functions/gnutls_x509_ext_import_subject_key_id +FUNCS += functions/gnutls_x509_ext_import_subject_key_id.short +FUNCS += functions/gnutls_x509_key_purpose_deinit +FUNCS += functions/gnutls_x509_key_purpose_deinit.short +FUNCS += functions/gnutls_x509_key_purpose_get +FUNCS += functions/gnutls_x509_key_purpose_get.short +FUNCS += functions/gnutls_x509_key_purpose_init +FUNCS += functions/gnutls_x509_key_purpose_init.short +FUNCS += functions/gnutls_x509_key_purpose_set +FUNCS += functions/gnutls_x509_key_purpose_set.short +FUNCS += functions/gnutls_x509_name_constraints_add_excluded +FUNCS += functions/gnutls_x509_name_constraints_add_excluded.short +FUNCS += functions/gnutls_x509_name_constraints_add_permitted +FUNCS += functions/gnutls_x509_name_constraints_add_permitted.short +FUNCS += functions/gnutls_x509_name_constraints_check +FUNCS += functions/gnutls_x509_name_constraints_check.short +FUNCS += functions/gnutls_x509_name_constraints_check_crt +FUNCS += functions/gnutls_x509_name_constraints_check_crt.short +FUNCS += functions/gnutls_x509_name_constraints_deinit +FUNCS += functions/gnutls_x509_name_constraints_deinit.short +FUNCS += functions/gnutls_x509_name_constraints_get_excluded +FUNCS += functions/gnutls_x509_name_constraints_get_excluded.short +FUNCS += functions/gnutls_x509_name_constraints_get_permitted +FUNCS += functions/gnutls_x509_name_constraints_get_permitted.short +FUNCS += functions/gnutls_x509_name_constraints_init +FUNCS += functions/gnutls_x509_name_constraints_init.short +FUNCS += functions/gnutls_x509_policies_deinit +FUNCS += functions/gnutls_x509_policies_deinit.short +FUNCS += functions/gnutls_x509_policies_get +FUNCS += functions/gnutls_x509_policies_get.short +FUNCS += functions/gnutls_x509_policies_init +FUNCS += functions/gnutls_x509_policies_init.short +FUNCS += functions/gnutls_x509_policies_set +FUNCS += functions/gnutls_x509_policies_set.short +FUNCS += functions/gnutls_x509_policy_release +FUNCS += functions/gnutls_x509_policy_release.short FUNCS += functions/gnutls_x509_privkey_cpy FUNCS += functions/gnutls_x509_privkey_cpy.short FUNCS += functions/gnutls_x509_privkey_deinit FUNCS += functions/gnutls_x509_privkey_deinit.short FUNCS += functions/gnutls_x509_privkey_export FUNCS += functions/gnutls_x509_privkey_export.short +FUNCS += functions/gnutls_x509_privkey_export2 +FUNCS += functions/gnutls_x509_privkey_export2.short +FUNCS += functions/gnutls_x509_privkey_export2_pkcs8 +FUNCS += functions/gnutls_x509_privkey_export2_pkcs8.short FUNCS += functions/gnutls_x509_privkey_export_dsa_raw FUNCS += functions/gnutls_x509_privkey_export_dsa_raw.short FUNCS += functions/gnutls_x509_privkey_export_ecc_raw @@ -1871,12 +2429,18 @@ FUNCS += functions/gnutls_x509_privkey_get_key_id FUNCS += functions/gnutls_x509_privkey_get_key_id.short FUNCS += functions/gnutls_x509_privkey_get_pk_algorithm FUNCS += functions/gnutls_x509_privkey_get_pk_algorithm.short +FUNCS += functions/gnutls_x509_privkey_get_pk_algorithm2 +FUNCS += functions/gnutls_x509_privkey_get_pk_algorithm2.short FUNCS += functions/gnutls_x509_privkey_import FUNCS += functions/gnutls_x509_privkey_import.short +FUNCS += functions/gnutls_x509_privkey_import2 +FUNCS += functions/gnutls_x509_privkey_import2.short FUNCS += functions/gnutls_x509_privkey_import_dsa_raw FUNCS += functions/gnutls_x509_privkey_import_dsa_raw.short FUNCS += functions/gnutls_x509_privkey_import_ecc_raw FUNCS += functions/gnutls_x509_privkey_import_ecc_raw.short +FUNCS += functions/gnutls_x509_privkey_import_openssl +FUNCS += functions/gnutls_x509_privkey_import_openssl.short FUNCS += functions/gnutls_x509_privkey_import_pkcs8 FUNCS += functions/gnutls_x509_privkey_import_pkcs8.short FUNCS += functions/gnutls_x509_privkey_import_rsa_raw @@ -1905,12 +2469,24 @@ FUNCS += functions/gnutls_x509_trust_list_add_crls FUNCS += functions/gnutls_x509_trust_list_add_crls.short FUNCS += functions/gnutls_x509_trust_list_add_named_crt FUNCS += functions/gnutls_x509_trust_list_add_named_crt.short +FUNCS += functions/gnutls_x509_trust_list_add_system_trust +FUNCS += functions/gnutls_x509_trust_list_add_system_trust.short +FUNCS += functions/gnutls_x509_trust_list_add_trust_file +FUNCS += functions/gnutls_x509_trust_list_add_trust_file.short +FUNCS += functions/gnutls_x509_trust_list_add_trust_mem +FUNCS += functions/gnutls_x509_trust_list_add_trust_mem.short FUNCS += functions/gnutls_x509_trust_list_deinit FUNCS += functions/gnutls_x509_trust_list_deinit.short FUNCS += functions/gnutls_x509_trust_list_get_issuer FUNCS += functions/gnutls_x509_trust_list_get_issuer.short FUNCS += functions/gnutls_x509_trust_list_init FUNCS += functions/gnutls_x509_trust_list_init.short +FUNCS += functions/gnutls_x509_trust_list_remove_cas +FUNCS += functions/gnutls_x509_trust_list_remove_cas.short +FUNCS += functions/gnutls_x509_trust_list_remove_trust_file +FUNCS += functions/gnutls_x509_trust_list_remove_trust_file.short +FUNCS += functions/gnutls_x509_trust_list_remove_trust_mem +FUNCS += functions/gnutls_x509_trust_list_remove_trust_mem.short FUNCS += functions/gnutls_x509_trust_list_verify_crt FUNCS += functions/gnutls_x509_trust_list_verify_crt.short FUNCS += functions/gnutls_x509_trust_list_verify_named_crt diff --git a/doc/Makefile.in b/doc/Makefile.in index 0ecc3bd..2bf8fb9 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -36,23 +35,51 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -72,132 +99,107 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @ENABLE_GTK_DOC_TRUE@am__append_1 = reference -@WANT_TEST_SUITE_TRUE@am__append_2 = ../src/cli-args.def -@WANT_TEST_SUITE_TRUE@am__append_3 = ../src/cli-debug-args.def -@WANT_TEST_SUITE_TRUE@am__append_4 = ../src/serv-args.def -@WANT_TEST_SUITE_TRUE@am__append_5 = ../src/certtool-args.def -@WANT_TEST_SUITE_TRUE@am__append_6 = ../src/ocsptool-args.def -@WANT_TEST_SUITE_TRUE@am__append_7 = ../src/srptool-args.def -@WANT_TEST_SUITE_TRUE@am__append_8 = ../src/psk-args.def -@WANT_TEST_SUITE_TRUE@am__append_9 = ../src/p11tool-args.def # Generated texinfos. # for some reason it does not work when cross compiling -@WINDOWS_FALSE@am__append_10 = error_codes.texi algorithms.texi alerts.texi enums.texi +@WINDOWS_FALSE@am__append_2 = error_codes.texi algorithms.texi alerts.texi enums.texi EXTRA_PROGRAMS = errcodes$(EXEEXT) printlist$(EXEEXT) \ alert-printlist$(EXEEXT) subdir = doc -DIST_COMMON = $(gnutls_TEXINFOS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/stamp-1 $(srcdir)/stamp-vti \ - $(srcdir)/version-guile.texi $(srcdir)/version.texi TODO +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/build-aux/depcomp $(gnutls_TEXINFOS) \ + $(top_srcdir)/build-aux/mdate-sh $(srcdir)/version.texi \ + $(srcdir)/stamp-vti $(srcdir)/version-guile.texi \ + $(srcdir)/stamp-1 $(top_srcdir)/build-aux/texinfo.tex TODO ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -208,13 +210,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -230,12 +231,25 @@ alert_printlist_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent +am__v_lt_1 = am_errcodes_OBJECTS = errcodes.$(OBJEXT) common.$(OBJEXT) errcodes_OBJECTS = $(am_errcodes_OBJECTS) errcodes_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la am_printlist_OBJECTS = printlist.$(OBJEXT) common.$(OBJEXT) printlist_OBJECTS = $(am_printlist_OBJECTS) printlist_DEPENDENCIES = ../lib/libgnutls.la ../gl/libgnu.la +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles @@ -248,24 +262,48 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(alert_printlist_SOURCES) $(errcodes_SOURCES) \ $(printlist_SOURCES) DIST_SOURCES = $(alert_printlist_SOURCES) $(errcodes_SOURCES) \ $(printlist_SOURCES) +AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) +am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) +am__v_DVIPS_0 = @echo " DVIPS " $@; +am__v_DVIPS_1 = +AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) +am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) +am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; +am__v_MAKEINFO_1 = +AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) +am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) +am__v_INFOHTML_0 = @echo " INFOHTML" $@; +am__v_INFOHTML_1 = +AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) +am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) +am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; +am__v_TEXI2DVI_1 = +AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) +am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) +am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; +am__v_TEXI2PDF_1 = +AM_V_texinfo = $(am__v_texinfo_@AM_V@) +am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) +am__v_texinfo_0 = -q +am__v_texinfo_1 = +AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) +am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) +am__v_texidevnull_0 = > /dev/null +am__v_texidevnull_1 = INFO_DEPS = $(srcdir)/gnutls.info $(srcdir)/gnutls-guile.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux @@ -277,13 +315,14 @@ TEXINFOS = gnutls.texi gnutls-guile.texi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html DVIPS = dvips -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -320,9 +359,29 @@ am__uninstall_files_from_dir = { \ DATA = $(images_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = examples cyclo scripts manpages credentials latex \ @@ -361,8 +420,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -410,61 +469,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -473,22 +502,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -497,9 +516,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -531,49 +547,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -612,23 +597,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -646,29 +626,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -680,17 +648,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -719,15 +681,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -784,7 +740,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -796,52 +751,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -858,28 +777,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -889,43 +793,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -936,38 +822,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -988,14 +857,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -1003,7 +869,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -1015,20 +880,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -1039,12 +896,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -1067,10 +919,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -1078,9 +928,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1129,6 +976,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -1146,53 +995,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1202,27 +1053,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1232,25 +1079,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1292,45 +1133,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1343,45 +1159,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1399,16 +1192,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1425,24 +1213,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1460,13 +1239,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1494,18 +1271,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1522,6 +1299,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1548,6 +1328,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1586,17 +1371,9 @@ top_srcdir = @top_srcdir@ EXTRA_DIST = TODO certtool.cfg gnutls.pdf gnutls.html \ doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css \ gnutls-guile.pdf gnutls-guile.html stamp_enums stamp_functions \ - $(guile_texi) extract-guile-c-doc.scm + doc.mk $(guile_texi) extract-guile-c-doc.scm SUBDIRS = examples cyclo scripts manpages credentials latex \ $(am__append_1) -SRC_DEF_CLI = $(am__append_2) -SRC_DEF_CLI_DEBUG = $(am__append_3) -SRC_DEF_SERV = $(am__append_4) -SRC_DEF_CERTTOOL = $(am__append_5) -SRC_DEF_OCSPTOOL = $(am__append_6) -SRC_DEF_SRPTOOL = $(am__append_7) -SRC_DEF_PSKTOOL = $(am__append_8) -SRC_DEF_P11TOOL = $(am__append_9) info_TEXINFOS = gnutls.texi gnutls-guile.texi # Examples. @@ -1604,18 +1381,14 @@ info_TEXINFOS = gnutls.texi gnutls-guile.texi # Images. Make sure there are eps + png + pdf of each, plus the source dia. # Images. Make sure there are eps + png + pdf of each, plus the source dia. - -# Generated texinfos. gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi cha-bib.texi \ cha-cert-auth.texi cha-cert-auth2.texi cha-ciphersuites.texi \ cha-copying.texi cha-functions.texi cha-gtls-app.texi \ cha-internals.texi cha-intro-tls.texi cha-library.texi \ cha-preface.texi cha-programs.texi sec-tls-app.texi \ cha-errors.texi cha-support.texi cha-shared-key.texi \ - cha-gtls-examples.texi cha-upgrade.texi invoke-gnutls-cli.texi \ - invoke-gnutls-cli-debug.texi invoke-gnutls-serv.texi \ - invoke-certtool.texi invoke-srptool.texi invoke-ocsptool.texi \ - invoke-psktool.texi invoke-p11tool.texi stamp_functions \ + cha-gtls-examples.texi cha-upgrade.texi cha-tokens.texi \ + cha-crypto.texi cha-auth.texi stamp_functions \ examples/ex-client-anon.c examples/ex-session-info.c \ examples/ex-verify.c examples/ex-cert-select.c \ examples/ex-client-resume.c examples/ex-client-srp.c \ @@ -1637,10 +1410,13 @@ gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi cha-bib.texi \ gnutls-handshake-sequence.png gnutls-handshake-state.dia \ gnutls-handshake-state.eps gnutls-handshake-state.png \ gnutls-modauth.dia gnutls-modauth.eps gnutls-modauth.png \ - gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi \ - pkcs11-api.texi abstract-api.texi compat-api.texi \ - dtls-api.texi crypto-api.texi ocsp-api.texi $(am__append_10) \ - $(ENUMS) $(FUNCS) + $(API_FILES) $(am__append_2) $(ENUMS) $(FUNCS) \ + $(AUTOGENED_DOC) +AUTOGENED_DOC = invoke-gnutls-cli.texi invoke-gnutls-cli-debug.texi \ + invoke-gnutls-serv.texi invoke-certtool.texi invoke-srptool.texi \ + invoke-ocsptool.texi invoke-psktool.texi invoke-p11tool.texi \ + invoke-tpmtool.texi invoke-danetool.texi + imagesdir = $(infodir) images_DATA = \ gnutls-handshake-state.png \ @@ -1655,16 +1431,12 @@ TEXI2DVI = texi2dvi $(AM_MAKEINFOFLAGS) AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) \ --no-split --css-include=$(srcdir)/texinfo.css -MAINTAINERCLEANFILES = gnutls-api.texi x509-api.texi pgp-api.texi \ - pkcs12-api.texi pkcs11-api.texi abstract-api.texi \ - compat-api.texi dtls-api.texi crypto-api.texi ocsp-api.texi \ - $(guile_texi) -HEADER_FILES = $(top_srcdir)/lib/includes/gnutls/gnutls.h.in \ - $(top_srcdir)/lib/includes/gnutls/x509.h $(top_srcdir)/lib/includes/gnutls/openpgp.h \ - $(top_srcdir)/lib/includes/gnutls/pkcs12.h $(top_srcdir)/lib/includes/gnutls/pkcs11.h \ - $(top_srcdir)/lib/includes/gnutls/abstract.h $(top_srcdir)/lib/includes/gnutls/compat.h \ - $(top_srcdir)/lib/includes/gnutls/dtls.h $(top_srcdir)/lib/includes/gnutls/crypto.h \ - $(top_srcdir)/lib/includes/gnutls/ocsp.h +MAINTAINERCLEANFILES = $(API_FILES) $(guile_texi) + +# Generated texinfos. +API_FILES = gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi \ + tpm-api.texi pkcs11-api.texi abstract-api.texi compat-api.texi \ + dtls-api.texi crypto-api.texi ocsp-api.texi tpm-api.texi dane-api.texi DISTCLEANFILES = error_codes.texi algorithms.texi alerts.texi \ enums.texi $(ENUMS) stamp_enums stamp_functions @@ -1693,12 +1465,17 @@ guile_TEXINFOS = gnutls-guile.texi $(guile_texi) @HAVE_GUILE_TRUE@ -I$(top_srcdir)/guile/src -I$(top_builddir)/guile/src \ @HAVE_GUILE_TRUE@ $(GUILE_CFLAGS) -ENUMS = enums/gnutls_alert_description_t enums/gnutls_alert_level_t \ +ENUMS = enums/dane_cert_type_t enums/dane_cert_usage_t \ + enums/dane_match_type_t enums/dane_query_status_t \ + enums/dane_state_flags_t enums/dane_verify_flags_t \ + enums/dane_verify_status_t enums/gnutls_alert_description_t \ + enums/gnutls_alert_level_t \ enums/gnutls_certificate_import_flags \ enums/gnutls_certificate_print_formats_t \ enums/gnutls_certificate_request_t \ enums/gnutls_certificate_status_t \ enums/gnutls_certificate_type_t \ + enums/gnutls_certificate_verification_profiles_t \ enums/gnutls_certificate_verify_flags \ enums/gnutls_channel_binding_t enums/gnutls_cipher_algorithm_t \ enums/gnutls_close_request_t enums/gnutls_compression_method_t \ @@ -1706,20 +1483,52 @@ ENUMS = enums/gnutls_alert_description_t enums/gnutls_alert_level_t \ enums/gnutls_digest_algorithm_t enums/gnutls_ecc_curve_t \ enums/gnutls_handshake_description_t \ enums/gnutls_kx_algorithm_t enums/gnutls_mac_algorithm_t \ + enums/gnutls_ocsp_cert_status_t \ + enums/gnutls_ocsp_print_formats_t \ + enums/gnutls_ocsp_resp_status_t \ + enums/gnutls_ocsp_verify_reason_t \ enums/gnutls_openpgp_crt_fmt_t \ enums/gnutls_openpgp_crt_status_t enums/gnutls_params_type_t \ - enums/gnutls_pk_algorithm_t enums/gnutls_pkcs11_obj_attr_t \ - enums/gnutls_pkcs11_obj_info_t enums/gnutls_pkcs11_obj_type_t \ + enums/gnutls_pin_flag_t enums/gnutls_pk_algorithm_t \ + enums/gnutls_pkcs11_obj_attr_t enums/gnutls_pkcs11_obj_info_t \ + enums/gnutls_pkcs11_obj_type_t \ enums/gnutls_pkcs11_token_info_t \ - enums/gnutls_pkcs12_bag_type_t \ - enums/gnutls_pkcs_encrypt_flags_t enums/gnutls_privkey_type_t \ - enums/gnutls_protocol_t enums/gnutls_psk_key_flags \ + enums/gnutls_pkcs11_url_type_t enums/gnutls_pkcs12_bag_type_t \ + enums/gnutls_pkcs_encrypt_flags_t enums/gnutls_privkey_flags_t \ + enums/gnutls_privkey_type_t enums/gnutls_protocol_t \ + enums/gnutls_psk_key_flags enums/gnutls_pubkey_flags_t \ enums/gnutls_rnd_level_t enums/gnutls_sec_param_t \ enums/gnutls_server_name_type_t enums/gnutls_sign_algorithm_t \ + enums/gnutls_srtp_profile_t \ enums/gnutls_supplemental_data_format_type_t \ - enums/gnutls_x509_crt_fmt_t \ + enums/gnutls_tpmkey_fmt_t enums/gnutls_vdata_types_t \ + enums/gnutls_x509_crl_reason_t enums/gnutls_x509_crt_fmt_t \ enums/gnutls_x509_subject_alt_name_t -FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ +FUNCS = functions/dane_cert_type_name \ + functions/dane_cert_type_name.short \ + functions/dane_cert_usage_name \ + functions/dane_cert_usage_name.short \ + functions/dane_match_type_name \ + functions/dane_match_type_name.short functions/dane_query_data \ + functions/dane_query_data.short functions/dane_query_deinit \ + functions/dane_query_deinit.short functions/dane_query_entries \ + functions/dane_query_entries.short functions/dane_query_status \ + functions/dane_query_status.short functions/dane_query_tlsa \ + functions/dane_query_tlsa.short functions/dane_raw_tlsa \ + functions/dane_raw_tlsa.short functions/dane_state_deinit \ + functions/dane_state_deinit.short functions/dane_state_init \ + functions/dane_state_init.short \ + functions/dane_state_set_dlv_file \ + functions/dane_state_set_dlv_file.short \ + functions/dane_strerror functions/dane_strerror.short \ + functions/dane_verification_status_print \ + functions/dane_verification_status_print.short \ + functions/dane_verify_crt functions/dane_verify_crt.short \ + functions/dane_verify_crt_raw \ + functions/dane_verify_crt_raw.short \ + functions/dane_verify_session_crt \ + functions/dane_verify_session_crt.short \ + functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_alert_get_name \ functions/gnutls_alert_get_name.short \ functions/gnutls_alert_get_strname \ @@ -1727,6 +1536,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_alert_send functions/gnutls_alert_send.short \ functions/gnutls_alert_send_appropriate \ functions/gnutls_alert_send_appropriate.short \ + functions/gnutls_alpn_get_selected_protocol \ + functions/gnutls_alpn_get_selected_protocol.short \ + functions/gnutls_alpn_set_protocols \ + functions/gnutls_alpn_set_protocols.short \ functions/gnutls_anon_allocate_client_credentials \ functions/gnutls_anon_allocate_client_credentials.short \ functions/gnutls_anon_allocate_server_credentials \ @@ -1754,6 +1567,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_certificate_allocate_credentials.short \ functions/gnutls_certificate_client_get_request_status \ functions/gnutls_certificate_client_get_request_status.short \ + functions/gnutls_certificate_client_set_retrieve_function \ + functions/gnutls_certificate_client_set_retrieve_function.short \ functions/gnutls_certificate_expiration_time_peers \ functions/gnutls_certificate_expiration_time_peers.short \ functions/gnutls_certificate_free_ca_names \ @@ -1766,20 +1581,30 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_certificate_free_crls.short \ functions/gnutls_certificate_free_keys \ functions/gnutls_certificate_free_keys.short \ + functions/gnutls_certificate_get_crt_raw \ + functions/gnutls_certificate_get_crt_raw.short \ functions/gnutls_certificate_get_issuer \ functions/gnutls_certificate_get_issuer.short \ functions/gnutls_certificate_get_ours \ functions/gnutls_certificate_get_ours.short \ functions/gnutls_certificate_get_peers \ functions/gnutls_certificate_get_peers.short \ + functions/gnutls_certificate_get_peers_subkey_id \ + functions/gnutls_certificate_get_peers_subkey_id.short \ functions/gnutls_certificate_send_x509_rdn_sequence \ functions/gnutls_certificate_send_x509_rdn_sequence.short \ functions/gnutls_certificate_server_set_request \ functions/gnutls_certificate_server_set_request.short \ + functions/gnutls_certificate_server_set_retrieve_function \ + functions/gnutls_certificate_server_set_retrieve_function.short \ functions/gnutls_certificate_set_dh_params \ functions/gnutls_certificate_set_dh_params.short \ functions/gnutls_certificate_set_key \ functions/gnutls_certificate_set_key.short \ + functions/gnutls_certificate_set_ocsp_status_request_file \ + functions/gnutls_certificate_set_ocsp_status_request_file.short \ + functions/gnutls_certificate_set_ocsp_status_request_function \ + functions/gnutls_certificate_set_ocsp_status_request_function.short \ functions/gnutls_certificate_set_openpgp_key \ functions/gnutls_certificate_set_openpgp_key.short \ functions/gnutls_certificate_set_openpgp_key_file \ @@ -1796,12 +1621,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_certificate_set_openpgp_keyring_mem.short \ functions/gnutls_certificate_set_params_function \ functions/gnutls_certificate_set_params_function.short \ + functions/gnutls_certificate_set_pin_function \ + functions/gnutls_certificate_set_pin_function.short \ functions/gnutls_certificate_set_retrieve_function \ functions/gnutls_certificate_set_retrieve_function.short \ functions/gnutls_certificate_set_retrieve_function2 \ functions/gnutls_certificate_set_retrieve_function2.short \ functions/gnutls_certificate_set_rsa_export_params \ functions/gnutls_certificate_set_rsa_export_params.short \ + functions/gnutls_certificate_set_trust_list \ + functions/gnutls_certificate_set_trust_list.short \ functions/gnutls_certificate_set_verify_flags \ functions/gnutls_certificate_set_verify_flags.short \ functions/gnutls_certificate_set_verify_function \ @@ -1818,8 +1647,12 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_certificate_set_x509_key.short \ functions/gnutls_certificate_set_x509_key_file \ functions/gnutls_certificate_set_x509_key_file.short \ + functions/gnutls_certificate_set_x509_key_file2 \ + functions/gnutls_certificate_set_x509_key_file2.short \ functions/gnutls_certificate_set_x509_key_mem \ functions/gnutls_certificate_set_x509_key_mem.short \ + functions/gnutls_certificate_set_x509_key_mem2 \ + functions/gnutls_certificate_set_x509_key_mem2.short \ functions/gnutls_certificate_set_x509_simple_pkcs12_file \ functions/gnutls_certificate_set_x509_simple_pkcs12_file.short \ functions/gnutls_certificate_set_x509_simple_pkcs12_mem \ @@ -1842,8 +1675,14 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_certificate_type_list.short \ functions/gnutls_certificate_type_set_priority \ functions/gnutls_certificate_type_set_priority.short \ + functions/gnutls_certificate_verification_status_print \ + functions/gnutls_certificate_verification_status_print.short \ + functions/gnutls_certificate_verify_peers \ + functions/gnutls_certificate_verify_peers.short \ functions/gnutls_certificate_verify_peers2 \ functions/gnutls_certificate_verify_peers2.short \ + functions/gnutls_certificate_verify_peers3 \ + functions/gnutls_certificate_verify_peers3.short \ functions/gnutls_check_version \ functions/gnutls_check_version.short \ functions/gnutls_cipher_add_auth \ @@ -1863,10 +1702,14 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_cipher_get_block_size.short \ functions/gnutls_cipher_get_id \ functions/gnutls_cipher_get_id.short \ + functions/gnutls_cipher_get_iv_size \ + functions/gnutls_cipher_get_iv_size.short \ functions/gnutls_cipher_get_key_size \ functions/gnutls_cipher_get_key_size.short \ functions/gnutls_cipher_get_name \ functions/gnutls_cipher_get_name.short \ + functions/gnutls_cipher_get_tag_size \ + functions/gnutls_cipher_get_tag_size.short \ functions/gnutls_cipher_init \ functions/gnutls_cipher_init.short \ functions/gnutls_cipher_list \ @@ -1892,10 +1735,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_compression_set_priority.short \ functions/gnutls_credentials_clear \ functions/gnutls_credentials_clear.short \ + functions/gnutls_credentials_get \ + functions/gnutls_credentials_get.short \ functions/gnutls_credentials_set \ functions/gnutls_credentials_set.short \ functions/gnutls_db_check_entry \ functions/gnutls_db_check_entry.short \ + functions/gnutls_db_check_entry_time \ + functions/gnutls_db_check_entry_time.short \ + functions/gnutls_db_get_default_cache_expiration \ + functions/gnutls_db_get_default_cache_expiration.short \ functions/gnutls_db_get_ptr functions/gnutls_db_get_ptr.short \ functions/gnutls_db_remove_session \ functions/gnutls_db_remove_session.short \ @@ -1923,6 +1772,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_dh_params_cpy.short \ functions/gnutls_dh_params_deinit \ functions/gnutls_dh_params_deinit.short \ + functions/gnutls_dh_params_export2_pkcs3 \ + functions/gnutls_dh_params_export2_pkcs3.short \ functions/gnutls_dh_params_export_pkcs3 \ functions/gnutls_dh_params_export_pkcs3.short \ functions/gnutls_dh_params_export_raw \ @@ -1937,6 +1788,12 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_dh_params_init.short \ functions/gnutls_dh_set_prime_bits \ functions/gnutls_dh_set_prime_bits.short \ + functions/gnutls_digest_get_id \ + functions/gnutls_digest_get_id.short \ + functions/gnutls_digest_get_name \ + functions/gnutls_digest_get_name.short \ + functions/gnutls_digest_list \ + functions/gnutls_digest_list.short \ functions/gnutls_dtls_cookie_send \ functions/gnutls_dtls_cookie_send.short \ functions/gnutls_dtls_cookie_verify \ @@ -1967,8 +1824,12 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_error_is_fatal.short \ functions/gnutls_error_to_alert \ functions/gnutls_error_to_alert.short \ + functions/gnutls_est_record_overhead_size \ + functions/gnutls_est_record_overhead_size.short \ functions/gnutls_fingerprint \ functions/gnutls_fingerprint.short \ + functions/gnutls_fips140_mode_enabled \ + functions/gnutls_fips140_mode_enabled.short \ functions/gnutls_global_deinit \ functions/gnutls_global_deinit.short \ functions/gnutls_global_init \ @@ -1986,32 +1847,55 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_global_set_time_function \ functions/gnutls_global_set_time_function.short \ functions/gnutls_handshake functions/gnutls_handshake.short \ + functions/gnutls_handshake_description_get_name \ + functions/gnutls_handshake_description_get_name.short \ functions/gnutls_handshake_get_last_in \ functions/gnutls_handshake_get_last_in.short \ functions/gnutls_handshake_get_last_out \ functions/gnutls_handshake_get_last_out.short \ + functions/gnutls_handshake_set_hook_function \ + functions/gnutls_handshake_set_hook_function.short \ functions/gnutls_handshake_set_max_packet_length \ functions/gnutls_handshake_set_max_packet_length.short \ functions/gnutls_handshake_set_post_client_hello_function \ functions/gnutls_handshake_set_post_client_hello_function.short \ functions/gnutls_handshake_set_private_extensions \ functions/gnutls_handshake_set_private_extensions.short \ + functions/gnutls_handshake_set_random \ + functions/gnutls_handshake_set_random.short \ + functions/gnutls_handshake_set_timeout \ + functions/gnutls_handshake_set_timeout.short \ functions/gnutls_hash functions/gnutls_hash.short \ functions/gnutls_hash_deinit \ functions/gnutls_hash_deinit.short functions/gnutls_hash_fast \ functions/gnutls_hash_fast.short functions/gnutls_hash_get_len \ functions/gnutls_hash_get_len.short functions/gnutls_hash_init \ functions/gnutls_hash_init.short functions/gnutls_hash_output \ - functions/gnutls_hash_output.short functions/gnutls_hex2bin \ - functions/gnutls_hex2bin.short functions/gnutls_hex_decode \ - functions/gnutls_hex_decode.short functions/gnutls_hex_encode \ - functions/gnutls_hex_encode.short functions/gnutls_hmac \ - functions/gnutls_hmac.short functions/gnutls_hmac_deinit \ + functions/gnutls_hash_output.short \ + functions/gnutls_heartbeat_allowed \ + functions/gnutls_heartbeat_allowed.short \ + functions/gnutls_heartbeat_enable \ + functions/gnutls_heartbeat_enable.short \ + functions/gnutls_heartbeat_get_timeout \ + functions/gnutls_heartbeat_get_timeout.short \ + functions/gnutls_heartbeat_ping \ + functions/gnutls_heartbeat_ping.short \ + functions/gnutls_heartbeat_pong \ + functions/gnutls_heartbeat_pong.short \ + functions/gnutls_heartbeat_set_timeouts \ + functions/gnutls_heartbeat_set_timeouts.short \ + functions/gnutls_hex2bin functions/gnutls_hex2bin.short \ + functions/gnutls_hex_decode functions/gnutls_hex_decode.short \ + functions/gnutls_hex_encode functions/gnutls_hex_encode.short \ + functions/gnutls_hmac functions/gnutls_hmac.short \ + functions/gnutls_hmac_deinit \ functions/gnutls_hmac_deinit.short functions/gnutls_hmac_fast \ functions/gnutls_hmac_fast.short functions/gnutls_hmac_get_len \ functions/gnutls_hmac_get_len.short functions/gnutls_hmac_init \ functions/gnutls_hmac_init.short functions/gnutls_hmac_output \ - functions/gnutls_hmac_output.short functions/gnutls_init \ + functions/gnutls_hmac_output.short \ + functions/gnutls_hmac_set_nonce \ + functions/gnutls_hmac_set_nonce.short functions/gnutls_init \ functions/gnutls_init.short functions/gnutls_key_generate \ functions/gnutls_key_generate.short functions/gnutls_kx_get \ functions/gnutls_kx_get.short functions/gnutls_kx_get_id \ @@ -2020,13 +1904,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_kx_list.short \ functions/gnutls_kx_set_priority \ functions/gnutls_kx_set_priority.short \ + functions/gnutls_load_file functions/gnutls_load_file.short \ functions/gnutls_mac_get functions/gnutls_mac_get.short \ functions/gnutls_mac_get_id functions/gnutls_mac_get_id.short \ functions/gnutls_mac_get_key_size \ functions/gnutls_mac_get_key_size.short \ functions/gnutls_mac_get_name \ - functions/gnutls_mac_get_name.short functions/gnutls_mac_list \ - functions/gnutls_mac_list.short \ + functions/gnutls_mac_get_name.short \ + functions/gnutls_mac_get_nonce_size \ + functions/gnutls_mac_get_nonce_size.short \ + functions/gnutls_mac_list functions/gnutls_mac_list.short \ functions/gnutls_mac_set_priority \ functions/gnutls_mac_set_priority.short \ functions/gnutls_ocsp_req_add_cert \ @@ -2095,12 +1982,22 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_ocsp_resp_verify.short \ functions/gnutls_ocsp_resp_verify_direct \ functions/gnutls_ocsp_resp_verify_direct.short \ + functions/gnutls_ocsp_status_request_enable_client \ + functions/gnutls_ocsp_status_request_enable_client.short \ + functions/gnutls_ocsp_status_request_get \ + functions/gnutls_ocsp_status_request_get.short \ + functions/gnutls_ocsp_status_request_is_checked \ + functions/gnutls_ocsp_status_request_is_checked.short \ functions/gnutls_openpgp_crt_check_hostname \ functions/gnutls_openpgp_crt_check_hostname.short \ + functions/gnutls_openpgp_crt_check_hostname2 \ + functions/gnutls_openpgp_crt_check_hostname2.short \ functions/gnutls_openpgp_crt_deinit \ functions/gnutls_openpgp_crt_deinit.short \ functions/gnutls_openpgp_crt_export \ functions/gnutls_openpgp_crt_export.short \ + functions/gnutls_openpgp_crt_export2 \ + functions/gnutls_openpgp_crt_export2.short \ functions/gnutls_openpgp_crt_get_auth_subkey \ functions/gnutls_openpgp_crt_get_auth_subkey.short \ functions/gnutls_openpgp_crt_get_creation_time \ @@ -2177,6 +2074,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_openpgp_privkey_deinit.short \ functions/gnutls_openpgp_privkey_export \ functions/gnutls_openpgp_privkey_export.short \ + functions/gnutls_openpgp_privkey_export2 \ + functions/gnutls_openpgp_privkey_export2.short \ functions/gnutls_openpgp_privkey_export_dsa_raw \ functions/gnutls_openpgp_privkey_export_dsa_raw.short \ functions/gnutls_openpgp_privkey_export_rsa_raw \ @@ -2199,6 +2098,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_openpgp_privkey_get_subkey_count.short \ functions/gnutls_openpgp_privkey_get_subkey_creation_time \ functions/gnutls_openpgp_privkey_get_subkey_creation_time.short \ + functions/gnutls_openpgp_privkey_get_subkey_expiration_time \ + functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short \ functions/gnutls_openpgp_privkey_get_subkey_fingerprint \ functions/gnutls_openpgp_privkey_get_subkey_fingerprint.short \ functions/gnutls_openpgp_privkey_get_subkey_id \ @@ -2223,6 +2124,9 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_openpgp_send_cert.short \ functions/gnutls_openpgp_set_recv_key_function \ functions/gnutls_openpgp_set_recv_key_function.short \ + functions/gnutls_packet_deinit \ + functions/gnutls_packet_deinit.short \ + functions/gnutls_packet_get functions/gnutls_packet_get.short \ functions/gnutls_pcert_deinit \ functions/gnutls_pcert_deinit.short \ functions/gnutls_pcert_import_openpgp \ @@ -2248,11 +2152,6 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pk_algorithm_get_name.short \ functions/gnutls_pk_bits_to_sec_param \ functions/gnutls_pk_bits_to_sec_param.short \ - functions/gnutls_pk_get_id functions/gnutls_pk_get_id.short \ - functions/gnutls_pk_get_name \ - functions/gnutls_pk_get_name.short functions/gnutls_pk_list \ - functions/gnutls_pk_list.short functions/gnutls_pk_to_sign \ - functions/gnutls_pk_to_sign.short \ functions/gnutls_pkcs11_add_provider \ functions/gnutls_pkcs11_add_provider.short \ functions/gnutls_pkcs11_copy_secret_key \ @@ -2261,16 +2160,26 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs11_copy_x509_crt.short \ functions/gnutls_pkcs11_copy_x509_privkey \ functions/gnutls_pkcs11_copy_x509_privkey.short \ + functions/gnutls_pkcs11_crt_is_known \ + functions/gnutls_pkcs11_crt_is_known.short \ functions/gnutls_pkcs11_deinit \ functions/gnutls_pkcs11_deinit.short \ functions/gnutls_pkcs11_delete_url \ functions/gnutls_pkcs11_delete_url.short \ + functions/gnutls_pkcs11_get_pin_function \ + functions/gnutls_pkcs11_get_pin_function.short \ + functions/gnutls_pkcs11_get_raw_issuer \ + functions/gnutls_pkcs11_get_raw_issuer.short \ functions/gnutls_pkcs11_init \ functions/gnutls_pkcs11_init.short \ functions/gnutls_pkcs11_obj_deinit \ functions/gnutls_pkcs11_obj_deinit.short \ functions/gnutls_pkcs11_obj_export \ functions/gnutls_pkcs11_obj_export.short \ + functions/gnutls_pkcs11_obj_export2 \ + functions/gnutls_pkcs11_obj_export2.short \ + functions/gnutls_pkcs11_obj_export3 \ + functions/gnutls_pkcs11_obj_export3.short \ functions/gnutls_pkcs11_obj_export_url \ functions/gnutls_pkcs11_obj_export_url.short \ functions/gnutls_pkcs11_obj_get_info \ @@ -2283,12 +2192,18 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs11_obj_init.short \ functions/gnutls_pkcs11_obj_list_import_url \ functions/gnutls_pkcs11_obj_list_import_url.short \ + functions/gnutls_pkcs11_obj_list_import_url2 \ + functions/gnutls_pkcs11_obj_list_import_url2.short \ + functions/gnutls_pkcs11_obj_set_pin_function \ + functions/gnutls_pkcs11_obj_set_pin_function.short \ functions/gnutls_pkcs11_privkey_deinit \ functions/gnutls_pkcs11_privkey_deinit.short \ functions/gnutls_pkcs11_privkey_export_url \ functions/gnutls_pkcs11_privkey_export_url.short \ functions/gnutls_pkcs11_privkey_generate \ functions/gnutls_pkcs11_privkey_generate.short \ + functions/gnutls_pkcs11_privkey_generate2 \ + functions/gnutls_pkcs11_privkey_generate2.short \ functions/gnutls_pkcs11_privkey_get_info \ functions/gnutls_pkcs11_privkey_get_info.short \ functions/gnutls_pkcs11_privkey_get_pk_algorithm \ @@ -2297,6 +2212,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs11_privkey_import_url.short \ functions/gnutls_pkcs11_privkey_init \ functions/gnutls_pkcs11_privkey_init.short \ + functions/gnutls_pkcs11_privkey_set_pin_function \ + functions/gnutls_pkcs11_privkey_set_pin_function.short \ + functions/gnutls_pkcs11_privkey_status \ + functions/gnutls_pkcs11_privkey_status.short \ functions/gnutls_pkcs11_reinit \ functions/gnutls_pkcs11_reinit.short \ functions/gnutls_pkcs11_set_pin_function \ @@ -2309,6 +2228,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs11_token_get_info.short \ functions/gnutls_pkcs11_token_get_mechanism \ functions/gnutls_pkcs11_token_get_mechanism.short \ + functions/gnutls_pkcs11_token_get_random \ + functions/gnutls_pkcs11_token_get_random.short \ functions/gnutls_pkcs11_token_get_url \ functions/gnutls_pkcs11_token_get_url.short \ functions/gnutls_pkcs11_token_init \ @@ -2349,6 +2270,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs12_deinit.short \ functions/gnutls_pkcs12_export \ functions/gnutls_pkcs12_export.short \ + functions/gnutls_pkcs12_export2 \ + functions/gnutls_pkcs12_export2.short \ functions/gnutls_pkcs12_generate_mac \ functions/gnutls_pkcs12_generate_mac.short \ functions/gnutls_pkcs12_get_bag \ @@ -2359,6 +2282,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs12_init.short \ functions/gnutls_pkcs12_set_bag \ functions/gnutls_pkcs12_set_bag.short \ + functions/gnutls_pkcs12_simple_parse \ + functions/gnutls_pkcs12_simple_parse.short \ functions/gnutls_pkcs12_verify_mac \ functions/gnutls_pkcs12_verify_mac.short \ functions/gnutls_pkcs7_deinit \ @@ -2369,6 +2294,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs7_delete_crt.short \ functions/gnutls_pkcs7_export \ functions/gnutls_pkcs7_export.short \ + functions/gnutls_pkcs7_export2 \ + functions/gnutls_pkcs7_export2.short \ functions/gnutls_pkcs7_get_crl_count \ functions/gnutls_pkcs7_get_crl_count.short \ functions/gnutls_pkcs7_get_crl_raw \ @@ -2387,11 +2314,18 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pkcs7_set_crt \ functions/gnutls_pkcs7_set_crt.short \ functions/gnutls_pkcs7_set_crt_raw \ - functions/gnutls_pkcs7_set_crt_raw.short functions/gnutls_prf \ + functions/gnutls_pkcs7_set_crt_raw.short \ + functions/gnutls_pk_get_id functions/gnutls_pk_get_id.short \ + functions/gnutls_pk_get_name \ + functions/gnutls_pk_get_name.short functions/gnutls_pk_list \ + functions/gnutls_pk_list.short functions/gnutls_pk_to_sign \ + functions/gnutls_pk_to_sign.short functions/gnutls_prf \ functions/gnutls_prf.short functions/gnutls_prf_raw \ functions/gnutls_prf_raw.short \ functions/gnutls_priority_certificate_type_list \ functions/gnutls_priority_certificate_type_list.short \ + functions/gnutls_priority_cipher_list \ + functions/gnutls_priority_cipher_list.short \ functions/gnutls_priority_compression_list \ functions/gnutls_priority_compression_list.short \ functions/gnutls_priority_deinit \ @@ -2402,6 +2336,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_priority_get_cipher_suite_index.short \ functions/gnutls_priority_init \ functions/gnutls_priority_init.short \ + functions/gnutls_priority_kx_list \ + functions/gnutls_priority_kx_list.short \ + functions/gnutls_priority_mac_list \ + functions/gnutls_priority_mac_list.short \ functions/gnutls_priority_protocol_list \ functions/gnutls_priority_protocol_list.short \ functions/gnutls_priority_set \ @@ -2414,24 +2352,60 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_privkey_decrypt_data.short \ functions/gnutls_privkey_deinit \ functions/gnutls_privkey_deinit.short \ + functions/gnutls_privkey_export_dsa_raw \ + functions/gnutls_privkey_export_dsa_raw.short \ + functions/gnutls_privkey_export_ecc_raw \ + functions/gnutls_privkey_export_ecc_raw.short \ + functions/gnutls_privkey_export_rsa_raw \ + functions/gnutls_privkey_export_rsa_raw.short \ + functions/gnutls_privkey_generate \ + functions/gnutls_privkey_generate.short \ functions/gnutls_privkey_get_pk_algorithm \ functions/gnutls_privkey_get_pk_algorithm.short \ functions/gnutls_privkey_get_type \ functions/gnutls_privkey_get_type.short \ + functions/gnutls_privkey_import_dsa_raw \ + functions/gnutls_privkey_import_dsa_raw.short \ + functions/gnutls_privkey_import_ecc_raw \ + functions/gnutls_privkey_import_ecc_raw.short \ functions/gnutls_privkey_import_ext \ functions/gnutls_privkey_import_ext.short \ + functions/gnutls_privkey_import_ext2 \ + functions/gnutls_privkey_import_ext2.short \ functions/gnutls_privkey_import_openpgp \ functions/gnutls_privkey_import_openpgp.short \ + functions/gnutls_privkey_import_openpgp_raw \ + functions/gnutls_privkey_import_openpgp_raw.short \ functions/gnutls_privkey_import_pkcs11 \ functions/gnutls_privkey_import_pkcs11.short \ + functions/gnutls_privkey_import_pkcs11_url \ + functions/gnutls_privkey_import_pkcs11_url.short \ + functions/gnutls_privkey_import_rsa_raw \ + functions/gnutls_privkey_import_rsa_raw.short \ + functions/gnutls_privkey_import_tpm_raw \ + functions/gnutls_privkey_import_tpm_raw.short \ + functions/gnutls_privkey_import_tpm_url \ + functions/gnutls_privkey_import_tpm_url.short \ + functions/gnutls_privkey_import_url \ + functions/gnutls_privkey_import_url.short \ functions/gnutls_privkey_import_x509 \ functions/gnutls_privkey_import_x509.short \ + functions/gnutls_privkey_import_x509_raw \ + functions/gnutls_privkey_import_x509_raw.short \ functions/gnutls_privkey_init \ functions/gnutls_privkey_init.short \ + functions/gnutls_privkey_set_pin_function \ + functions/gnutls_privkey_set_pin_function.short \ functions/gnutls_privkey_sign_data \ functions/gnutls_privkey_sign_data.short \ functions/gnutls_privkey_sign_hash \ functions/gnutls_privkey_sign_hash.short \ + functions/gnutls_privkey_sign_raw_data \ + functions/gnutls_privkey_sign_raw_data.short \ + functions/gnutls_privkey_status \ + functions/gnutls_privkey_status.short \ + functions/gnutls_privkey_verify_params \ + functions/gnutls_privkey_verify_params.short \ functions/gnutls_protocol_get_id \ functions/gnutls_protocol_get_id.short \ functions/gnutls_protocol_get_name \ @@ -2476,6 +2450,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pubkey_encrypt_data.short \ functions/gnutls_pubkey_export \ functions/gnutls_pubkey_export.short \ + functions/gnutls_pubkey_export2 \ + functions/gnutls_pubkey_export2.short \ + functions/gnutls_pubkey_export_dsa_raw \ + functions/gnutls_pubkey_export_dsa_raw.short \ + functions/gnutls_pubkey_export_ecc_raw \ + functions/gnutls_pubkey_export_ecc_raw.short \ + functions/gnutls_pubkey_export_ecc_x962 \ + functions/gnutls_pubkey_export_ecc_x962.short \ + functions/gnutls_pubkey_export_rsa_raw \ + functions/gnutls_pubkey_export_rsa_raw.short \ functions/gnutls_pubkey_get_key_id \ functions/gnutls_pubkey_get_key_id.short \ functions/gnutls_pubkey_get_key_usage \ @@ -2484,14 +2468,6 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pubkey_get_openpgp_key_id.short \ functions/gnutls_pubkey_get_pk_algorithm \ functions/gnutls_pubkey_get_pk_algorithm.short \ - functions/gnutls_pubkey_get_pk_dsa_raw \ - functions/gnutls_pubkey_get_pk_dsa_raw.short \ - functions/gnutls_pubkey_get_pk_ecc_raw \ - functions/gnutls_pubkey_get_pk_ecc_raw.short \ - functions/gnutls_pubkey_get_pk_ecc_x962 \ - functions/gnutls_pubkey_get_pk_ecc_x962.short \ - functions/gnutls_pubkey_get_pk_rsa_raw \ - functions/gnutls_pubkey_get_pk_rsa_raw.short \ functions/gnutls_pubkey_get_preferred_hash_algorithm \ functions/gnutls_pubkey_get_preferred_hash_algorithm.short \ functions/gnutls_pubkey_get_verify_algorithm \ @@ -2506,6 +2482,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pubkey_import_ecc_x962.short \ functions/gnutls_pubkey_import_openpgp \ functions/gnutls_pubkey_import_openpgp.short \ + functions/gnutls_pubkey_import_openpgp_raw \ + functions/gnutls_pubkey_import_openpgp_raw.short \ functions/gnutls_pubkey_import_pkcs11 \ functions/gnutls_pubkey_import_pkcs11.short \ functions/gnutls_pubkey_import_pkcs11_url \ @@ -2514,12 +2492,26 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pubkey_import_privkey.short \ functions/gnutls_pubkey_import_rsa_raw \ functions/gnutls_pubkey_import_rsa_raw.short \ + functions/gnutls_pubkey_import_tpm_raw \ + functions/gnutls_pubkey_import_tpm_raw.short \ + functions/gnutls_pubkey_import_tpm_url \ + functions/gnutls_pubkey_import_tpm_url.short \ + functions/gnutls_pubkey_import_url \ + functions/gnutls_pubkey_import_url.short \ functions/gnutls_pubkey_import_x509 \ functions/gnutls_pubkey_import_x509.short \ + functions/gnutls_pubkey_import_x509_crq \ + functions/gnutls_pubkey_import_x509_crq.short \ + functions/gnutls_pubkey_import_x509_raw \ + functions/gnutls_pubkey_import_x509_raw.short \ functions/gnutls_pubkey_init \ functions/gnutls_pubkey_init.short \ + functions/gnutls_pubkey_print \ + functions/gnutls_pubkey_print.short \ functions/gnutls_pubkey_set_key_usage \ functions/gnutls_pubkey_set_key_usage.short \ + functions/gnutls_pubkey_set_pin_function \ + functions/gnutls_pubkey_set_pin_function.short \ functions/gnutls_pubkey_verify_data \ functions/gnutls_pubkey_verify_data.short \ functions/gnutls_pubkey_verify_data2 \ @@ -2528,9 +2520,19 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_pubkey_verify_hash.short \ functions/gnutls_pubkey_verify_hash2 \ functions/gnutls_pubkey_verify_hash2.short \ + functions/gnutls_pubkey_verify_params \ + functions/gnutls_pubkey_verify_params.short \ functions/gnutls_random_art functions/gnutls_random_art.short \ + functions/gnutls_range_split \ + functions/gnutls_range_split.short \ + functions/gnutls_record_can_use_length_hiding \ + functions/gnutls_record_can_use_length_hiding.short \ + functions/gnutls_record_check_corked \ + functions/gnutls_record_check_corked.short \ functions/gnutls_record_check_pending \ functions/gnutls_record_check_pending.short \ + functions/gnutls_record_cork \ + functions/gnutls_record_cork.short \ functions/gnutls_record_disable_padding \ functions/gnutls_record_disable_padding.short \ functions/gnutls_record_get_direction \ @@ -2539,17 +2541,30 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_record_get_discarded.short \ functions/gnutls_record_get_max_size \ functions/gnutls_record_get_max_size.short \ + functions/gnutls_record_overhead_size \ + functions/gnutls_record_overhead_size.short \ functions/gnutls_record_recv \ functions/gnutls_record_recv.short \ + functions/gnutls_record_recv_packet \ + functions/gnutls_record_recv_packet.short \ functions/gnutls_record_recv_seq \ functions/gnutls_record_recv_seq.short \ functions/gnutls_record_send \ functions/gnutls_record_send.short \ + functions/gnutls_record_send_range \ + functions/gnutls_record_send_range.short \ + functions/gnutls_record_set_max_empty_records \ + functions/gnutls_record_set_max_empty_records.short \ functions/gnutls_record_set_max_size \ functions/gnutls_record_set_max_size.short \ + functions/gnutls_record_set_timeout \ + functions/gnutls_record_set_timeout.short \ + functions/gnutls_record_uncork \ + functions/gnutls_record_uncork.short \ functions/gnutls_rehandshake \ functions/gnutls_rehandshake.short functions/gnutls_rnd \ - functions/gnutls_rnd.short \ + functions/gnutls_rnd.short functions/gnutls_rnd_refresh \ + functions/gnutls_rnd_refresh.short \ functions/gnutls_rsa_export_get_modulus_bits \ functions/gnutls_rsa_export_get_modulus_bits.short \ functions/gnutls_rsa_export_get_pubkey \ @@ -2576,6 +2591,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_sec_param_get_name.short \ functions/gnutls_sec_param_to_pk_bits \ functions/gnutls_sec_param_to_pk_bits.short \ + functions/gnutls_sec_param_to_symmetric_bits \ + functions/gnutls_sec_param_to_symmetric_bits.short \ functions/gnutls_server_name_get \ functions/gnutls_server_name_get.short \ functions/gnutls_server_name_set \ @@ -2584,12 +2601,18 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_session_channel_binding.short \ functions/gnutls_session_enable_compatibility_mode \ functions/gnutls_session_enable_compatibility_mode.short \ + functions/gnutls_session_force_valid \ + functions/gnutls_session_force_valid.short \ functions/gnutls_session_get_data \ functions/gnutls_session_get_data.short \ functions/gnutls_session_get_data2 \ functions/gnutls_session_get_data2.short \ + functions/gnutls_session_get_desc \ + functions/gnutls_session_get_desc.short \ functions/gnutls_session_get_id \ functions/gnutls_session_get_id.short \ + functions/gnutls_session_get_id2 \ + functions/gnutls_session_get_id2.short \ functions/gnutls_session_get_ptr \ functions/gnutls_session_get_ptr.short \ functions/gnutls_session_get_random \ @@ -2600,6 +2623,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_session_resumption_requested.short \ functions/gnutls_session_set_data \ functions/gnutls_session_set_data.short \ + functions/gnutls_session_set_id \ + functions/gnutls_session_set_id.short \ functions/gnutls_session_set_premaster \ functions/gnutls_session_set_premaster.short \ functions/gnutls_session_set_ptr \ @@ -2614,16 +2639,26 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_set_default_export_priority.short \ functions/gnutls_set_default_priority \ functions/gnutls_set_default_priority.short \ + functions/gnutls_sign_algorithm_get \ + functions/gnutls_sign_algorithm_get.short \ + functions/gnutls_sign_algorithm_get_client \ + functions/gnutls_sign_algorithm_get_client.short \ functions/gnutls_sign_algorithm_get_requested \ functions/gnutls_sign_algorithm_get_requested.short \ functions/gnutls_sign_callback_get \ functions/gnutls_sign_callback_get.short \ functions/gnutls_sign_callback_set \ functions/gnutls_sign_callback_set.short \ + functions/gnutls_sign_get_hash_algorithm \ + functions/gnutls_sign_get_hash_algorithm.short \ functions/gnutls_sign_get_id \ functions/gnutls_sign_get_id.short \ functions/gnutls_sign_get_name \ functions/gnutls_sign_get_name.short \ + functions/gnutls_sign_get_pk_algorithm \ + functions/gnutls_sign_get_pk_algorithm.short \ + functions/gnutls_sign_is_secure \ + functions/gnutls_sign_is_secure.short \ functions/gnutls_sign_list functions/gnutls_sign_list.short \ functions/gnutls_srp_allocate_client_credentials \ functions/gnutls_srp_allocate_client_credentials.short \ @@ -2653,14 +2688,40 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_srp_set_server_credentials_file.short \ functions/gnutls_srp_set_server_credentials_function \ functions/gnutls_srp_set_server_credentials_function.short \ + functions/gnutls_srp_set_server_fake_salt_seed \ + functions/gnutls_srp_set_server_fake_salt_seed.short \ functions/gnutls_srp_verifier \ functions/gnutls_srp_verifier.short \ + functions/gnutls_srtp_get_keys \ + functions/gnutls_srtp_get_keys.short \ + functions/gnutls_srtp_get_mki \ + functions/gnutls_srtp_get_mki.short \ + functions/gnutls_srtp_get_profile_id \ + functions/gnutls_srtp_get_profile_id.short \ + functions/gnutls_srtp_get_profile_name \ + functions/gnutls_srtp_get_profile_name.short \ + functions/gnutls_srtp_get_selected_profile \ + functions/gnutls_srtp_get_selected_profile.short \ + functions/gnutls_srtp_set_mki \ + functions/gnutls_srtp_set_mki.short \ + functions/gnutls_srtp_set_profile \ + functions/gnutls_srtp_set_profile.short \ + functions/gnutls_srtp_set_profile_direct \ + functions/gnutls_srtp_set_profile_direct.short \ functions/gnutls_store_commitment \ functions/gnutls_store_commitment.short \ functions/gnutls_store_pubkey \ functions/gnutls_store_pubkey.short functions/gnutls_strerror \ functions/gnutls_strerror.short functions/gnutls_strerror_name \ functions/gnutls_strerror_name.short \ + functions/gnutls_subject_alt_names_deinit \ + functions/gnutls_subject_alt_names_deinit.short \ + functions/gnutls_subject_alt_names_get \ + functions/gnutls_subject_alt_names_get.short \ + functions/gnutls_subject_alt_names_init \ + functions/gnutls_subject_alt_names_init.short \ + functions/gnutls_subject_alt_names_set \ + functions/gnutls_subject_alt_names_set.short \ functions/gnutls_supplemental_get_name \ functions/gnutls_supplemental_get_name.short \ functions/gnutls_tdb_deinit functions/gnutls_tdb_deinit.short \ @@ -2671,6 +2732,20 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_tdb_set_store_func.short \ functions/gnutls_tdb_set_verify_func \ functions/gnutls_tdb_set_verify_func.short \ + functions/gnutls_tpm_get_registered \ + functions/gnutls_tpm_get_registered.short \ + functions/gnutls_tpm_key_list_deinit \ + functions/gnutls_tpm_key_list_deinit.short \ + functions/gnutls_tpm_key_list_get_url \ + functions/gnutls_tpm_key_list_get_url.short \ + functions/gnutls_tpm_privkey_delete \ + functions/gnutls_tpm_privkey_delete.short \ + functions/gnutls_tpm_privkey_generate \ + functions/gnutls_tpm_privkey_generate.short \ + functions/gnutls_transport_get_int \ + functions/gnutls_transport_get_int.short \ + functions/gnutls_transport_get_int2 \ + functions/gnutls_transport_get_int2.short \ functions/gnutls_transport_get_ptr \ functions/gnutls_transport_get_ptr.short \ functions/gnutls_transport_get_ptr2 \ @@ -2679,6 +2754,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_transport_set_errno.short \ functions/gnutls_transport_set_errno_function \ functions/gnutls_transport_set_errno_function.short \ + functions/gnutls_transport_set_int \ + functions/gnutls_transport_set_int.short \ + functions/gnutls_transport_set_int2 \ + functions/gnutls_transport_set_int2.short \ functions/gnutls_transport_set_ptr \ functions/gnutls_transport_set_ptr.short \ functions/gnutls_transport_set_ptr2 \ @@ -2691,14 +2770,46 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_transport_set_push_function.short \ functions/gnutls_transport_set_vec_push_function \ functions/gnutls_transport_set_vec_push_function.short \ + functions/gnutls_url_is_supported \ + functions/gnutls_url_is_supported.short \ functions/gnutls_verify_stored_pubkey \ functions/gnutls_verify_stored_pubkey.short \ + functions/gnutls_x509_aia_deinit \ + functions/gnutls_x509_aia_deinit.short \ + functions/gnutls_x509_aia_get \ + functions/gnutls_x509_aia_get.short \ + functions/gnutls_x509_aia_init \ + functions/gnutls_x509_aia_init.short \ + functions/gnutls_x509_aia_set \ + functions/gnutls_x509_aia_set.short \ + functions/gnutls_x509_aki_deinit \ + functions/gnutls_x509_aki_deinit.short \ + functions/gnutls_x509_aki_get_cert_issuer \ + functions/gnutls_x509_aki_get_cert_issuer.short \ + functions/gnutls_x509_aki_get_id \ + functions/gnutls_x509_aki_get_id.short \ + functions/gnutls_x509_aki_init \ + functions/gnutls_x509_aki_init.short \ + functions/gnutls_x509_aki_set_cert_issuer \ + functions/gnutls_x509_aki_set_cert_issuer.short \ + functions/gnutls_x509_aki_set_id \ + functions/gnutls_x509_aki_set_id.short \ functions/gnutls_x509_crl_check_issuer \ functions/gnutls_x509_crl_check_issuer.short \ functions/gnutls_x509_crl_deinit \ functions/gnutls_x509_crl_deinit.short \ + functions/gnutls_x509_crl_dist_points_deinit \ + functions/gnutls_x509_crl_dist_points_deinit.short \ + functions/gnutls_x509_crl_dist_points_get \ + functions/gnutls_x509_crl_dist_points_get.short \ + functions/gnutls_x509_crl_dist_points_init \ + functions/gnutls_x509_crl_dist_points_init.short \ + functions/gnutls_x509_crl_dist_points_set \ + functions/gnutls_x509_crl_dist_points_set.short \ functions/gnutls_x509_crl_export \ functions/gnutls_x509_crl_export.short \ + functions/gnutls_x509_crl_export2 \ + functions/gnutls_x509_crl_export2.short \ functions/gnutls_x509_crl_get_authority_key_gn_serial \ functions/gnutls_x509_crl_get_authority_key_gn_serial.short \ functions/gnutls_x509_crl_get_authority_key_id \ @@ -2711,12 +2822,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crl_get_dn_oid.short \ functions/gnutls_x509_crl_get_extension_data \ functions/gnutls_x509_crl_get_extension_data.short \ + functions/gnutls_x509_crl_get_extension_data2 \ + functions/gnutls_x509_crl_get_extension_data2.short \ functions/gnutls_x509_crl_get_extension_info \ functions/gnutls_x509_crl_get_extension_info.short \ functions/gnutls_x509_crl_get_extension_oid \ functions/gnutls_x509_crl_get_extension_oid.short \ functions/gnutls_x509_crl_get_issuer_dn \ functions/gnutls_x509_crl_get_issuer_dn.short \ + functions/gnutls_x509_crl_get_issuer_dn2 \ + functions/gnutls_x509_crl_get_issuer_dn2.short \ functions/gnutls_x509_crl_get_issuer_dn_by_oid \ functions/gnutls_x509_crl_get_issuer_dn_by_oid.short \ functions/gnutls_x509_crl_get_next_update \ @@ -2737,6 +2852,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crl_import.short \ functions/gnutls_x509_crl_init \ functions/gnutls_x509_crl_init.short \ + functions/gnutls_x509_crl_iter_crt_serial \ + functions/gnutls_x509_crl_iter_crt_serial.short \ + functions/gnutls_x509_crl_iter_deinit \ + functions/gnutls_x509_crl_iter_deinit.short \ functions/gnutls_x509_crl_list_import \ functions/gnutls_x509_crl_list_import.short \ functions/gnutls_x509_crl_list_import2 \ @@ -2769,6 +2888,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crq_deinit.short \ functions/gnutls_x509_crq_export \ functions/gnutls_x509_crq_export.short \ + functions/gnutls_x509_crq_export2 \ + functions/gnutls_x509_crq_export2.short \ functions/gnutls_x509_crq_get_attribute_by_oid \ functions/gnutls_x509_crq_get_attribute_by_oid.short \ functions/gnutls_x509_crq_get_attribute_data \ @@ -2781,6 +2902,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crq_get_challenge_password.short \ functions/gnutls_x509_crq_get_dn \ functions/gnutls_x509_crq_get_dn.short \ + functions/gnutls_x509_crq_get_dn2 \ + functions/gnutls_x509_crq_get_dn2.short \ functions/gnutls_x509_crq_get_dn_by_oid \ functions/gnutls_x509_crq_get_dn_by_oid.short \ functions/gnutls_x509_crq_get_dn_oid \ @@ -2789,6 +2912,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crq_get_extension_by_oid.short \ functions/gnutls_x509_crq_get_extension_data \ functions/gnutls_x509_crq_get_extension_data.short \ + functions/gnutls_x509_crq_get_extension_data2 \ + functions/gnutls_x509_crq_get_extension_data2.short \ functions/gnutls_x509_crq_get_extension_info \ functions/gnutls_x509_crq_get_extension_info.short \ functions/gnutls_x509_crq_get_key_id \ @@ -2823,6 +2948,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crq_set_basic_constraints.short \ functions/gnutls_x509_crq_set_challenge_password \ functions/gnutls_x509_crq_set_challenge_password.short \ + functions/gnutls_x509_crq_set_dn \ + functions/gnutls_x509_crq_set_dn.short \ functions/gnutls_x509_crq_set_dn_by_oid \ functions/gnutls_x509_crq_set_dn_by_oid.short \ functions/gnutls_x509_crq_set_key \ @@ -2849,6 +2976,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crq_verify.short \ functions/gnutls_x509_crt_check_hostname \ functions/gnutls_x509_crt_check_hostname.short \ + functions/gnutls_x509_crt_check_hostname2 \ + functions/gnutls_x509_crt_check_hostname2.short \ functions/gnutls_x509_crt_check_issuer \ functions/gnutls_x509_crt_check_issuer.short \ functions/gnutls_x509_crt_check_revocation \ @@ -2859,6 +2988,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_deinit.short \ functions/gnutls_x509_crt_export \ functions/gnutls_x509_crt_export.short \ + functions/gnutls_x509_crt_export2 \ + functions/gnutls_x509_crt_export2.short \ functions/gnutls_x509_crt_get_activation_time \ functions/gnutls_x509_crt_get_activation_time.short \ functions/gnutls_x509_crt_get_authority_info_access \ @@ -2875,6 +3006,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_get_crl_dist_points.short \ functions/gnutls_x509_crt_get_dn \ functions/gnutls_x509_crt_get_dn.short \ + functions/gnutls_x509_crt_get_dn2 \ + functions/gnutls_x509_crt_get_dn2.short \ functions/gnutls_x509_crt_get_dn_by_oid \ functions/gnutls_x509_crt_get_dn_by_oid.short \ functions/gnutls_x509_crt_get_dn_oid \ @@ -2885,6 +3018,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_get_extension_by_oid.short \ functions/gnutls_x509_crt_get_extension_data \ functions/gnutls_x509_crt_get_extension_data.short \ + functions/gnutls_x509_crt_get_extension_data2 \ + functions/gnutls_x509_crt_get_extension_data2.short \ functions/gnutls_x509_crt_get_extension_info \ functions/gnutls_x509_crt_get_extension_info.short \ functions/gnutls_x509_crt_get_extension_oid \ @@ -2901,6 +3036,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_get_issuer_alt_othername_oid.short \ functions/gnutls_x509_crt_get_issuer_dn \ functions/gnutls_x509_crt_get_issuer_dn.short \ + functions/gnutls_x509_crt_get_issuer_dn2 \ + functions/gnutls_x509_crt_get_issuer_dn2.short \ functions/gnutls_x509_crt_get_issuer_dn_by_oid \ functions/gnutls_x509_crt_get_issuer_dn_by_oid.short \ functions/gnutls_x509_crt_get_issuer_dn_oid \ @@ -2913,12 +3050,16 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_get_key_purpose_oid.short \ functions/gnutls_x509_crt_get_key_usage \ functions/gnutls_x509_crt_get_key_usage.short \ + functions/gnutls_x509_crt_get_name_constraints \ + functions/gnutls_x509_crt_get_name_constraints.short \ functions/gnutls_x509_crt_get_pk_algorithm \ functions/gnutls_x509_crt_get_pk_algorithm.short \ functions/gnutls_x509_crt_get_pk_dsa_raw \ functions/gnutls_x509_crt_get_pk_dsa_raw.short \ functions/gnutls_x509_crt_get_pk_rsa_raw \ functions/gnutls_x509_crt_get_pk_rsa_raw.short \ + functions/gnutls_x509_crt_get_policy \ + functions/gnutls_x509_crt_get_policy.short \ functions/gnutls_x509_crt_get_preferred_hash_algorithm \ functions/gnutls_x509_crt_get_preferred_hash_algorithm.short \ functions/gnutls_x509_crt_get_private_key_usage_period \ @@ -2989,12 +3130,18 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_set_crq.short \ functions/gnutls_x509_crt_set_crq_extensions \ functions/gnutls_x509_crt_set_crq_extensions.short \ + functions/gnutls_x509_crt_set_dn \ + functions/gnutls_x509_crt_set_dn.short \ functions/gnutls_x509_crt_set_dn_by_oid \ functions/gnutls_x509_crt_set_dn_by_oid.short \ functions/gnutls_x509_crt_set_expiration_time \ functions/gnutls_x509_crt_set_expiration_time.short \ functions/gnutls_x509_crt_set_extension_by_oid \ functions/gnutls_x509_crt_set_extension_by_oid.short \ + functions/gnutls_x509_crt_set_issuer_alt_name \ + functions/gnutls_x509_crt_set_issuer_alt_name.short \ + functions/gnutls_x509_crt_set_issuer_dn \ + functions/gnutls_x509_crt_set_issuer_dn.short \ functions/gnutls_x509_crt_set_issuer_dn_by_oid \ functions/gnutls_x509_crt_set_issuer_dn_by_oid.short \ functions/gnutls_x509_crt_set_key \ @@ -3003,6 +3150,12 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_set_key_purpose_oid.short \ functions/gnutls_x509_crt_set_key_usage \ functions/gnutls_x509_crt_set_key_usage.short \ + functions/gnutls_x509_crt_set_name_constraints \ + functions/gnutls_x509_crt_set_name_constraints.short \ + functions/gnutls_x509_crt_set_pin_function \ + functions/gnutls_x509_crt_set_pin_function.short \ + functions/gnutls_x509_crt_set_policy \ + functions/gnutls_x509_crt_set_policy.short \ functions/gnutls_x509_crt_set_private_key_usage_period \ functions/gnutls_x509_crt_set_private_key_usage_period.short \ functions/gnutls_x509_crt_set_proxy \ @@ -3013,10 +3166,10 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_crt_set_pubkey.short \ functions/gnutls_x509_crt_set_serial \ functions/gnutls_x509_crt_set_serial.short \ - functions/gnutls_x509_crt_set_subject_alt_name \ - functions/gnutls_x509_crt_set_subject_alt_name.short \ functions/gnutls_x509_crt_set_subject_alternative_name \ functions/gnutls_x509_crt_set_subject_alternative_name.short \ + functions/gnutls_x509_crt_set_subject_alt_name \ + functions/gnutls_x509_crt_set_subject_alt_name.short \ functions/gnutls_x509_crt_set_subject_key_id \ functions/gnutls_x509_crt_set_subject_key_id.short \ functions/gnutls_x509_crt_set_version \ @@ -3035,6 +3188,8 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_dn_deinit.short \ functions/gnutls_x509_dn_export \ functions/gnutls_x509_dn_export.short \ + functions/gnutls_x509_dn_export2 \ + functions/gnutls_x509_dn_export2.short \ functions/gnutls_x509_dn_get_rdn_ava \ functions/gnutls_x509_dn_get_rdn_ava.short \ functions/gnutls_x509_dn_import \ @@ -3045,12 +3200,98 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_dn_oid_known.short \ functions/gnutls_x509_dn_oid_name \ functions/gnutls_x509_dn_oid_name.short \ + functions/gnutls_x509_ext_export_aia \ + functions/gnutls_x509_ext_export_aia.short \ + functions/gnutls_x509_ext_export_authority_key_id \ + functions/gnutls_x509_ext_export_authority_key_id.short \ + functions/gnutls_x509_ext_export_basic_constraints \ + functions/gnutls_x509_ext_export_basic_constraints.short \ + functions/gnutls_x509_ext_export_crl_dist_points \ + functions/gnutls_x509_ext_export_crl_dist_points.short \ + functions/gnutls_x509_ext_export_key_purposes \ + functions/gnutls_x509_ext_export_key_purposes.short \ + functions/gnutls_x509_ext_export_key_usage \ + functions/gnutls_x509_ext_export_key_usage.short \ + functions/gnutls_x509_ext_export_name_constraints \ + functions/gnutls_x509_ext_export_name_constraints.short \ + functions/gnutls_x509_ext_export_policies \ + functions/gnutls_x509_ext_export_policies.short \ + functions/gnutls_x509_ext_export_private_key_usage_period \ + functions/gnutls_x509_ext_export_private_key_usage_period.short \ + functions/gnutls_x509_ext_export_proxy \ + functions/gnutls_x509_ext_export_proxy.short \ + functions/gnutls_x509_ext_export_subject_alt_names \ + functions/gnutls_x509_ext_export_subject_alt_names.short \ + functions/gnutls_x509_ext_export_subject_key_id \ + functions/gnutls_x509_ext_export_subject_key_id.short \ + functions/gnutls_x509_ext_import_aia \ + functions/gnutls_x509_ext_import_aia.short \ + functions/gnutls_x509_ext_import_authority_key_id \ + functions/gnutls_x509_ext_import_authority_key_id.short \ + functions/gnutls_x509_ext_import_basic_constraints \ + functions/gnutls_x509_ext_import_basic_constraints.short \ + functions/gnutls_x509_ext_import_crl_dist_points \ + functions/gnutls_x509_ext_import_crl_dist_points.short \ + functions/gnutls_x509_ext_import_key_purposes \ + functions/gnutls_x509_ext_import_key_purposes.short \ + functions/gnutls_x509_ext_import_key_usage \ + functions/gnutls_x509_ext_import_key_usage.short \ + functions/gnutls_x509_ext_import_name_constraints \ + functions/gnutls_x509_ext_import_name_constraints.short \ + functions/gnutls_x509_ext_import_policies \ + functions/gnutls_x509_ext_import_policies.short \ + functions/gnutls_x509_ext_import_private_key_usage_period \ + functions/gnutls_x509_ext_import_private_key_usage_period.short \ + functions/gnutls_x509_ext_import_proxy \ + functions/gnutls_x509_ext_import_proxy.short \ + functions/gnutls_x509_ext_import_subject_alt_names \ + functions/gnutls_x509_ext_import_subject_alt_names.short \ + functions/gnutls_x509_ext_import_subject_key_id \ + functions/gnutls_x509_ext_import_subject_key_id.short \ + functions/gnutls_x509_key_purpose_deinit \ + functions/gnutls_x509_key_purpose_deinit.short \ + functions/gnutls_x509_key_purpose_get \ + functions/gnutls_x509_key_purpose_get.short \ + functions/gnutls_x509_key_purpose_init \ + functions/gnutls_x509_key_purpose_init.short \ + functions/gnutls_x509_key_purpose_set \ + functions/gnutls_x509_key_purpose_set.short \ + functions/gnutls_x509_name_constraints_add_excluded \ + functions/gnutls_x509_name_constraints_add_excluded.short \ + functions/gnutls_x509_name_constraints_add_permitted \ + functions/gnutls_x509_name_constraints_add_permitted.short \ + functions/gnutls_x509_name_constraints_check \ + functions/gnutls_x509_name_constraints_check.short \ + functions/gnutls_x509_name_constraints_check_crt \ + functions/gnutls_x509_name_constraints_check_crt.short \ + functions/gnutls_x509_name_constraints_deinit \ + functions/gnutls_x509_name_constraints_deinit.short \ + functions/gnutls_x509_name_constraints_get_excluded \ + functions/gnutls_x509_name_constraints_get_excluded.short \ + functions/gnutls_x509_name_constraints_get_permitted \ + functions/gnutls_x509_name_constraints_get_permitted.short \ + functions/gnutls_x509_name_constraints_init \ + functions/gnutls_x509_name_constraints_init.short \ + functions/gnutls_x509_policies_deinit \ + functions/gnutls_x509_policies_deinit.short \ + functions/gnutls_x509_policies_get \ + functions/gnutls_x509_policies_get.short \ + functions/gnutls_x509_policies_init \ + functions/gnutls_x509_policies_init.short \ + functions/gnutls_x509_policies_set \ + functions/gnutls_x509_policies_set.short \ + functions/gnutls_x509_policy_release \ + functions/gnutls_x509_policy_release.short \ functions/gnutls_x509_privkey_cpy \ functions/gnutls_x509_privkey_cpy.short \ functions/gnutls_x509_privkey_deinit \ functions/gnutls_x509_privkey_deinit.short \ functions/gnutls_x509_privkey_export \ functions/gnutls_x509_privkey_export.short \ + functions/gnutls_x509_privkey_export2 \ + functions/gnutls_x509_privkey_export2.short \ + functions/gnutls_x509_privkey_export2_pkcs8 \ + functions/gnutls_x509_privkey_export2_pkcs8.short \ functions/gnutls_x509_privkey_export_dsa_raw \ functions/gnutls_x509_privkey_export_dsa_raw.short \ functions/gnutls_x509_privkey_export_ecc_raw \ @@ -3069,12 +3310,18 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_privkey_get_key_id.short \ functions/gnutls_x509_privkey_get_pk_algorithm \ functions/gnutls_x509_privkey_get_pk_algorithm.short \ + functions/gnutls_x509_privkey_get_pk_algorithm2 \ + functions/gnutls_x509_privkey_get_pk_algorithm2.short \ functions/gnutls_x509_privkey_import \ functions/gnutls_x509_privkey_import.short \ + functions/gnutls_x509_privkey_import2 \ + functions/gnutls_x509_privkey_import2.short \ functions/gnutls_x509_privkey_import_dsa_raw \ functions/gnutls_x509_privkey_import_dsa_raw.short \ functions/gnutls_x509_privkey_import_ecc_raw \ functions/gnutls_x509_privkey_import_ecc_raw.short \ + functions/gnutls_x509_privkey_import_openssl \ + functions/gnutls_x509_privkey_import_openssl.short \ functions/gnutls_x509_privkey_import_pkcs8 \ functions/gnutls_x509_privkey_import_pkcs8.short \ functions/gnutls_x509_privkey_import_rsa_raw \ @@ -3103,12 +3350,24 @@ FUNCS = functions/gnutls_alert_get functions/gnutls_alert_get.short \ functions/gnutls_x509_trust_list_add_crls.short \ functions/gnutls_x509_trust_list_add_named_crt \ functions/gnutls_x509_trust_list_add_named_crt.short \ + functions/gnutls_x509_trust_list_add_system_trust \ + functions/gnutls_x509_trust_list_add_system_trust.short \ + functions/gnutls_x509_trust_list_add_trust_file \ + functions/gnutls_x509_trust_list_add_trust_file.short \ + functions/gnutls_x509_trust_list_add_trust_mem \ + functions/gnutls_x509_trust_list_add_trust_mem.short \ functions/gnutls_x509_trust_list_deinit \ functions/gnutls_x509_trust_list_deinit.short \ functions/gnutls_x509_trust_list_get_issuer \ functions/gnutls_x509_trust_list_get_issuer.short \ functions/gnutls_x509_trust_list_init \ functions/gnutls_x509_trust_list_init.short \ + functions/gnutls_x509_trust_list_remove_cas \ + functions/gnutls_x509_trust_list_remove_cas.short \ + functions/gnutls_x509_trust_list_remove_trust_file \ + functions/gnutls_x509_trust_list_remove_trust_file.short \ + functions/gnutls_x509_trust_list_remove_trust_mem \ + functions/gnutls_x509_trust_list_remove_trust_mem.short \ functions/gnutls_x509_trust_list_verify_crt \ functions/gnutls_x509_trust_list_verify_crt.short \ functions/gnutls_x509_trust_list_verify_named_crt \ @@ -3148,12 +3407,15 @@ $(top_srcdir)/configure: $(am__configure_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): + alert-printlist$(EXEEXT): $(alert_printlist_OBJECTS) $(alert_printlist_DEPENDENCIES) $(EXTRA_alert_printlist_DEPENDENCIES) @rm -f alert-printlist$(EXEEXT) $(AM_V_CCLD)$(LINK) $(alert_printlist_OBJECTS) $(alert_printlist_LDADD) $(LIBS) + errcodes$(EXEEXT): $(errcodes_OBJECTS) $(errcodes_DEPENDENCIES) $(EXTRA_errcodes_DEPENDENCIES) @rm -f errcodes$(EXEEXT) $(AM_V_CCLD)$(LINK) $(errcodes_OBJECTS) $(errcodes_LDADD) $(LIBS) + printlist$(EXEEXT): $(printlist_OBJECTS) $(printlist_DEPENDENCIES) $(EXTRA_printlist_DEPENDENCIES) @rm -f printlist$(EXEEXT) $(AM_V_CCLD)$(LINK) $(printlist_OBJECTS) $(printlist_LDADD) $(LIBS) @@ -3170,22 +3432,25 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printlist.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< @@ -3197,7 +3462,7 @@ clean-libtool: -rm -rf .libs _libs .texi.info: - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ @@ -3219,27 +3484,25 @@ clean-libtool: rm -rf $$backupdir; exit $$rc .texi.dvi: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) $< + $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ + $< .texi.pdf: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) $< + $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ + $< .texi.html: - rm -rf $(@:.html=.htp) - if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) + $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) $<; \ then \ - rm -rf $@; \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ - exit 1; \ + rm -rf $(@:.html=.htp); exit 1; \ fi $(srcdir)/gnutls.info: gnutls.texi $(srcdir)/version.texi $(gnutls_TEXINFOS) gnutls.dvi: gnutls.texi $(srcdir)/version.texi $(gnutls_TEXINFOS) @@ -3288,8 +3551,8 @@ mostlyclean-1: maintainer-clean-1: -rm -f $(srcdir)/stamp-1 $(srcdir)/version-guile.texi .dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< + $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) $(AM_V_texinfo) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @@ -3368,14 +3631,7 @@ dist-info: $(INFO_DEPS) done mostlyclean-aminfo: - -rm -rf gnutls.aux gnutls.cp gnutls.cps gnutls.fn gnutls.fns gnutls.ky \ - gnutls.kys gnutls.log gnutls.pg gnutls.tmp gnutls.toc \ - gnutls.tp gnutls.vr gnutls.vrs gnutls-guile.aux \ - gnutls-guile.cp gnutls-guile.cps gnutls-guile.fn \ - gnutls-guile.fns gnutls-guile.ky gnutls-guile.kys \ - gnutls-guile.log gnutls-guile.pg gnutls-guile.tmp \ - gnutls-guile.toc gnutls-guile.tp gnutls-guile.vr \ - gnutls-guile.vrs + -rm -rf gnutls.t2d gnutls.t2p gnutls-guile.t2d gnutls-guile.t2p clean-aminfo: -test -z "gnutls.dvi gnutls.pdf gnutls.ps gnutls.html gnutls-guile.dvi \ @@ -3412,22 +3668,25 @@ uninstall-imagesDATA: dir='$(DESTDIR)$(imagesdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -3442,57 +3701,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -3508,12 +3722,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -3525,15 +3734,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -3542,6 +3747,21 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -3649,7 +3869,8 @@ maintainer-clean-generic: -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive -clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am +clean-am: clean-aminfo clean-generic clean-libtool clean-local \ + mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) @@ -3811,13 +4032,12 @@ ps-am: $(PSS) uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \ uninstall-info-am uninstall-pdf-am uninstall-ps-am -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive +.MAKE: $(am__recursive_targets) all check install install-am \ + install-strip -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-aminfo clean-generic \ - clean-libtool ctags ctags-recursive dist-info distclean \ +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-aminfo clean-generic clean-libtool \ + clean-local cscopelist-am ctags ctags-am dist-info distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ @@ -3830,179 +4050,249 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \ maintainer-clean-generic maintainer-clean-vti mostlyclean \ mostlyclean-1 mostlyclean-aminfo mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-dvi-am uninstall-html-am uninstall-imagesDATA \ uninstall-info-am uninstall-pdf-am uninstall-ps-am -invoke-gnutls-cli.texi: $(SRC_DEF_CLI) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-gnutls-cli-debug.texi: $(SRC_DEF_CLI_DEBUG) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-gnutls-serv.texi: $(SRC_DEF_SERV) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-certtool.texi: $(SRC_DEF_CERTTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-ocsptool.texi: $(SRC_DEF_OCSPTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ - -invoke-srptool.texi: $(SRC_DEF_SRPTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ - -invoke-psktool.texi: $(SRC_DEF_PSKTOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ - -invoke-p11tool.texi: $(SRC_DEF_P11TOOL) - @-cd ../src/ && autogen -Tagtexi-cmd.tpl $< && \ - rm -f ../doc/$@ && \ - ../doc/scripts/cleanup-autogen.pl <../src/$@ >../doc/$@.tmp && \ - mv -f ../doc/$@.tmp ../doc/$@ && \ - rm -f ../src/$@ && \ - sed -i 's/@subheading/@subsubheading/g' ../doc/$@ && \ - sed -i 's/@section/@subsection/g' ../doc/$@ +-include $(top_srcdir)/doc/doc.mk + +invoke-gnutls-cli.texi: $(top_srcdir)/src/cli-args.def + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-gnutls-cli-debug.texi: $(top_srcdir)/src/cli-debug-args.def invoke-gnutls-cli.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-gnutls-serv.texi: $(top_srcdir)/src/serv-args.def invoke-gnutls-cli-debug.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + mv -f $@.tmp $@ + +invoke-certtool.texi: $(top_srcdir)/src/certtool-args.def invoke-gnutls-serv.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-ocsptool.texi: $(top_srcdir)/src/ocsptool-args.def invoke-certtool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-danetool.texi: $(top_srcdir)/src/danetool-args.def invoke-ocsptool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-srptool.texi: $(top_srcdir)/src/srptool-args.def invoke-danetool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsubsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-psktool.texi: $(top_srcdir)/src/psktool-args.def invoke-srptool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsubsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-p11tool.texi: $(top_srcdir)/src/p11tool-args.def invoke-psktool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +invoke-tpmtool.texi: $(top_srcdir)/src/tpmtool-args.def invoke-p11tool.texi + $(AUTOGEN) -Tagtexi-cmd.tpl $<; \ + if [ ! -e $@ ]; then \ + cp $(srcdir)/$@ .; \ + fi; \ + $(srcdir)/scripts/cleanup-autogen.pl < $@ > $@.tmp && \ + rm -f $@ && \ + sed -e 's/@subheading/@subsubheading/g' \ + -e 's/@section/@subsection/g' $@.tmp > $@ && \ + rm -f $@.tmp + +clean-local: + -rm -f stamp_enums stamp_functions + -rm -rf functions/ enums/ + -rm -f $(API_FILES) gnutls-api.texi: $(top_srcdir)/lib/includes/gnutls/gnutls.h.in echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/gnutls.h.in|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ -x509-api.texi: $(top_srcdir)/lib/includes/gnutls/x509.h +dane-api.texi: $(top_srcdir)/libdane/includes/gnutls/dane.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/x509.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ +x509-api.texi: $(top_srcdir)/lib/includes/gnutls/x509.h $(top_srcdir)/lib/includes/gnutls/x509-ext.h + echo "" > $@-tmp + cat $^ > $@-tmp2 + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $@-tmp2 |sort |uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ + $(srcdir)/scripts/gdoc -texinfo \ + -function $$i \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ + echo "ok"; \ + done + rm -f $@-tmp2 + mv -f $@-tmp $@ + pgp-api.texi: $(top_srcdir)/lib/includes/gnutls/openpgp.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/openpgp.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ pkcs12-api.texi: $(top_srcdir)/lib/includes/gnutls/pkcs12.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/pkcs12.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ pkcs11-api.texi: $(top_srcdir)/lib/includes/gnutls/pkcs11.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/pkcs11.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ + echo "ok"; \ + done + mv -f $@-tmp $@ + +tpm-api.texi: $(top_srcdir)/lib/includes/gnutls/tpm.h + echo "" > $@-tmp + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ + $(srcdir)/scripts/gdoc -texinfo \ + -function $$i \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ abstract-api.texi: $(top_srcdir)/lib/includes/gnutls/abstract.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/abstract.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ compat-api.texi: $(top_srcdir)/lib/includes/gnutls/compat.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/compat.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ dtls-api.texi: $(top_srcdir)/lib/includes/gnutls/dtls.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/dtls.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ crypto-api.texi: $(top_srcdir)/lib/includes/gnutls/crypto.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/crypto.h|sort|uniq`; do \ - echo -n "Creating documentation for $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ ocsp-api.texi: $(top_srcdir)/lib/includes/gnutls/ocsp.h echo "" > $@-tmp - for i in `$(top_srcdir)/doc/scripts/getfuncs.pl <$(top_srcdir)/lib/includes/gnutls/ocsp.h|sort|uniq`; do \ - echo -n "Creating documentation for file $$i... " && \ + for i in `$(top_srcdir)/doc/scripts/getfuncs.pl < $< |sort|uniq`; do \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo \ -function $$i \ - $(top_srcdir)/lib/*.c $(top_srcdir)/lib/*/*.c >> $@-tmp 2>/dev/null && \ + $(C_SOURCE_FILES) >> $@-tmp 2>/dev/null && \ echo "ok"; \ done mv -f $@-tmp $@ @@ -4025,14 +4315,15 @@ alerts.texi: $(top_srcdir)/lib/gnutls_alert.c $(srcdir)/alert-printlist.c enums.texi: $(HEADER_FILES) echo "" > $@-tmp for i in $^; do \ - echo -n "Creating documentation for $$i... " && \ + echo $(ECHO_N) "Creating documentation for $$i... " && \ $(srcdir)/scripts/gdoc -texinfo $$i >> $@-tmp && \ echo "ok"; \ done mv -f $@-tmp $@ -stamp_functions: gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi pkcs11-api.texi abstract-api.texi compat-api.texi dtls-api.texi crypto-api.texi ocsp-api.texi +stamp_functions: $(API_FILES) -mkdir functions + -rm -f functions/*.short for i in $^; do \ $(srcdir)/scripts/split-texi.pl functions < $$i; \ done @@ -4043,34 +4334,55 @@ stamp_functions: gnutls-api.texi x509-api.texi pgp-api.texi pkcs12-api.texi pkcs stamp_enums: enums.texi -mkdir enums - $(srcdir)/scripts/split-texi.pl enums enum < $(srcdir)/enums.texi + $(srcdir)/scripts/split-texi.pl enums enum < $< echo $@ > $@ $(ENUMS): stamp_enums $(FUNCS): stamp_functions +compare-exported: + rm -f tmp-exp-$@ tmp-head-$@ + for i in ../libdane/includes/gnutls/*.h ../lib/includes/gnutls/*.h;do perl scripts/getfuncs.pl <$$i >>tmp-head-$@;done + sort -u tmp-head-$@ > tmp2-head-$@ + mv tmp2-head-$@ tmp-head-$@ + scripts/getfuncs-map.pl <../lib/libgnutls.map >tmp-exp-$@ + scripts/getfuncs-map.pl <../libdane/libdane.map >>tmp-exp-$@ + sort -u tmp-exp-$@ > tmp2-exp-$@ + mv tmp2-exp-$@ tmp-exp-$@ + @echo "******************************************************************************" + @echo "If the following step fails there is a symbol in headers that is not exported or vice-versa" + @echo "******************************************************************************" + diff -u tmp-exp-$@ tmp-head-$@ + rm -f tmp-exp-$@ tmp-head-$@ + compare-makefile: enums.texi - ENUMS=`grep '^@c ' $(srcdir)/enums.texi | sed 's/@c //g' | sort`; \ + @echo "******************************************************************************" + @echo "If the following step fails copy $(srcdir)/doc/tmp-compare-makefile to doc/Makefile.am" + @echo "******************************************************************************" + ENUMS=`grep '^@c ' $< | sed 's/@c //g' | sort -d`; \ STR=""; \ for i in $$ENUMS; do \ STR="$$STR\nENUMS += enums/$$i"; \ done; \ grep -v -e '^ENUMS += ' $(srcdir)/Makefile.am | \ perl -p -e "s,^ENUMS =,ENUMS =$$STR," > tmp-$@; \ - diff -u $(srcdir)/Makefile.am tmp-$@ + diff -u $(srcdir)/Makefile.am tmp-$@ >/dev/null rm -f tmp-$@ - FUNCS=`cat $(HEADER_FILES) | $(top_srcdir)/doc/scripts/getfuncs.pl|sort`; \ + FUNCS=`cat $(HEADER_FILES) | $(top_srcdir)/doc/scripts/getfuncs.pl|sort -d|uniq`; \ MANS=""; \ for i in $$FUNCS; do \ MANS="$$MANS\nFUNCS += functions/$$i\nFUNCS += functions/$$i.short"; \ done; \ grep -v -e '^FUNCS += ' $(srcdir)/Makefile.am > tmp-$@; \ echo "\"s,^FUNCS =,FUNCS =$$MANS,\" -i tmp-$@"|xargs sed - diff -u $(srcdir)/Makefile.am tmp-$@ + @echo "******************************************************************************" + @echo "If the following step fails copy $(srcdir)/doc/tmp-compare-makefile to doc/Makefile.am" + @echo "******************************************************************************" + diff -u $(srcdir)/Makefile.am tmp-$@ >/dev/null rm -f tmp-$@ -.PHONY: compare-makefile +.PHONY: compare-makefile compare-exported @HAVE_GUILE_TRUE@core.c.texi: $(top_srcdir)/guile/src/core.c @HAVE_GUILE_TRUE@ $(MAKE) -C ../guile/src built-sources && \ diff --git a/doc/TODO b/doc/TODO index 655b5cf..05fde85 100644 --- a/doc/TODO +++ b/doc/TODO @@ -3,21 +3,33 @@ anything), contact the developer's mailing list (gnutls-dev@lists.gnupg.org), in order to avoid having people working on the same thing. Current list: -* Add DTLS 1.2 support (RFC6347) -* Added heartbeat support (http://tools.ietf.org/html/draft-ietf-tls-dtls-heartbeat-04) -* Add certificate image support (see RFC3709, RFC6170) -* Perform signature calculation in PKCS #11 using not plain +* Allow setting a fixed key on the anonymous key exchange methods (to allow + it being used with the tofu API). +* Deprecate GNUTLS_E_CERTIFICATE_LIST_UNSORTED, and automatically sort + input chains in gnutls_certificate_set_x509_key_*. +* Allow the manipulation of certificates, i.e., allow to remove fields. +* Add an authenticated-encryption API. +* Think about supporting the groups in RFC3526 and RFC5114. If other + implementations use them too we may be able to achieve some speedups + in DH (by knowing q). +* Handle the following X.509 extensions: + 2.5.29.36: Policy Constraints + 2.5.29.33: Policy Mappings + 2.5.29.54: Inhibit Any-policy + 2.5.29.46: Freshest CRL +* Add support for RSA-PSS. This signature algorithm is seen in some + passport CAs. Should be added in nettle and then in gnutls. +- Add certificate image support (see RFC3709, RFC6170) +- RFC 3280 compliant certificate path validation. + - Reject extensions in v1 certificates. +- Perform signature calculation in PKCS #11 using not plain RSA but rather the combination of RSA-SHA256, RSA-SHA1 etc. - That will allow the usage of more secure tokens that do not - allow plain RSA. -* Support PKCS#8 DES-MD5 (tests/enc3pkcs8.pem) encrypted keys. + That will allow the usage of tokens that do not allow plain RSA. +- Support PKCS#8 DES-MD5 (tests/enc3pkcs8.pem) encrypted keys. (openssl seems to use DES-MD5 to encrypt keys by default) -* Add support for generating empty CRLs -* Document the format for the supported DN attributes. -* Audit the code -- Implement TLS-PSK with PKCS #11. -- Allow setting a PKCS #11 module to gnutls_x509_trust_list_t, to verify - against, similarly to NSS way. +- Add support for generating empty CRLs +- Document the format for the supported DN attributes. +- Audit the code - Support replacing individual algorithms via a PKCS #11 module - maybe use p11-kit for that. - Add function to extract the signers of an openpgp key. Should @@ -27,25 +39,11 @@ Current list: firstElement, bit_mask, ...) for platforms that libtool's -export-symbols-regex doesn't work. - Add Kerberos ciphersuites -- Certificate chain validation improvements: - - Implement "correct" DN comparison (instead of memcmp). - - Support critical key usage KeyCertSign and cRLSign. - - Support path length constraints. -- RFC 3280 compliant certificate path validation. -- Add progress handler gnutls_{dh,rsa}_params_generate2, to allow - application to give progress feedback to user. -- Chain verifications. - - Check path length constraints. - - Check keyCertSign key usages. - - Reject extensions in v1 certificates. -- Exhaustive test suite, using NIST's PKI Test vectors, - see http://csrc.nist.gov/pki/testing/x509paths_old.html - and http://csrc.nist.gov/pki/testing/x509paths.html +- Update the current test suite, using the newest NIST's PKI Test vectors, + see http://csrc.nist.gov/pki/testing/x509paths.html - Make gnutls-cli-debug exit with better error messages if the handshake fails, rather than saying that the server doesn't support TLS. -- Make gnutls_certificate_get_ours return a zero-terminated array (or - add a new API that return the size of the array). (+) Means high priority (*) Means medium priority diff --git a/doc/abstract-api.texi b/doc/abstract-api.texi index 4c6e931..82a8415 100644 --- a/doc/abstract-api.texi +++ b/doc/abstract-api.texi @@ -1,7 +1,7 @@ @subheading gnutls_certificate_set_key @anchor{gnutls_certificate_set_key} -@deftypefun {int} {gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) +@deftypefun {int} {gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char ** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) @var{res}: is a @code{gnutls_certificate_credentials_t} structure. @var{names}: is an array of DNS name of the certificate (NULL if none) @@ -12,17 +12,18 @@ @var{pcert_list_size}: holds the size of the certificate list -@var{key}: is a gnutls_x509_privkey_t key +@var{key}: is a @code{gnutls_privkey_t} key This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once, in case multiple keys/certificates exist for the server. For clients that wants to send more than its own end entity certificate (e.g., also an intermediate CA cert) then put -the certificate chain in @code{pcert_list} . The @code{pcert_list} and @code{key} will -become part of the credentials structure and must not -be deallocated. They will be automatically deallocated when - @code{res} is deinitialized. +the certificate chain in @code{pcert_list} . + +Note that the @code{pcert_list} and @code{key} will become part of the credentials +structure and must not be deallocated. They will be automatically deallocated +when the @code{res} structure is deinitialized. @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @@ -84,7 +85,7 @@ This function will deinitialize a pcert structure. @subheading gnutls_pcert_import_openpgp @anchor{gnutls_pcert_import_openpgp} -@deftypefun {int} {gnutls_pcert_import_openpgp} (gnutls_pcert_st* @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_openpgp} (gnutls_pcert_st * @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{crt}: The raw certificate to be imported @@ -103,7 +104,7 @@ negative error value. @subheading gnutls_pcert_import_openpgp_raw @anchor{gnutls_pcert_import_openpgp_raw} -@deftypefun {int} {gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{cert}: The raw certificate to be imported @@ -126,7 +127,7 @@ negative error value. @subheading gnutls_pcert_import_x509 @anchor{gnutls_pcert_import_x509} -@deftypefun {int} {gnutls_pcert_import_x509} (gnutls_pcert_st* @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_x509} (gnutls_pcert_st * @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{crt}: The raw certificate to be imported @@ -145,7 +146,7 @@ negative error value. @subheading gnutls_pcert_import_x509_raw @anchor{gnutls_pcert_import_x509_raw} -@deftypefun {int} {gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{cert}: The raw certificate to be imported @@ -219,6 +220,108 @@ This function will deinitialize a private key structure. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_export_dsa_raw +@anchor{gnutls_privkey_export_dsa_raw} +@deftypefun {int} {gnutls_privkey_export_dsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) +@var{key}: Holds the public key + +@var{p}: will hold the p + +@var{q}: will hold the q + +@var{g}: will hold the g + +@var{y}: will hold the y + +@var{x}: will hold the x + +This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + +@subheading gnutls_privkey_export_ecc_raw +@anchor{gnutls_privkey_export_ecc_raw} +@deftypefun {int} {gnutls_privkey_export_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{k}) +@var{key}: Holds the public key + +@var{curve}: will hold the curve + +@var{x}: will hold the x coordinate + +@var{y}: will hold the y coordinate + +@var{k}: will hold the private key + +This function will export the ECC private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + +@subheading gnutls_privkey_export_rsa_raw +@anchor{gnutls_privkey_export_rsa_raw} +@deftypefun {int} {gnutls_privkey_export_rsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}, gnutls_datum_t * @var{d}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{u}, gnutls_datum_t * @var{e1}, gnutls_datum_t * @var{e2}) +@var{key}: Holds the certificate + +@var{m}: will hold the modulus + +@var{e}: will hold the public exponent + +@var{d}: will hold the private exponent + +@var{p}: will hold the first prime (p) + +@var{q}: will hold the second prime (q) + +@var{u}: will hold the coefficient + +@var{e1}: will hold e1 = d mod (p-1) + +@var{e2}: will hold e2 = d mod (q-1) + +This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + +@subheading gnutls_privkey_generate +@anchor{gnutls_privkey_generate} +@deftypefun {int} {gnutls_privkey_generate} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{algo}, unsigned int @var{bits}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{algo}: is one of the algorithms in @code{gnutls_pk_algorithm_t} . + +@var{bits}: the size of the modulus + +@var{flags}: unused for now. Must be 0. + +This function will generate a random private key. Note that this +function must be called on an empty private key. + +Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +@code{GNUTLS_CURVE_TO_BITS()} macro. + +Do not set the number of bits directly, use @code{gnutls_sec_param_to_pk_bits()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_privkey_get_pk_algorithm @anchor{gnutls_privkey_get_pk_algorithm} @deftypefun {int} {gnutls_privkey_get_pk_algorithm} (gnutls_privkey_t @var{key}, unsigned int * @var{bits}) @@ -250,9 +353,55 @@ success, or a negative error code on error. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_import_dsa_raw +@anchor{gnutls_privkey_import_dsa_raw} +@deftypefun {int} {gnutls_privkey_import_dsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{g}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{x}) +@var{key}: The structure to store the parsed key + +@var{p}: holds the p + +@var{q}: holds the q + +@var{g}: holds the g + +@var{y}: holds the y + +@var{x}: holds the x + +This function will convert the given DSA raw parameters to the +native @code{gnutls_privkey_t} format. The output will be stored +in @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_privkey_import_ecc_raw +@anchor{gnutls_privkey_import_ecc_raw} +@deftypefun {int} {gnutls_privkey_import_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t @var{curve}, const gnutls_datum_t * @var{x}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{k}) +@var{key}: The structure to store the parsed key + +@var{curve}: holds the curve + +@var{x}: holds the x + +@var{y}: holds the y + +@var{k}: holds the k + +This function will convert the given elliptic curve parameters to the +native @code{gnutls_privkey_t} format. The output will be stored +in @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.0 +@end deftypefun + @subheading gnutls_privkey_import_ext @anchor{gnutls_privkey_import_ext} -@deftypefun {int} {gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void* @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) @var{pkey}: The private key @var{pk}: The public key algorithm @@ -269,12 +418,47 @@ This function will associate the given callbacks with the @code{gnutls_privkey_t} structure. At least one of the two callbacks must be non-null. +See also @code{gnutls_privkey_import_ext2()} . + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @strong{Since:} 3.0 @end deftypefun +@subheading gnutls_privkey_import_ext2 +@anchor{gnutls_privkey_import_ext2} +@deftypefun {int} {gnutls_privkey_import_ext2} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, gnutls_privkey_deinit_func @var{deinit_func}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{pk}: The public key algorithm + +@var{userdata}: private data to be provided to the callbacks + +@var{sign_func}: callback for signature operations + +@var{decrypt_func}: callback for decryption operations + +@var{deinit_func}: a deinitialization function + +@var{flags}: Flags for the import + +This function will associate the given callbacks with the +@code{gnutls_privkey_t} structure. At least one of the two callbacks +must be non-null. If a deinitialization function is provided +then flags is assumed to contain @code{GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE} . + +Note that the signing function is supposed to "raw" sign data, i.e., +without any hashing or preprocessing. In case of RSA the DigestInfo +will be provided, and the signing function is expected to do the PKCS @code{1} +1.5 padding and the exponentiation. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1 +@end deftypefun + @subheading gnutls_privkey_import_openpgp @anchor{gnutls_privkey_import_openpgp} @deftypefun {int} {gnutls_privkey_import_openpgp} (gnutls_privkey_t @var{pkey}, gnutls_openpgp_privkey_t @var{key}, unsigned int @var{flags}) @@ -300,6 +484,28 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_import_openpgp_raw +@anchor{gnutls_privkey_import_openpgp_raw} +@deftypefun {int} {gnutls_privkey_import_openpgp_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, const char * @var{password}) +@var{pkey}: The private key + +@var{data}: The private key data to be imported + +@var{format}: The format of the private key + +@var{keyid}: The key id to use (optional) + +@var{password}: A password (optional) + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_privkey_import_pkcs11 @anchor{gnutls_privkey_import_pkcs11} @deftypefun {int} {gnutls_privkey_import_pkcs11} (gnutls_privkey_t @var{pkey}, gnutls_pkcs11_privkey_t @var{key}, unsigned int @var{flags}) @@ -324,6 +530,126 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_import_pkcs11_url +@anchor{gnutls_privkey_import_pkcs11_url} +@deftypefun {int} {gnutls_privkey_import_pkcs11_url} (gnutls_privkey_t @var{key}, const char * @var{url}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{url}: A PKCS 11 url + +This function will import a PKCS 11 private key to a @code{gnutls_private_key_t} +structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_privkey_import_rsa_raw +@anchor{gnutls_privkey_import_rsa_raw} +@deftypefun {int} {gnutls_privkey_import_rsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}, const gnutls_datum_t * @var{d}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{u}, const gnutls_datum_t * @var{e1}, const gnutls_datum_t * @var{e2}) +@var{key}: The structure to store the parsed key + +@var{m}: holds the modulus + +@var{e}: holds the public exponent + +@var{d}: holds the private exponent + +@var{p}: holds the first prime (p) + +@var{q}: holds the second prime (q) + +@var{u}: holds the coefficient (optional) + +@var{e1}: holds e1 = d mod (p-1) (optional) + +@var{e2}: holds e2 = d mod (q-1) (optional) + +This function will convert the given RSA raw parameters to the +native @code{gnutls_privkey_t} format. The output will be stored in + @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading gnutls_privkey_import_tpm_raw +@anchor{gnutls_privkey_import_tpm_raw} +@deftypefun {int} {gnutls_privkey_import_tpm_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{fdata}: The TPM key to be imported + +@var{format}: The format of the private key + +@var{srk_password}: The password for the SRK key (optional) + +@var{key_password}: A password for the key (optional) + +@var{flags}: should be zero + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +With respect to passwords the same as in @code{gnutls_privkey_import_tpm_url()} apply. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_privkey_import_tpm_url +@anchor{gnutls_privkey_import_tpm_url} +@deftypefun {int} {gnutls_privkey_import_tpm_url} (gnutls_privkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{url}: The URL of the TPM key to be imported + +@var{srk_password}: The password for the SRK key (optional) + +@var{key_password}: A password for the key (optional) + +@var{flags}: One of the GNUTLS_PRIVKEY_* flags + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +Note that unless @code{GNUTLS_PRIVKEY_DISABLE_CALLBACKS} +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +@code{GNUTLS_E_TPM_SRK_PASSWORD_ERROR} is returned and if the key password +is wrong or not provided then @code{GNUTLS_E_TPM_KEY_PASSWORD_ERROR} +is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_privkey_import_url +@anchor{gnutls_privkey_import_url} +@deftypefun {int} {gnutls_privkey_import_url} (gnutls_privkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) +@var{key}: A key of type @code{gnutls_privkey_t} + +@var{url}: A PKCS 11 url + +@var{flags}: should be zero + +This function will import a PKCS11 or TPM URL as a +private key. The supported URL types can be checked +using @code{gnutls_url_is_supported()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_privkey_import_x509 @anchor{gnutls_privkey_import_x509} @deftypefun {int} {gnutls_privkey_import_x509} (gnutls_privkey_t @var{pkey}, gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}) @@ -348,6 +674,31 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_import_x509_raw +@anchor{gnutls_privkey_import_x509_raw} +@deftypefun {int} {gnutls_privkey_import_x509_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{data}: The private key data to be imported + +@var{format}: The format of the private key + +@var{password}: A password (optional) + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_privkey_init @anchor{gnutls_privkey_init} @deftypefun {int} {gnutls_privkey_init} (gnutls_privkey_t * @var{key}) @@ -361,6 +712,25 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_set_pin_function +@anchor{gnutls_privkey_set_pin_function} +@deftypefun {void} {gnutls_privkey_set_pin_function} (gnutls_privkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{key}: A key of type @code{gnutls_privkey_t} + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_privkey_sign_data @anchor{gnutls_privkey_sign_data} @deftypefun {int} {gnutls_privkey_sign_data} (gnutls_privkey_t @var{signer}, gnutls_digest_algorithm_t @var{hash}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, gnutls_datum_t * @var{signature}) @@ -368,7 +738,7 @@ negative error value. @var{hash}: should be a digest algorithm -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_privkey_flags_t} @var{data}: holds the data to be signed @@ -379,7 +749,7 @@ supported by the private key. Signature algorithms are always used together with a hash functions. Different hash functions may be used for the RSA algorithm, but only the SHA family for the DSA keys. -Use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine +You may use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine the hash algorithm. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a @@ -395,7 +765,7 @@ negative error value. @var{hash_algo}: The hash algorithm used -@var{flags}: zero for now +@var{flags}: Zero or one of @code{gnutls_privkey_flags_t} @var{hash_data}: holds the data to be signed @@ -406,15 +776,47 @@ supported by the private key. Signature algorithms are always used together with a hash functions. Different hash functions may be used for the RSA algorithm, but only SHA-XXX for the DSA keys. -Use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine +You may use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine the hash algorithm. +Note that if @code{GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA} flag is specified this function +will ignore @code{hash_algo} and perform a raw PKCS1 signature. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_privkey_status +@anchor{gnutls_privkey_status} +@deftypefun {int} {gnutls_privkey_status} (gnutls_privkey_t @var{key}) +@var{key}: Holds the key + +Checks the status of the private key token. This function +is an actual wrapper over @code{gnutls_pkcs11_privkey_status()} , and +if the private key is a PKCS @code{11} token it will check whether +it is inserted or not. + +@strong{Returns:} this function will return non-zero if the token +holding the private key is still available (inserted), and zero otherwise. + +@strong{Since:} 3.1.10 +@end deftypefun + +@subheading gnutls_privkey_verify_params +@anchor{gnutls_privkey_verify_params} +@deftypefun {int} {gnutls_privkey_verify_params} (gnutls_privkey_t @var{key}) +@var{key}: should contain a @code{gnutls_privkey_t} structure + +This function will verify the private key parameters. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_pubkey_deinit @anchor{gnutls_pubkey_deinit} @deftypefun {void} {gnutls_pubkey_deinit} (gnutls_pubkey_t @var{key}) @@ -474,6 +876,108 @@ returned, and 0 on success. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_export2 +@anchor{gnutls_pubkey_export2} +@deftypefun {int} {gnutls_pubkey_export2} (gnutls_pubkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{key}: Holds the certificate + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a certificate PEM or DER encoded + +This function will export the public key to DER or PEM format. +The contents of the exported data is the SubjectPublicKeyInfo +X.509 structure. + +The output buffer will be allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE". + +@strong{Returns:} In case of failure a negative error code will be +returned, and 0 on success. + +@strong{Since:} 3.1.3 +@end deftypefun + +@subheading gnutls_pubkey_export_dsa_raw +@anchor{gnutls_pubkey_export_dsa_raw} +@deftypefun {int} {gnutls_pubkey_export_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) +@var{key}: Holds the public key + +@var{p}: will hold the p + +@var{q}: will hold the q + +@var{g}: will hold the g + +@var{y}: will hold the y + +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + +@subheading gnutls_pubkey_export_ecc_raw +@anchor{gnutls_pubkey_export_ecc_raw} +@deftypefun {int} {gnutls_pubkey_export_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) +@var{key}: Holds the public key + +@var{curve}: will hold the curve + +@var{x}: will hold x + +@var{y}: will hold y + +This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.0 +@end deftypefun + +@subheading gnutls_pubkey_export_ecc_x962 +@anchor{gnutls_pubkey_export_ecc_x962} +@deftypefun {int} {gnutls_pubkey_export_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{parameters}, gnutls_datum_t * @var{ecpoint}) +@var{key}: Holds the public key + +@var{parameters}: DER encoding of an ANSI X9.62 parameters + +@var{ecpoint}: DER encoding of ANSI X9.62 ECPoint + +This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + +@subheading gnutls_pubkey_export_rsa_raw +@anchor{gnutls_pubkey_export_rsa_raw} +@deftypefun {int} {gnutls_pubkey_export_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) +@var{key}: Holds the certificate + +@var{m}: will hold the modulus + +@var{e}: will hold the public exponent + +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_pubkey_get_key_id @anchor{gnutls_pubkey_get_key_id} @deftypefun {int} {gnutls_pubkey_get_key_id} (gnutls_pubkey_t @var{key}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) @@ -486,7 +990,7 @@ returned, and 0 on success. @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will return a unique ID the depends on the public +This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given public key. @@ -564,87 +1068,9 @@ success, or a negative error code on error. @strong{Since:} 2.12.0 @end deftypefun -@subheading gnutls_pubkey_get_pk_dsa_raw -@anchor{gnutls_pubkey_get_pk_dsa_raw} -@deftypefun {int} {gnutls_pubkey_get_pk_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) -@var{key}: Holds the public key - -@var{p}: will hold the p - -@var{q}: will hold the q - -@var{g}: will hold the g - -@var{y}: will hold the y - -This function will export the DSA public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 2.12.0 -@end deftypefun - -@subheading gnutls_pubkey_get_pk_ecc_raw -@anchor{gnutls_pubkey_get_pk_ecc_raw} -@deftypefun {int} {gnutls_pubkey_get_pk_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) -@var{key}: Holds the public key - -@var{curve}: will hold the curve - -@var{x}: will hold x - -@var{y}: will hold y - -This function will export the ECC public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 3.0 -@end deftypefun - -@subheading gnutls_pubkey_get_pk_ecc_x962 -@anchor{gnutls_pubkey_get_pk_ecc_x962} -@deftypefun {int} {gnutls_pubkey_get_pk_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t* @var{parameters}, gnutls_datum_t * @var{ecpoint}) -@var{key}: Holds the public key - -@var{parameters}: DER encoding of an ANSI X9.62 parameters - -@var{ecpoint}: DER encoding of ANSI X9.62 ECPoint - -This function will export the ECC public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 3.0 -@end deftypefun - -@subheading gnutls_pubkey_get_pk_rsa_raw -@anchor{gnutls_pubkey_get_pk_rsa_raw} -@deftypefun {int} {gnutls_pubkey_get_pk_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) -@var{key}: Holds the certificate - -@var{m}: will hold the modulus - -@var{e}: will hold the public exponent - -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 2.12.0 -@end deftypefun - @subheading gnutls_pubkey_get_preferred_hash_algorithm @anchor{gnutls_pubkey_get_preferred_hash_algorithm} -@deftypefun {int} {gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) +@deftypefun {int} {gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) @var{key}: Holds the certificate @var{hash}: The result of the call with the hash algorithm used for signature @@ -655,6 +1081,9 @@ This function will read the certifcate and return the appropriate digest algorithm to use for signing with this certificate. Some certificates (i.e. DSA might not be able to sign without the preferred algorithm). +To get the signature algorithm instead of just the hash use @code{gnutls_pk_to_sign()} +with the algorithm of the certificate/key and the provided @code{hash} . + @strong{Returns:} the 0 if the hash algorithm is found. A negative error code is returned on error. @@ -781,6 +1210,28 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_import_openpgp_raw +@anchor{gnutls_pubkey_import_openpgp_raw} +@deftypefun {int} {gnutls_pubkey_import_openpgp_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{data}: The public key data to be imported + +@var{format}: The format of the public key + +@var{keyid}: The key id to use (optional) + +@var{flags}: Should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun + @subheading gnutls_pubkey_import_pkcs11 @anchor{gnutls_pubkey_import_pkcs11} @deftypefun {int} {gnutls_pubkey_import_pkcs11} (gnutls_pubkey_t @var{key}, gnutls_pkcs11_obj_t @var{obj}, unsigned int @var{flags}) @@ -855,6 +1306,75 @@ gnutls_datum. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_import_tpm_raw +@anchor{gnutls_pubkey_import_tpm_raw} +@deftypefun {int} {gnutls_pubkey_import_tpm_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{fdata}: The TPM key to be imported + +@var{format}: The format of the private key + +@var{srk_password}: The password for the SRK key (optional) + +@var{flags}: One of the GNUTLS_PUBKEY_* flags + +This function will import the public key from the provided TPM key +structure. + +With respect to passwords the same as in +@code{gnutls_pubkey_import_tpm_url()} apply. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_pubkey_import_tpm_url +@anchor{gnutls_pubkey_import_tpm_url} +@deftypefun {int} {gnutls_pubkey_import_tpm_url} (gnutls_pubkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{url}: The URL of the TPM key to be imported + +@var{srk_password}: The password for the SRK key (optional) + +@var{flags}: should be zero + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +Note that unless @code{GNUTLS_PUBKEY_DISABLE_CALLBACKS} +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +@code{GNUTLS_E_TPM_SRK_PASSWORD_ERROR} is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_pubkey_import_url +@anchor{gnutls_pubkey_import_url} +@deftypefun {int} {gnutls_pubkey_import_url} (gnutls_pubkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{url}: A PKCS 11 url + +@var{flags}: One of GNUTLS_PKCS11_OBJ_* flags + +This function will import a PKCS11 certificate or a TPM key +as a public key. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_pubkey_import_x509 @anchor{gnutls_pubkey_import_x509} @deftypefun {int} {gnutls_pubkey_import_x509} (gnutls_pubkey_t @var{key}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) @@ -873,6 +1393,44 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_import_x509_crq +@anchor{gnutls_pubkey_import_x509_crq} +@deftypefun {int} {gnutls_pubkey_import_x509_crq} (gnutls_pubkey_t @var{key}, gnutls_x509_crq_t @var{crq}, unsigned int @var{flags}) +@var{key}: The public key + +@var{crq}: The certificate to be imported + +@var{flags}: should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun + +@subheading gnutls_pubkey_import_x509_raw +@anchor{gnutls_pubkey_import_x509_raw} +@deftypefun {int} {gnutls_pubkey_import_x509_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{data}: The public key data to be imported + +@var{format}: The format of the public key + +@var{flags}: should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun + @subheading gnutls_pubkey_init @anchor{gnutls_pubkey_init} @deftypefun {int} {gnutls_pubkey_init} (gnutls_pubkey_t * @var{key}) @@ -886,6 +1444,29 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_print +@anchor{gnutls_pubkey_print} +@deftypefun {int} {gnutls_pubkey_print} (gnutls_pubkey_t @var{pubkey}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) +@var{pubkey}: The structure to be printed + +@var{format}: Indicate the format to use + +@var{out}: Newly allocated datum with (0) terminated string. + +This function will pretty print public key information, suitable for +display to a human. + +Only @code{GNUTLS_CRT_PRINT_FULL} and @code{GNUTLS_CRT_PRINT_FULL_NUMBERS} +are implemented. + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun + @subheading gnutls_pubkey_set_key_usage @anchor{gnutls_pubkey_set_key_usage} @deftypefun {int} {gnutls_pubkey_set_key_usage} (gnutls_pubkey_t @var{key}, unsigned int @var{usage}) @@ -903,12 +1484,31 @@ negative error value. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_pubkey_set_pin_function +@anchor{gnutls_pubkey_set_pin_function} +@deftypefun {void} {gnutls_pubkey_set_pin_function} (gnutls_pubkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_pubkey_verify_data @anchor{gnutls_pubkey_verify_data} @deftypefun {int} {gnutls_pubkey_verify_data} (gnutls_pubkey_t @var{pubkey}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) @var{pubkey}: Holds the public key -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{data}: holds the signed data @@ -917,8 +1517,11 @@ negative error value. This function will verify the given signed data, using the parameters from the certificate. +Deprecated. This function cannot be easily used securely. +Use @code{gnutls_pubkey_verify_data2()} instead. + @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} -is returned, and zero or positive code on success. +is returned, and zero or positive code on success. @strong{Since:} 2.12.0 @end deftypefun @@ -930,7 +1533,7 @@ is returned, and zero or positive code on success. @var{algo}: The signature algorithm used -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{data}: holds the signed data @@ -950,7 +1553,7 @@ is returned, and zero or positive code on success. @deftypefun {int} {gnutls_pubkey_verify_hash} (gnutls_pubkey_t @var{key}, unsigned int @var{flags}, const gnutls_datum_t * @var{hash}, const gnutls_datum_t * @var{signature}) @var{key}: Holds the public key -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{hash}: holds the hash digest to be verified @@ -975,14 +1578,16 @@ is returned, and zero or positive code on success. @var{algo}: The signature algorithm used -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{hash}: holds the hash digest to be verified @var{signature}: contains the signature This function will verify the given signed digest, using the -parameters from the public key. +parameters from the public key. Note that unlike @code{gnutls_privkey_sign_hash()} , +this function accepts a signature algorithm instead of a digest algorithm. +You can use @code{gnutls_pk_to_sign()} to get the appropriate value. @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} is returned, and zero or positive code on success. @@ -990,6 +1595,19 @@ is returned, and zero or positive code on success. @strong{Since:} 3.0 @end deftypefun +@subheading gnutls_pubkey_verify_params +@anchor{gnutls_pubkey_verify_params} +@deftypefun {int} {gnutls_pubkey_verify_params} (gnutls_pubkey_t @var{key}) +@var{key}: should contain a @code{gnutls_pubkey_t} structure + +This function will verify the private key parameters. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_x509_crl_privkey_sign @anchor{gnutls_x509_crl_privkey_sign} @deftypefun {int} {gnutls_x509_crl_privkey_sign} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_t @var{issuer}, gnutls_privkey_t @var{issuer_key}, gnutls_digest_algorithm_t @var{dig}, unsigned int @var{flags}) diff --git a/doc/alert-printlist.c b/doc/alert-printlist.c index 59d5319..ab746aa 100644 --- a/doc/alert-printlist.c +++ b/doc/alert-printlist.c @@ -27,94 +27,96 @@ #include #include "common.h" -static void main_texinfo (void); +static void main_texinfo(void); static void main_latex(void); char buffer[1024]; -int -main (int argc, char *argv[]) +int main(int argc, char *argv[]) { - if (argc > 1) - main_latex(); - else - main_texinfo(); - - return 0; + if (argc > 1) + main_latex(); + else + main_texinfo(); + + return 0; } -static void main_texinfo (void) +static void main_texinfo(void) { - { - size_t i; - const char *name; - gnutls_kx_algorithm_t kx; - gnutls_cipher_algorithm_t cipher; - gnutls_mac_algorithm_t mac; - gnutls_protocol_t version; - - printf ("@multitable @columnfractions .55 .10 .30\n@anchor{tab:alerts}\n"); - printf ("@headitem Alert @tab ID @tab Description\n"); - for (i = 0; i<256;i++) - { - if (gnutls_alert_get_strname(i)==NULL) continue; - printf ("@item %s\n@tab %d\n@tab %s\n", - escape_texi_string(gnutls_alert_get_strname(i), buffer, sizeof(buffer)), - (unsigned int) i, gnutls_alert_get_name (i)); - } - printf ("@end multitable\n"); - - } + { + size_t i; + const char *name; + gnutls_kx_algorithm_t kx; + gnutls_cipher_algorithm_t cipher; + gnutls_mac_algorithm_t mac; + gnutls_protocol_t version; + + printf + ("@multitable @columnfractions .55 .10 .30\n@anchor{tab:alerts}\n"); + printf("@headitem Alert @tab ID @tab Description\n"); + for (i = 0; i < 256; i++) { + if (gnutls_alert_get_strname(i) == NULL) + continue; + printf("@item %s\n@tab %d\n@tab %s\n", + escape_texi_string(gnutls_alert_get_strname + (i), buffer, + sizeof(buffer)), + (unsigned int) i, gnutls_alert_get_name(i)); + } + printf("@end multitable\n"); + + } } static const char headers[] = "\\tablefirsthead{%\n" - "\\hline\n" - "Alert & ID & Description\\\\\n" - "\\hline}\n" + "\\hline\n" "Alert & ID & Description\\\\\n" "\\hline}\n" #if 0 - "\\tablehead{%\n" - "\\hline\n" - "\\multicolumn{3}{|l|}{\\small\\sl continued from previous page}\\\\\n" - "\\hline}\n" - "\\tabletail{%\n" - "\\hline\n" - "\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n" - "\\hline}\n" + "\\tablehead{%\n" + "\\hline\n" + "\\multicolumn{3}{|l|}{\\small\\sl continued from previous page}\\\\\n" + "\\hline}\n" + "\\tabletail{%\n" + "\\hline\n" + "\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n" + "\\hline}\n" #endif - "\\tablelasttail{\\hline}\n" - "\\bottomcaption{The TLS alert table}\n\n"; + "\\tablelasttail{\\hline}\n" + "\\bottomcaption{The TLS alert table}\n\n"; static void main_latex(void) { -int i, j; -const char* desc; -const char* _name; - -puts( headers); - -printf("\\begin{supertabular}{|p{.50\\linewidth}|p{.07\\linewidth}|p{.34\\linewidth}|}\n\\label{tab:alerts}\n"); - - { - size_t i; - const char *name; - gnutls_kx_algorithm_t kx; - gnutls_cipher_algorithm_t cipher; - gnutls_mac_algorithm_t mac; - gnutls_protocol_t version; - - for (i = 0; i<256;i++) - { - if (gnutls_alert_get_strname(i)==NULL) continue; - printf ("{\\small{%s}} & \\code{%d} & %s", - escape_string(gnutls_alert_get_strname(i), buffer, sizeof(buffer)), - (unsigned int) i, gnutls_alert_get_name (i)); - printf( "\\\\\n"); - } - - printf("\\end{supertabular}\n\n"); - - } - -return; + int i, j; + const char *desc; + const char *_name; + + puts(headers); + + printf + ("\\begin{supertabular}{|p{.50\\linewidth}|p{.07\\linewidth}|p{.34\\linewidth}|}\n\\label{tab:alerts}\n"); + + { + size_t i; + const char *name; + gnutls_kx_algorithm_t kx; + gnutls_cipher_algorithm_t cipher; + gnutls_mac_algorithm_t mac; + gnutls_protocol_t version; + + for (i = 0; i < 256; i++) { + if (gnutls_alert_get_strname(i) == NULL) + continue; + printf("{\\small{%s}} & \\code{%d} & %s", + escape_string(gnutls_alert_get_strname(i), + buffer, sizeof(buffer)), + (unsigned int) i, gnutls_alert_get_name(i)); + printf("\\\\\n"); + } + + printf("\\end{supertabular}\n\n"); + + } + + return; } diff --git a/doc/alerts.texi b/doc/alerts.texi index c8e6d55..11bf29f 100644 --- a/doc/alerts.texi +++ b/doc/alerts.texi @@ -85,4 +85,7 @@ @item GNUTLS_@-A_@-UNKNOWN_@-PSK_@-IDENTITY @tab 115 @tab The SRP/PSK username is missing or not known +@item GNUTLS_@-A_@-NO_@-APPLICATION_@-PROTOCOL +@tab 120 +@tab No supported application protocol could be negotiated @end multitable diff --git a/doc/algorithms.texi b/doc/algorithms.texi index 2c7abd4..4ba9794 100644 --- a/doc/algorithms.texi +++ b/doc/algorithms.texi @@ -1,102 +1,69 @@ @heading Ciphersuites @multitable @columnfractions .60 .20 .20 @headitem Ciphersuite name @tab TLS ID @tab Since -@item TLS_@-DH_@-ANON_@-ARCFOUR_@-MD5 -@tab 0x00 0x18 +@item TLS_@-RSA_@-NULL_@-MD5 +@tab 0x00 0x01 @tab SSL3.0 -@item TLS_@-DH_@-ANON_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0x00 0x1B +@item TLS_@-RSA_@-NULL_@-SHA1 +@tab 0x00 0x02 @tab SSL3.0 -@item TLS_@-DH_@-ANON_@-AES_@-128_@-CBC_@-SHA1 -@tab 0x00 0x34 +@item TLS_@-RSA_@-NULL_@-SHA256 +@tab 0x00 0x3B @tab SSL3.0 -@item TLS_@-DH_@-ANON_@-AES_@-256_@-CBC_@-SHA1 -@tab 0x00 0x3A +@item TLS_@-RSA_@-ARCFOUR_@-128_@-SHA1 +@tab 0x00 0x05 @tab SSL3.0 -@item TLS_@-DH_@-ANON_@-CAMELLIA_@-128_@-CBC_@-SHA1 -@tab 0x00 0x46 -@tab TLS1.0 -@item TLS_@-DH_@-ANON_@-CAMELLIA_@-256_@-CBC_@-SHA1 -@tab 0x00 0x89 -@tab TLS1.0 -@item TLS_@-DH_@-ANON_@-AES_@-128_@-CBC_@-SHA256 -@tab 0x00 0x6C -@tab TLS1.2 -@item TLS_@-DH_@-ANON_@-AES_@-256_@-CBC_@-SHA256 -@tab 0x00 0x6D -@tab TLS1.2 -@item TLS_@-PSK_@-SHA_@-ARCFOUR_@-SHA1 -@tab 0x00 0x8A -@tab TLS1.0 -@item TLS_@-PSK_@-SHA_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0x00 0x8B +@item TLS_@-RSA_@-ARCFOUR_@-128_@-MD5 +@tab 0x00 0x04 +@tab SSL3.0 +@item TLS_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0x00 0x0A +@tab SSL3.0 +@item TLS_@-RSA_@-AES_@-128_@-CBC_@-SHA1 +@tab 0x00 0x2F +@tab SSL3.0 +@item TLS_@-RSA_@-AES_@-256_@-CBC_@-SHA1 +@tab 0x00 0x35 +@tab SSL3.0 +@item TLS_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0x00 0xBA @tab TLS1.0 -@item TLS_@-PSK_@-SHA_@-AES_@-128_@-CBC_@-SHA1 -@tab 0x00 0x8C +@item TLS_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA256 +@tab 0x00 0xC0 @tab TLS1.0 -@item TLS_@-PSK_@-SHA_@-AES_@-256_@-CBC_@-SHA1 -@tab 0x00 0x8D +@item TLS_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA1 +@tab 0x00 0x41 +@tab SSL3.0 +@item TLS_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA1 +@tab 0x00 0x84 +@tab SSL3.0 +@item TLS_@-RSA_@-AES_@-128_@-CBC_@-SHA256 +@tab 0x00 0x3C @tab TLS1.0 -@item TLS_@-PSK_@-AES_@-128_@-CBC_@-SHA256 -@tab 0x00 0xAE +@item TLS_@-RSA_@-AES_@-256_@-CBC_@-SHA256 +@tab 0x00 0x3D @tab TLS1.0 -@item TLS_@-PSK_@-AES_@-128_@-GCM_@-SHA256 -@tab 0x00 0xA8 +@item TLS_@-RSA_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0x9C @tab TLS1.2 -@item TLS_@-PSK_@-NULL_@-SHA256 -@tab 0x00 0xB0 -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-SHA_@-ARCFOUR_@-SHA1 -@tab 0x00 0x8E -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-SHA_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0x00 0x8F -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-SHA_@-AES_@-128_@-CBC_@-SHA1 -@tab 0x00 0x90 -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-SHA_@-AES_@-256_@-CBC_@-SHA1 -@tab 0x00 0x91 -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-AES_@-128_@-CBC_@-SHA256 -@tab 0x00 0xB2 -@tab TLS1.0 -@item TLS_@-DHE_@-PSK_@-AES_@-128_@-GCM_@-SHA256 -@tab 0x00 0xAA +@item TLS_@-RSA_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0x9D @tab TLS1.2 -@item TLS_@-DHE_@-PSK_@-NULL_@-SHA256 -@tab 0x00 0xB4 -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0xC0 0x1A -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-AES_@-128_@-CBC_@-SHA1 -@tab 0xC0 0x1D -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-AES_@-256_@-CBC_@-SHA1 -@tab 0xC0 0x20 -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-DSS_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0xC0 0x1C -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0xC0 0x1B -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-DSS_@-AES_@-128_@-CBC_@-SHA1 -@tab 0xC0 0x1F -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-RSA_@-AES_@-128_@-CBC_@-SHA1 -@tab 0xC0 0x1E -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-DSS_@-AES_@-256_@-CBC_@-SHA1 -@tab 0xC0 0x22 -@tab TLS1.0 -@item TLS_@-SRP_@-SHA_@-RSA_@-AES_@-256_@-CBC_@-SHA1 -@tab 0xC0 0x21 -@tab TLS1.0 -@item TLS_@-DHE_@-DSS_@-ARCFOUR_@-SHA1 +@item TLS_@-RSA_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x7A +@tab TLS1.2 +@item TLS_@-RSA_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x7B +@tab TLS1.2 +@item TLS_@-RSA_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x11 +@tab SSL3.0 +@item TLS_@-RSA_@-ESTREAM_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x10 +@tab SSL3.0 +@item TLS_@-DHE_@-DSS_@-ARCFOUR_@-128_@-SHA1 @tab 0x00 0x66 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-DHE_@-DSS_@-3DES_@-EDE_@-CBC_@-SHA1 @tab 0x00 0x13 @tab SSL3.0 @@ -106,17 +73,35 @@ @item TLS_@-DHE_@-DSS_@-AES_@-256_@-CBC_@-SHA1 @tab 0x00 0x38 @tab SSL3.0 +@item TLS_@-DHE_@-DSS_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0x00 0xBD +@tab TLS1.0 +@item TLS_@-DHE_@-DSS_@-CAMELLIA_@-256_@-CBC_@-SHA256 +@tab 0x00 0xC3 +@tab SSL3.0 @item TLS_@-DHE_@-DSS_@-CAMELLIA_@-128_@-CBC_@-SHA1 @tab 0x00 0x44 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-DHE_@-DSS_@-CAMELLIA_@-256_@-CBC_@-SHA1 @tab 0x00 0x87 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-DHE_@-DSS_@-AES_@-128_@-CBC_@-SHA256 @tab 0x00 0x40 -@tab TLS1.2 +@tab TLS1.0 @item TLS_@-DHE_@-DSS_@-AES_@-256_@-CBC_@-SHA256 @tab 0x00 0x6A +@tab TLS1.0 +@item TLS_@-DHE_@-DSS_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0xA2 +@tab TLS1.2 +@item TLS_@-DHE_@-DSS_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0xA3 +@tab TLS1.2 +@item TLS_@-DHE_@-DSS_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x80 +@tab TLS1.2 +@item TLS_@-DHE_@-DSS_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x81 @tab TLS1.2 @item TLS_@-DHE_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 @tab 0x00 0x16 @@ -127,153 +112,390 @@ @item TLS_@-DHE_@-RSA_@-AES_@-256_@-CBC_@-SHA1 @tab 0x00 0x39 @tab SSL3.0 +@item TLS_@-DHE_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0x00 0xBE +@tab TLS1.0 +@item TLS_@-DHE_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA256 +@tab 0x00 0xC4 +@tab TLS1.0 @item TLS_@-DHE_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA1 @tab 0x00 0x45 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-DHE_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA1 @tab 0x00 0x88 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-DHE_@-RSA_@-AES_@-128_@-CBC_@-SHA256 @tab 0x00 0x67 -@tab TLS1.2 +@tab TLS1.0 @item TLS_@-DHE_@-RSA_@-AES_@-256_@-CBC_@-SHA256 @tab 0x00 0x6B -@tab TLS1.2 -@item TLS_@-RSA_@-NULL_@-MD5 -@tab 0x00 0x01 -@tab SSL3.0 -@item TLS_@-RSA_@-NULL_@-SHA1 -@tab 0x00 0x02 -@tab SSL3.0 -@item TLS_@-RSA_@-NULL_@-SHA256 -@tab 0x00 0x3B -@tab TLS1.2 -@item TLS_@-RSA_@-EXPORT_@-ARCFOUR_@-40_@-MD5 -@tab 0x00 0x03 -@tab SSL3.0 -@item TLS_@-RSA_@-ARCFOUR_@-SHA1 -@tab 0x00 0x05 -@tab SSL3.0 -@item TLS_@-RSA_@-ARCFOUR_@-MD5 -@tab 0x00 0x04 -@tab SSL3.0 -@item TLS_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0x00 0x0A -@tab SSL3.0 -@item TLS_@-RSA_@-AES_@-128_@-CBC_@-SHA1 -@tab 0x00 0x2F -@tab SSL3.0 -@item TLS_@-RSA_@-AES_@-256_@-CBC_@-SHA1 -@tab 0x00 0x35 -@tab SSL3.0 -@item TLS_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA1 -@tab 0x00 0x41 -@tab TLS1.0 -@item TLS_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA1 -@tab 0x00 0x84 @tab TLS1.0 -@item TLS_@-RSA_@-AES_@-128_@-CBC_@-SHA256 -@tab 0x00 0x3C -@tab TLS1.2 -@item TLS_@-RSA_@-AES_@-256_@-CBC_@-SHA256 -@tab 0x00 0x3D -@tab TLS1.2 -@item TLS_@-RSA_@-AES_@-128_@-GCM_@-SHA256 -@tab 0x00 0x9C -@tab TLS1.2 @item TLS_@-DHE_@-RSA_@-AES_@-128_@-GCM_@-SHA256 @tab 0x00 0x9E @tab TLS1.2 -@item TLS_@-DHE_@-DSS_@-AES_@-128_@-GCM_@-SHA256 -@tab 0x00 0xA2 +@item TLS_@-DHE_@-RSA_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0x9F @tab TLS1.2 -@item TLS_@-DH_@-ANON_@-AES_@-128_@-GCM_@-SHA256 -@tab 0x00 0xA6 +@item TLS_@-DHE_@-RSA_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x7C +@tab TLS1.2 +@item TLS_@-DHE_@-RSA_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x7D @tab TLS1.2 -@item TLS_@-ECDH_@-ANON_@-NULL_@-SHA1 -@tab 0xC0 0x15 -@tab TLS1.0 -@item TLS_@-ECDH_@-ANON_@-3DES_@-EDE_@-CBC_@-SHA1 -@tab 0xC0 0x17 -@tab TLS1.0 -@item TLS_@-ECDH_@-ANON_@-AES_@-128_@-CBC_@-SHA1 -@tab 0xC0 0x18 -@tab TLS1.0 -@item TLS_@-ECDH_@-ANON_@-AES_@-256_@-CBC_@-SHA1 -@tab 0xC0 0x19 -@tab TLS1.0 @item TLS_@-ECDHE_@-RSA_@-NULL_@-SHA1 @tab 0xC0 0x10 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 @tab 0xC0 0x12 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-RSA_@-AES_@-128_@-CBC_@-SHA1 @tab 0xC0 0x13 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-RSA_@-AES_@-256_@-CBC_@-SHA1 @tab 0xC0 0x14 +@tab SSL3.0 +@item TLS_@-ECDHE_@-RSA_@-AES_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x28 +@tab TLS1.0 +@item TLS_@-ECDHE_@-RSA_@-ARCFOUR_@-128_@-SHA1 +@tab 0xC0 0x11 +@tab SSL3.0 +@item TLS_@-ECDHE_@-RSA_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x76 +@tab TLS1.0 +@item TLS_@-ECDHE_@-RSA_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x77 @tab TLS1.0 @item TLS_@-ECDHE_@-ECDSA_@-NULL_@-SHA1 @tab 0xC0 0x06 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-ECDSA_@-3DES_@-EDE_@-CBC_@-SHA1 @tab 0xC0 0x08 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-ECDSA_@-AES_@-128_@-CBC_@-SHA1 @tab 0xC0 0x09 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-ECDSA_@-AES_@-256_@-CBC_@-SHA1 @tab 0xC0 0x0A +@tab SSL3.0 +@item TLS_@-ECDHE_@-ECDSA_@-ARCFOUR_@-128_@-SHA1 +@tab 0xC0 0x07 +@tab SSL3.0 +@item TLS_@-ECDHE_@-ECDSA_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x72 +@tab TLS1.0 +@item TLS_@-ECDHE_@-ECDSA_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x73 @tab TLS1.0 @item TLS_@-ECDHE_@-ECDSA_@-AES_@-128_@-CBC_@-SHA256 @tab 0xC0 0x23 -@tab TLS1.2 +@tab TLS1.0 @item TLS_@-ECDHE_@-RSA_@-AES_@-128_@-CBC_@-SHA256 @tab 0xC0 0x27 +@tab TLS1.0 +@item TLS_@-ECDHE_@-ECDSA_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x86 +@tab TLS1.2 +@item TLS_@-ECDHE_@-ECDSA_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x87 @tab TLS1.2 @item TLS_@-ECDHE_@-ECDSA_@-AES_@-128_@-GCM_@-SHA256 @tab 0xC0 0x2B @tab TLS1.2 +@item TLS_@-ECDHE_@-ECDSA_@-AES_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x2C +@tab TLS1.2 @item TLS_@-ECDHE_@-RSA_@-AES_@-128_@-GCM_@-SHA256 @tab 0xC0 0x2F @tab TLS1.2 +@item TLS_@-ECDHE_@-RSA_@-AES_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x30 +@tab TLS1.2 +@item TLS_@-ECDHE_@-ECDSA_@-AES_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x24 +@tab TLS1.0 +@item TLS_@-ECDHE_@-RSA_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x8A +@tab TLS1.2 +@item TLS_@-ECDHE_@-RSA_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x8B +@tab TLS1.2 +@item TLS_@-ECDHE_@-RSA_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x13 +@tab SSL3.0 +@item TLS_@-ECDHE_@-ECDSA_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x15 +@tab SSL3.0 +@item TLS_@-ECDHE_@-RSA_@-ESTREAM_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x12 +@tab SSL3.0 +@item TLS_@-ECDHE_@-ECDSA_@-ESTREAM_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x14 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-3DES_@-EDE_@-CBC_@-SHA1 @tab 0xC0 0x34 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-AES_@-128_@-CBC_@-SHA1 @tab 0xC0 0x35 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-AES_@-256_@-CBC_@-SHA1 @tab 0xC0 0x36 -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-AES_@-128_@-CBC_@-SHA256 @tab 0xC0 0x37 @tab TLS1.0 @item TLS_@-ECDHE_@-PSK_@-AES_@-256_@-CBC_@-SHA384 @tab 0xC0 0x38 @tab TLS1.0 +@item TLS_@-ECDHE_@-PSK_@-ARCFOUR_@-128_@-SHA1 +@tab 0xC0 0x33 +@tab SSL3.0 +@item TLS_@-ECDHE_@-PSK_@-NULL_@-SHA1 +@tab 0xC0 0x39 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-NULL_@-SHA256 @tab 0xC0 0x3A -@tab TLS1.0 +@tab SSL3.0 @item TLS_@-ECDHE_@-PSK_@-NULL_@-SHA384 @tab 0xC0 0x3B +@tab SSL3.0 +@item TLS_@-ECDHE_@-PSK_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x9A @tab TLS1.0 -@item TLS_@-ECDHE_@-ECDSA_@-AES_@-256_@-GCM_@-SHA384 -@tab 0xC0 0x2C +@item TLS_@-ECDHE_@-PSK_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x9B +@tab TLS1.0 +@item TLS_@-ECDHE_@-PSK_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x19 +@tab SSL3.0 +@item TLS_@-ECDHE_@-PSK_@-ESTREAM_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x18 +@tab SSL3.0 +@item TLS_@-PSK_@-ARCFOUR_@-128_@-SHA1 +@tab 0x00 0x8A +@tab SSL3.0 +@item TLS_@-PSK_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0x00 0x8B +@tab SSL3.0 +@item TLS_@-PSK_@-AES_@-128_@-CBC_@-SHA1 +@tab 0x00 0x8C +@tab SSL3.0 +@item TLS_@-PSK_@-AES_@-256_@-CBC_@-SHA1 +@tab 0x00 0x8D +@tab SSL3.0 +@item TLS_@-PSK_@-AES_@-128_@-CBC_@-SHA256 +@tab 0x00 0xAE +@tab TLS1.0 +@item TLS_@-PSK_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0xA9 @tab TLS1.2 -@item TLS_@-ECDHE_@-RSA_@-AES_@-256_@-GCM_@-SHA384 -@tab 0xC0 0x30 +@item TLS_@-PSK_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x8E @tab TLS1.2 -@item TLS_@-ECDHE_@-ECDSA_@-AES_@-256_@-CBC_@-SHA384 -@tab 0xC0 0x24 +@item TLS_@-PSK_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x8F @tab TLS1.2 -@item TLS_@-PSK_@-WITH_@-AES_@-256_@-GCM_@-SHA384 -@tab 0x00 0xA9 +@item TLS_@-PSK_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0xA8 +@tab TLS1.2 +@item TLS_@-PSK_@-NULL_@-SHA1 +@tab 0x00 0x2C +@tab SSL3.0 +@item TLS_@-PSK_@-NULL_@-SHA256 +@tab 0x00 0xB0 +@tab SSL3.0 +@item TLS_@-PSK_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x94 +@tab TLS1.0 +@item TLS_@-PSK_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x95 +@tab TLS1.0 +@item TLS_@-PSK_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x17 +@tab SSL3.0 +@item TLS_@-PSK_@-ESTREAM_@-SALSA20_@-256_@-SHA1 +@tab 0xE4 0x16 +@tab SSL3.0 +@item TLS_@-PSK_@-AES_@-256_@-CBC_@-SHA384 +@tab 0x00 0xAF +@tab TLS1.0 +@item TLS_@-PSK_@-NULL_@-SHA384 +@tab 0x00 0xB1 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-ARCFOUR_@-128_@-SHA1 +@tab 0x00 0x92 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0x00 0x93 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-AES_@-128_@-CBC_@-SHA1 +@tab 0x00 0x94 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-AES_@-256_@-CBC_@-SHA1 +@tab 0x00 0x95 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x92 +@tab TLS1.2 +@item TLS_@-RSA_@-PSK_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x93 +@tab TLS1.2 +@item TLS_@-RSA_@-PSK_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0xAC +@tab TLS1.2 +@item TLS_@-RSA_@-PSK_@-AES_@-128_@-CBC_@-SHA256 +@tab 0x00 0xB6 +@tab TLS1.0 +@item TLS_@-RSA_@-PSK_@-NULL_@-SHA1 +@tab 0x00 0x2E +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-NULL_@-SHA256 +@tab 0x00 0xB8 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0xAD @tab TLS1.2 -@item TLS_@-DHE_@-PSK_@-WITH_@-AES_@-256_@-GCM_@-SHA384 +@item TLS_@-RSA_@-PSK_@-AES_@-256_@-CBC_@-SHA384 +@tab 0x00 0xB7 +@tab TLS1.0 +@item TLS_@-RSA_@-PSK_@-NULL_@-SHA384 +@tab 0x00 0xB9 +@tab SSL3.0 +@item TLS_@-RSA_@-PSK_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x98 +@tab TLS1.0 +@item TLS_@-RSA_@-PSK_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x99 +@tab TLS1.0 +@item TLS_@-DHE_@-PSK_@-ARCFOUR_@-128_@-SHA1 +@tab 0x00 0x8E +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0x00 0x8F +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-AES_@-128_@-CBC_@-SHA1 +@tab 0x00 0x90 +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-AES_@-256_@-CBC_@-SHA1 +@tab 0x00 0x91 +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-AES_@-128_@-CBC_@-SHA256 +@tab 0x00 0xB2 +@tab TLS1.0 +@item TLS_@-DHE_@-PSK_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0xAA +@tab TLS1.2 +@item TLS_@-DHE_@-PSK_@-NULL_@-SHA1 +@tab 0x00 0x2D +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-NULL_@-SHA256 +@tab 0x00 0xB4 +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-NULL_@-SHA384 +@tab 0x00 0xB5 +@tab SSL3.0 +@item TLS_@-DHE_@-PSK_@-AES_@-256_@-CBC_@-SHA384 +@tab 0x00 0xB3 +@tab TLS1.0 +@item TLS_@-DHE_@-PSK_@-AES_@-256_@-GCM_@-SHA384 @tab 0x00 0xAB @tab TLS1.2 +@item TLS_@-DHE_@-PSK_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0xC0 0x96 +@tab TLS1.0 +@item TLS_@-DHE_@-PSK_@-CAMELLIA_@-256_@-CBC_@-SHA384 +@tab 0xC0 0x97 +@tab TLS1.0 +@item TLS_@-DHE_@-PSK_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x90 +@tab TLS1.2 +@item TLS_@-DHE_@-PSK_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x91 +@tab TLS1.2 +@item TLS_@-DH_@-ANON_@-ARCFOUR_@-128_@-MD5 +@tab 0x00 0x18 +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0x00 0x1B +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-AES_@-128_@-CBC_@-SHA1 +@tab 0x00 0x34 +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-AES_@-256_@-CBC_@-SHA1 +@tab 0x00 0x3A +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-128_@-CBC_@-SHA256 +@tab 0x00 0xBF +@tab TLS1.0 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-256_@-CBC_@-SHA256 +@tab 0x00 0xC5 +@tab TLS1.0 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-128_@-CBC_@-SHA1 +@tab 0x00 0x46 +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-256_@-CBC_@-SHA1 +@tab 0x00 0x89 +@tab SSL3.0 +@item TLS_@-DH_@-ANON_@-AES_@-128_@-CBC_@-SHA256 +@tab 0x00 0x6C +@tab TLS1.0 +@item TLS_@-DH_@-ANON_@-AES_@-256_@-CBC_@-SHA256 +@tab 0x00 0x6D +@tab TLS1.0 +@item TLS_@-DH_@-ANON_@-AES_@-128_@-GCM_@-SHA256 +@tab 0x00 0xA6 +@tab TLS1.2 +@item TLS_@-DH_@-ANON_@-AES_@-256_@-GCM_@-SHA384 +@tab 0x00 0xA7 +@tab TLS1.2 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-128_@-GCM_@-SHA256 +@tab 0xC0 0x84 +@tab TLS1.2 +@item TLS_@-DH_@-ANON_@-CAMELLIA_@-256_@-GCM_@-SHA384 +@tab 0xC0 0x85 +@tab TLS1.2 +@item TLS_@-ECDH_@-ANON_@-NULL_@-SHA1 +@tab 0xC0 0x15 +@tab SSL3.0 +@item TLS_@-ECDH_@-ANON_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0xC0 0x17 +@tab SSL3.0 +@item TLS_@-ECDH_@-ANON_@-AES_@-128_@-CBC_@-SHA1 +@tab 0xC0 0x18 +@tab SSL3.0 +@item TLS_@-ECDH_@-ANON_@-AES_@-256_@-CBC_@-SHA1 +@tab 0xC0 0x19 +@tab SSL3.0 +@item TLS_@-ECDH_@-ANON_@-ARCFOUR_@-128_@-SHA1 +@tab 0xC0 0x16 +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0xC0 0x1A +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-AES_@-128_@-CBC_@-SHA1 +@tab 0xC0 0x1D +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-AES_@-256_@-CBC_@-SHA1 +@tab 0xC0 0x20 +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-DSS_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0xC0 0x1C +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-RSA_@-3DES_@-EDE_@-CBC_@-SHA1 +@tab 0xC0 0x1B +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-DSS_@-AES_@-128_@-CBC_@-SHA1 +@tab 0xC0 0x1F +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-RSA_@-AES_@-128_@-CBC_@-SHA1 +@tab 0xC0 0x1E +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-DSS_@-AES_@-256_@-CBC_@-SHA1 +@tab 0xC0 0x22 +@tab SSL3.0 +@item TLS_@-SRP_@-SHA_@-RSA_@-AES_@-256_@-CBC_@-SHA1 +@tab 0xC0 0x21 +@tab SSL3.0 @end multitable @@ -291,6 +513,7 @@ @item TLS1.2 @item DTLS0.9 @item DTLS1.0 +@item DTLS1.2 @end table @heading Ciphers @@ -301,12 +524,18 @@ @item AES-128-GCM @item AES-256-GCM @item ARCFOUR-128 +@item ESTREAM-SALSA20-256 +@item SALSA20-256 @item CAMELLIA-256-CBC +@item CAMELLIA-192-CBC @item CAMELLIA-128-CBC +@item CAMELLIA-128-GCM +@item CAMELLIA-256-GCM @item 3DES-CBC @item DES-CBC @item ARCFOUR-40 @item RC2-40 +@item NULL @end table @heading MAC algorithms @@ -317,6 +546,8 @@ @item SHA384 @item SHA512 @item SHA224 +@item UMAC-96 +@item UMAC-128 @item AEAD @end table @@ -325,15 +556,15 @@ @item ANON-DH @item ANON-ECDH @item RSA -@item RSA-EXPORT @item DHE-RSA +@item DHE-DSS @item ECDHE-RSA @item ECDHE-ECDSA -@item DHE-DSS @item SRP-DSS @item SRP-RSA @item SRP @item PSK +@item RSA-PSK @item DHE-PSK @item ECDHE-PSK @end table @@ -348,15 +579,18 @@ @heading Public key signature algorithms @table @code @item RSA-SHA1 +@item RSA-SHA1 @item RSA-SHA224 @item RSA-SHA256 @item RSA-SHA384 @item RSA-SHA512 @item RSA-RMD160 @item DSA-SHA1 +@item DSA-SHA1 @item DSA-SHA224 @item DSA-SHA256 @item RSA-MD5 +@item RSA-MD5 @item RSA-MD2 @item ECDSA-SHA1 @item ECDSA-SHA224 diff --git a/doc/certtool.cfg b/doc/certtool.cfg index db6ba70..47d4d38 100644 --- a/doc/certtool.cfg +++ b/doc/certtool.cfg @@ -9,7 +9,7 @@ organization = "Koko inc." unit = "sleeping dept." # The locality of the subject. -# locality = +# locality = # The state of the certificate owner. state = "Attiki" @@ -23,33 +23,67 @@ cn = "Cindy Lauper" # A user id of the certificate owner. #uid = "clauper" +# Set domain components +#dc = "name" +#dc = "domain" + # If the supported DN OIDs are not adequate you can set # any OID here. # For example set the X.520 Title and the X.520 Pseudonym # by using OID and string pairs. -#dn_oid = "2.5.4.12" "Dr." "2.5.4.65" "jackal" +#dn_oid = 2.5.4.12 Dr. +#dn_oid = 2.5.4.65 jackal # This is deprecated and should not be used in new # certificates. -# pkcs9_email = "none@none.org" +# pkcs9_email = "none@@none.org" + +# An alternative way to set the certificate's distinguished name directly +# is with the "dn" option. The attribute names allowed are: +# C (country), street, O (organization), OU (unit), title, CN (common name), +# L (locality), ST (state), placeOfBirth, gender, countryOfCitizenship, +# countryOfResidence, serialNumber, telephoneNumber, surName, initials, +# generationQualifier, givenName, pseudonym, dnQualifier, postalCode, name, +# businessCategory, DC, UID, jurisdictionOfIncorporationLocalityName, +# jurisdictionOfIncorporationStateOrProvinceName, +# jurisdictionOfIncorporationCountryName, XmppAddr, and numeric OIDs. + +#dn = "cn=Nik,st=Attiki,C=GR,surName=Mavrogiannopoulos,2.5.4.9=Arkadias" # The serial number of the certificate serial = 007 # In how many days, counting from today, this certificate will expire. +# Use -1 if there is no expiration date. expiration_days = 700 +# Alternatively you may set concrete dates and time. The GNU date string +# formats are accepted. See: +# http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html + +#activation_date = "2004-02-29 16:21:42" +#expiration_date = "2025-02-29 16:24:41" # X.509 v3 extensions # A dnsname in case of a WWW server. #dns_name = "www.none.org" +#dns_name = "www.morethanone.org" + +# A subject alternative name URI +#uri = "http://www.example.com" # An IP address in case of a server. #ip_address = "192.168.1.1" # An email in case of a person -email = "none@none.org" +email = "none@@none.org" + +# Challenge password used in certificate requests +challenge_password = 123456 + +# Password when encrypting a private key +#password = secret # An URL that has CRLs (certificate revocation lists) # available. Needed in CA certificates. @@ -58,6 +92,11 @@ email = "none@none.org" # Whether this is a CA certificate or not #ca +# for microsoft smart card logon +# key_purpose_oid = 1.3.6.1.4.1.311.20.2.2 + +### Other predefined key purpose OIDs + # Whether this certificate will be used for a TLS client #tls_www_client @@ -71,7 +110,7 @@ signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is preferred to use different # keys for encryption and signing. -#encryption_key +encryption_key # Whether this key will be used to sign other certificates. #cert_signing_key @@ -91,27 +130,44 @@ signing_key # Whether this key will be used for IPsec IKE operations. #ipsec_ike_key -#a space separated list of key purpose OIDs to be added -#key_purpose_oids = "1.3.6.1.5.5.7.3.1" "1.2.3.4.5.6" +### end of key purpose OIDs + +# When generating a certificate from a certificate +# request, then honor the extensions stored in the request +# and store them in the real certificate. +#honor_crq_extensions -# Things for PKCS #10 certificate Requests +# Path length contraint. Sets the maximum number of +# certificates that can be used to certify this certificate. +# (i.e. the certificate chain length) +#path_len = -1 +#path_len = 2 -# A challenge password for the request. -#challenge_password = "My challenge password" +# OCSP URI +# ocsp_uri = http://my.ocsp.server/ocsp -# When generating certificate use extensions found in certificate request. -#honor_crq_extensions +# CA issuers URI +# ca_issuers_uri = http://my.ca.issuer + +# Certificate policies +# policy1 = 1.3.6.1.4.1.5484.1.10.99.1.0 +# policy1_txt = "This is a long policy to summarize" +# policy1_url = http://www.example.com/a-policy-to-read + +# policy2 = 1.3.6.1.4.1.5484.1.10.99.1.1 +# policy2_txt = "This is a short policy" +# policy2_url = http://www.example.com/another-policy-to-read + + +# Options for proxy certificates +# proxy_policy_language = 1.3.6.1.5.5.7.21.1 -# Other things. -# A password to be used while encrypting/decrypting. -#password = "my pass" +# Options for generating a CRL -# The next update (in days from now) for a CRL -#crl_next_update = 30 +# next CRL update will be in 43 days (wow) +#crl_next_update = 43 -# The CRL number extension -#crl_number = 1 +# this is the 5th CRL by this CA +#crl_number = 5 -# A name for a PKCS #12 key -#pkcs12_key_name = "Anonymous key" diff --git a/doc/cha-auth.texi b/doc/cha-auth.texi new file mode 100644 index 0000000..4079985 --- /dev/null +++ b/doc/cha-auth.texi @@ -0,0 +1,118 @@ +@node Authentication methods +@chapter Authentication methods +@cindex authentication methods + +The initial key exchange of the TLS protocol performs authentication +of the peers. In typical scenarios the server is authenticated to +the client, and optionally the client to the server. + +While many associate TLS with X.509 certificates and public key +authentication, the protocol supports various authentication methods, +including pre-shared keys, and passwords. In this chapter a description +of the existing authentication methods is provided, as well as some +guidance on which use-cases each method can be used at. + +@menu +* Certificate authentication:: +* More on certificate authentication:: +* Shared-key and anonymous authentication:: +* Selecting an appropriate authentication method:: +@end menu + +@include cha-cert-auth.texi + +@include cha-cert-auth2.texi + +@include cha-shared-key.texi + +@node Selecting an appropriate authentication method +@section Selecting an appropriate authentication method + +This section provides some guidance on how to use the available authentication +methods in @acronym{GnuTLS} in various scenarios. + +@subsection Two peers with an out-of-band channel + +Let's consider two peers need to communicate over an untrusted channel +(the Internet), but have an out-of-band channel available. The latter +channel is considered safe from eavesdropping and message modification and thus +can be used for an initial bootstrapping of the protocol. The options +available are: +@itemize +@item Pre-shared keys (see @ref{PSK authentication}). The server and a +client communicate a shared randomly generated key over the trusted +channel and use it to negotiate further sessions over the untrusted channel. + +@item Passwords (see @ref{SRP authentication}). The client communicates +to the server his username and password of choice and uses it to +negotiate further sessions over the untrusted channel. + +@item Public keys (see @ref{Certificate authentication}). The client +and the server exchange their public keys (or fingerprints of them) +over the trusted channel. +On future sessions over the untrusted channel they verify the key +being the same (similar to @ref{Verifying a certificate using trust on first use +authentication}). +@end itemize + +Provided that the out-of-band channel is trusted all of the above provide +a similar level of protection. An out-of-band channel may be the initial +bootstrapping of a user's PC in a corporate environment, in-person +communication, communication over an alternative network (e.g. the phone +network), etc. + +@subsection Two peers without an out-of-band channel + +When an out-of-band channel is not available a peer cannot be reliably +authenticated. What can be done, however, is to allow some form of +registration of users connecting for the first time and ensure that their +keys remain the same after that initial connection. This is termed +key continuity or trust on first use (TOFU). + +The available option is to use public key authentication (see @ref{Certificate authentication}). +The client and the server store each other's public keys (or fingerprints of them) +and associate them with their identity. +On future sessions over the untrusted channel they verify the keys +being the same (see @ref{Verifying a certificate using trust on first use +authentication}). + +To mitigate the uncertainty of the information exchanged in the first +connection other channels over the Internet may be used, e.g., @acronym{DNSSEC} +(see @ref{Verifying a certificate using DANE}). + +@subsection Two peers and a trusted third party + +When a trusted third party is available (or a certificate authority) +the most suitable option is to use +certificate authentication (see @ref{Certificate authentication}). +The client and the server obtain certificates that associate their identity +and public keys using a digital signature by the trusted party and use +them to on the subsequent communications with each other. +Each party verifies the peer's certificate using the trusted third party's +signature. The parameters of the third party's signature are present +in its certificate which must be available to all communicating parties. + +While the above is the typical authentication method for servers in the +Internet by using the commercial CAs, the users that act as clients in the +protocol rarely possess such certificates. In that case a hybrid method +can be used where the server is authenticated by the client using the +commercial CAs and the client is authenticated based on some information +the client provided over the initial server-authenticated channel. The +available options are: +@itemize +@item Passwords (see @ref{SRP authentication}). The client communicates +to the server his username and password of choice on the initial +server-authenticated connection and uses it to negotiate further sessions. +This is possible because the SRP protocol allows for the server to be +authenticated using a certificate and the client using the +password. + +@item Public keys (see @ref{Certificate authentication}). The client +sends its public key to the server (or a fingerprint of it) over the +initial server-authenticated connection. +On future sessions the client verifies the server using the third party +certificate and the server verifies that the client's public key remained +the same (see @ref{Verifying a certificate using trust on first use +authentication}). +@end itemize + diff --git a/doc/cha-bib.texi b/doc/cha-bib.texi index 7f975e5..c5f7107 100644 --- a/doc/cha-bib.texi +++ b/doc/cha-bib.texi @@ -31,6 +31,11 @@ Tim Dierks and Christopher Allen, "The TLS Protocol Version 1.0", January 1999, Available from @url{http://www.ietf.org/rfc/rfc2246.txt}. +@item @anchor{RFC4418}[RFC4418] +Ted Krovetz, "UMAC: Message Authentication Code using Universal Hashing", +March 2006, Available from +@url{http://www.ietf.org/rfc/rfc4418.txt}. + @item @anchor{RFC4680}[RFC4680] S. Santesson, "TLS Handshake Message for Supplemental Data", September 2006, Available from @@ -102,11 +107,23 @@ Thompson, "Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate Profile", June 2004, available from @url{http://www.ietf.org/rfc/rfc3820}. +@item @anchor{RFC6520}[RFC6520] +R. Seggelmann, M. Tuexen, and M. Williams, "Transport Layer Security (TLS) and +Datagram Transport Layer Security (DTLS) Heartbeat Extension", February 2012, available from +@url{http://www.ietf.org/rfc/rfc6520}. + + @item @anchor{RFC5746}[RFC5746] E. Rescorla, M. Ray, S. Dispensa, and N. Oskov, "Transport Layer Security (TLS) Renegotiation Indication Extension", February 2010, available from @url{http://www.ietf.org/rfc/rfc5746}. +@item @anchor{RFC5280}[RFC5280] +D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, and +W. Polk, "Internet X.509 Public Key Infrastructure Certificate and +Certificate Revocation List (CRL) Profile", May 2008, available from +@url{http://www.ietf.org/rfc/rfc5280}. + @item @anchor{TLSTKT}[TLSTKT] Joseph Salowey, Hao Zhou, Pasi Eronen, Hannes Tschofenig, "Transport Layer Security (TLS) Session Resumption without Server-Side State", @@ -179,8 +196,12 @@ J. Altman, N. Williams, L. Zhu, "Channel Bindings for TLS", July 2010, available from @url{http://www.ietf.org/rfc/rfc5929}. @item @anchor{PKCS11URI}[PKCS11URI] -J. Pechanec, D. Moffat, "The PKCS#11 URI Scheme", August 2011, -Work in progress, available from @url{http://tools.ietf.org/html/draft-pechanec-pkcs11uri-05}. +J. Pechanec, D. Moffat, "The PKCS#11 URI Scheme", January 2013, +Work in progress, available from @url{http://tools.ietf.org/html/draft-pechanec-pkcs11uri-08}. + +@item @anchor{TPMURI}[TPMURI] +C. Latze, N. Mavrogiannopoulos, "The TPMKEY URI Scheme", January 2013, +Work in progress, available from @url{http://tools.ietf.org/html/draft-mavrogiannopoulos-tpmuri-01}. @item @anchor{ANDERSON}[ANDERSON] R. J. Anderson, "Security Engineering: A Guide to Building Dependable Distributed Systems", diff --git a/doc/cha-cert-auth.texi b/doc/cha-cert-auth.texi index 7f91033..00bc542 100644 --- a/doc/cha-cert-auth.texi +++ b/doc/cha-cert-auth.texi @@ -1,5 +1,5 @@ @node Certificate authentication -@chapter Certificate authentication +@section Certificate authentication @cindex certificate authentication The most known authentication method of @acronym{TLS} are certificates. @@ -20,12 +20,6 @@ shown in @ref{tab:key-exchange}. The RSA algorithm is used to encrypt a key and send it to the peer. The certificate must allow the key to be used for encryption. -@item RSA_@-EXPORT @tab -The RSA algorithm is used to encrypt a key and send it to the peer. -In the EXPORT algorithm, the server signs temporary RSA parameters of -512 bits --- which are considered weak --- and sends them to the -client. - @item DHE_@-RSA @tab The RSA algorithm is used to sign ephemeral Diffie-Hellman parameters which are sent to the peer. The key in the certificate must allow the @@ -50,8 +44,8 @@ of the Digital Signature Standard (DSS). @item ECDHE_@-ECDSA @tab The Elliptic curve DSA algorithm is used to sign ephemeral elliptic curve Diffie-Hellman parameters which are sent to the peer. The -certificate must contain ECDSA parameters to use this key exchange -algorithm. +certificate must contain ECDSA parameters (i.e., EC and marked for signing) +to use this key exchange algorithm. @end multitable @caption{Supported key exchange algorithms.} @@ -60,11 +54,12 @@ algorithm. @menu * X.509 certificates:: * OpenPGP certificates:: +* Advanced certificate verification:: * Digital signatures:: @end menu @node X.509 certificates -@section @acronym{X.509} certificates +@subsection @acronym{X.509} certificates @cindex X.509 certificates The @acronym{X.509} protocols rely on a hierarchical trust model. In @@ -73,26 +68,27 @@ entities. Usually more than one certification authorities exist, and certification authorities may certify other authorities to issue certificates as well, following a hierarchical model. -@float Figure,fig:x509 +@float Figure,fig-x509 @image{gnutls-x509,7cm} @caption{An example of the X.509 hierarchical trust model.} @end float One needs to trust one or more CAs for his secure communications. In that case only the certificates issued by the trusted authorities are -acceptable. The framework is illustrated on @ref{fig:x509}. +acceptable. The framework is illustrated on @ref{fig-x509}. @menu * X.509 certificate structure:: * Importing an X.509 certificate:: * X.509 distinguished names:: +* X.509 extensions:: +* X.509 public and private keys:: * Verifying X.509 certificate paths:: * Verifying a certificate in the context of TLS session:: -* Verifying a certificate using trust on first use authentication:: @end menu @node X.509 certificate structure -@subsection @acronym{X.509} certificate structure +@subsubsection @acronym{X.509} certificate structure An @acronym{X.509} certificate usually contains information about the certificate holder, the signer, a unique serial number, expiration @@ -143,60 +139,17 @@ The @emph{validity} dates are there to indicate the date that the specific certificate was activated and the date the certificate's key would be considered invalid. -Certificate @emph{extensions} are there to include information about -the certificate's subject that did not fit in the typical certificate -fields. Those may be e-mail addresses, flags that indicate whether the -belongs to a CA etc. All the supported @acronym{X.509} version 3 -extensions are shown in @ref{tab:x509-ext}. - -@float Table,tab:x509-ext -@multitable @columnfractions .3 .2 .4 - -@headitem Extension @tab OID @tab Description - -@item Subject key id @tab 2.5.29.14 @tab -An identifier of the key of the subject. - -@item Authority key id @tab 2.5.29.35 @tab -An identifier of the authority's key used to sign the certificate. - -@item Subject alternative name @tab 2.5.29.17 @tab -Alternative names to subject's distinguished name. - -@item Key usage @tab 2.5.29.15 @tab -Constraints the key's usage of the certificate. - -@item Extended key usage @tab 2.5.29.37 @tab -Constraints the purpose of the certificate. - -@item Basic constraints @tab 2.5.29.19 @tab -Indicates whether this is a CA certificate or not, and specify the -maximum path lengths of certificate chains. - -@item CRL distribution points @tab 2.5.29.31 @tab -This extension is set by the CA, in order to inform about the issued -CRLs. - -@item Proxy Certification Information @tab 1.3.6.1.5.5.7.1.14 @tab -Proxy Certificates includes this extension that contains the OID of -the proxy policy language used, and can specify limits on the maximum -lengths of proxy chains. Proxy Certificates are specified in -@xcite{RFC3820}. - -@end multitable -@caption{X.509 certificate extensions.} -@end float In @acronym{GnuTLS} the @acronym{X.509} certificate structures are handled using the @code{gnutls_x509_crt_t} type and the corresponding private keys with the @code{gnutls_x509_privkey_t} type. All the available functions for @acronym{X.509} certificate handling have their prototypes in @file{gnutls/x509.h}. An example program to -demonstrate the @acronym{X.509} parsing capabilities can be found at -@ref{ex:x509-info}. +demonstrate the @acronym{X.509} parsing capabilities can be found in +@ref{ex-x509-info}. @node Importing an X.509 certificate -@subsection Importing an X.509 certificate +@subsubsection Importing an X.509 certificate The certificate structure should be initialized using @funcref{gnutls_x509_crt_init}, and a certificate structure can be imported using @funcref{gnutls_x509_crt_import}. @@ -213,35 +166,151 @@ Note that although the functions above apply to @code{gnutls_x509_crt_t} structu exist for the CRL structure @code{gnutls_x509_crl_t}. @node X.509 distinguished names -@subsection X.509 distinguished names +@subsubsection X.509 distinguished names @cindex X.509 distinguished name The ``subject'' of an X.509 certificate is not described by a single name, but rather with a distinguished name. This in X.509 terminology is a list of strings each associated an object -identifier. To make things simple GnuTLS provides @funcref{gnutls_x509_crt_get_dn} +identifier. To make things simple GnuTLS provides @funcref{gnutls_x509_crt_get_dn2} which follows the rules in @xcite{RFC4514} and returns a single string. Access to each string by individual object identifiers can be accessed using @funcref{gnutls_x509_crt_get_dn_by_oid}. -@showfuncdesc{gnutls_x509_crt_get_dn} -@showfuncdesc{gnutls_x509_crt_get_dn_by_oid} -@showfuncdesc{gnutls_x509_crt_get_dn_oid} +@showfuncdesc{gnutls_x509_crt_get_dn2} +@showfuncC{gnutls_x509_crt_get_dn,gnutls_x509_crt_get_dn_by_oid,gnutls_x509_crt_get_dn_oid} + +Similar functions exist to access the distinguished name +of the issuer of the certificate. + +@showfuncE{gnutls_x509_crt_get_issuer_dn,gnutls_x509_crt_get_issuer_dn2,gnutls_x509_crt_get_issuer_dn_by_oid,gnutls_x509_crt_get_issuer_dn_oid,gnutls_x509_crt_get_issuer} The more powerful @funcref{gnutls_x509_crt_get_subject} and -@funcref{gnutls_x509_dn_get_rdn_ava} provide efficient access +@funcref{gnutls_x509_dn_get_rdn_ava} provide efficient but low-level access to the contents of the distinguished name structure. -@showfuncdesc{gnutls_x509_crt_get_subject} +@showfuncB{gnutls_x509_crt_get_subject,gnutls_x509_crt_get_issuer} @showfuncdesc{gnutls_x509_dn_get_rdn_ava} -Similar functions exist to access the distinguished name -of the issuer of the certificate. +@node X.509 extensions +@subsubsection X.509 extensions +@cindex X.509 extensions + +X.509 version 3 certificates include a list of extensions that can +be used to obtain additional information on the subject or the issuer +of the certificate. Those may be e-mail addresses, flags that indicate whether the +belongs to a CA etc. All the supported @acronym{X.509} version 3 +extensions are shown in @ref{tab:x509-ext}. + +The certificate extensions access is split into two parts. The first +requires to retrieve the extension, and the second is the parsing part. + +To enumerate and retrieve the DER-encoded extension data available in a certificate the following +two functions are available. +@showfuncB{gnutls_x509_crt_get_extension_info,gnutls_x509_crt_get_extension_data2} + +After a supported DER-encoded extension is retrieved it can be parsed using the APIs in @code{x509-ext.h}. +Complex extensions may require initializing an intermediate structure that holds the +parsed extension data. + +Examples of simple parsing functions are shown below. +@showfuncD{gnutls_x509_ext_import_basic_constraints,gnutls_x509_ext_export_basic_constraints,gnutls_x509_ext_import_key_usage,gnutls_x509_ext_export_key_usage} + +More complex extensions, such as Name Constraints, require an intermediate structure, in that +case @code{gnutls_x509_name_constraints_t} to be initialized in order to store the parsed +extension data. +@showfuncB{gnutls_x509_ext_import_name_constraints,gnutls_x509_ext_export_name_constraints} + +After the name constraints are extracted in the structure, the following functions +can be used to access them. + +@showfuncD{gnutls_x509_name_constraints_get_permitted,gnutls_x509_name_constraints_get_excluded,gnutls_x509_name_constraints_add_permitted,gnutls_x509_name_constraints_add_excluded} +@showfuncB{gnutls_x509_name_constraints_check,gnutls_x509_name_constraints_check_crt} + +Other utility functions are listed below. +@showfuncB{gnutls_x509_name_constraints_init,gnutls_x509_name_constraints_deinit} + +Similar functions exist for all of the other supported extensions, listed in @ref{tab:x509-ext}. + +@float Table,tab:x509-ext +@multitable @columnfractions .3 .2 .4 + +@headitem Extension @tab OID @tab Description + +@item Subject key id @tab 2.5.29.14 @tab +An identifier of the key of the subject. + +@item Key usage @tab 2.5.29.15 @tab +Constraints the key's usage of the certificate. + +@item Private key usage period @tab 2.5.29.16 @tab +Constraints the validity time of the private key. + +@item Subject alternative name @tab 2.5.29.17 @tab +Alternative names to subject's distinguished name. + +@item Issuer alternative name @tab 2.5.29.18 @tab +Alternative names to the issuer's distinguished name. + +@item Basic constraints @tab 2.5.29.19 @tab +Indicates whether this is a CA certificate or not, and specify the +maximum path lengths of certificate chains. + +@item Name constraints @tab 2.5.29.30 @tab +A field in CA certificates that restricts the scope of the name of +issued certificates. + +@item CRL distribution points @tab 2.5.29.31 @tab +This extension is set by the CA, in order to inform about the issued +CRLs. + +@item Certificate policy @tab 2.5.29.32 @tab +This extension is set to indicate the certificate policy as object +identifier and may contain a descriptive string or URL. + +@item Authority key identifier @tab 2.5.29.35 @tab +An identifier of the key of the issuer of the certificate. That is +used to distinguish between different keys of the same issuer. + +@item Extended key usage @tab 2.5.29.37 @tab +Constraints the purpose of the certificate. + +@item Authority information access @tab 1.3.6.1.5.5.7.1.1 @tab +Information on services by the issuer of the certificate. + +@item Proxy Certification Information @tab 1.3.6.1.5.5.7.1.14 @tab +Proxy Certificates includes this extension that contains the OID of +the proxy policy language used, and can specify limits on the maximum +lengths of proxy chains. Proxy Certificates are specified in +@xcite{RFC3820}. + +@end multitable +@caption{Supported X.509 certificate extensions.} +@end float + +Note, that there are also direct APIs to access extensions that may +be simpler to use for non-complex extensions. They are available +in @code{x509.h} and some examples are listed below. +@showfuncD{gnutls_x509_crt_get_basic_constraints,gnutls_x509_crt_set_basic_constraints,gnutls_x509_crt_get_key_usage,gnutls_x509_crt_set_key_usage} + + +@node X.509 public and private keys +@subsubsection Accessing public and private keys + +Each X.509 certificate contains a public key that corresponds to a private key. To +get a unique identifier of the public key the @funcref{gnutls_x509_crt_get_key_id} +function is provided. To export the public key or its parameters you may need +to convert the X.509 structure to a @code{gnutls_pubkey_t}. See +@ref{Abstract public keys} for more information. + +@showfuncdesc{gnutls_x509_crt_get_key_id} + +The private key parameters may be directly accessed by using one of the following functions. -@showfuncD{gnutls_x509_crt_get_issuer_dn,gnutls_x509_crt_get_issuer_dn_by_oid,gnutls_x509_crt_get_issuer_dn_oid,gnutls_x509_crt_get_issuer} +@showfuncE{gnutls_x509_privkey_get_pk_algorithm2,gnutls_x509_privkey_export_rsa_raw2,gnutls_x509_privkey_export_ecc_raw,gnutls_x509_privkey_export_dsa_raw,gnutls_x509_privkey_get_key_id} @node Verifying X.509 certificate paths -@subsection Verifying @acronym{X.509} certificate paths +@subsubsection Verifying @acronym{X.509} certificate paths @cindex verifying certificate paths Verifying certificate paths is important in @acronym{X.509} @@ -254,6 +323,10 @@ provided. @showfuncdesc{gnutls_x509_trust_list_verify_crt} @showfuncdesc{gnutls_x509_trust_list_verify_named_crt} +@showfuncdesc{gnutls_x509_trust_list_add_trust_file} +@showfuncdesc{gnutls_x509_trust_list_add_trust_mem} +@showfuncdesc{gnutls_x509_trust_list_add_system_trust} + The verification function will verify a given certificate chain against a list of certificate authorities and certificate revocation lists, and output a bit-wise OR of elements of the @code{gnutls_@-certificate_@-status_t} @@ -262,13 +335,13 @@ is always set on a verification error and more detailed flags will also be set w @showenumdesc{gnutls_certificate_status_t,The @code{gnutls_@-certificate_@-status_t} enumeration.} -An example of certificate verification is shown in @ref{ex:verify2}. +An example of certificate verification is shown in @ref{ex-verify2}. It is also possible to have a set of certificates that are trusted for a particular server but not to authorize other certificates. This purpose is served by the functions @funcref{gnutls_x509_trust_list_add_named_crt} and @funcref{gnutls_x509_trust_list_verify_named_crt}. @node Verifying a certificate in the context of TLS session -@subsection Verifying a certificate in the context of TLS session +@subsubsection Verifying a certificate in the context of TLS session @cindex verifying certificate paths @tindex gnutls_certificate_verify_flags @@ -276,66 +349,27 @@ When operating in the context of a TLS session, the trusted certificate authority list may also be set using: @showfuncC{gnutls_certificate_set_x509_trust_file,gnutls_certificate_set_x509_crl_file,gnutls_certificate_set_x509_system_trust} -Then it is not required to setup a trusted list as above. -The function @funcref{gnutls_certificate_verify_peers2} -may then be used to verify the peer's certificate chain. The flags +In that case it is not required to setup a trusted list as above, and +the function @funcref{gnutls_certificate_verify_peers3} +may be used to verify the peer's certificate chain and identity. The flags are set similarly to the verification functions in the previous section. +Note that in certain cases it is required to check the marked purpose of +the end certificate (e.g. @code{GNUTLS_KP_TLS_WWW_SERVER}); in these case +@funcref{gnutls_certificate_verify_peers} should be used instead. There is also the possibility to pass some input to the verification functions in the form of flags. For @funcref{gnutls_x509_trust_list_verify_crt} the flags are passed straightforward, but -@funcref{gnutls_certificate_verify_peers2} depends on the flags set by +@funcref{gnutls_certificate_verify_peers3} depends on the flags set by calling @funcref{gnutls_certificate_set_verify_flags}. All the available flags are part of the enumeration @code{gnutls_@-certificate_@-verify_@-flags} shown in @ref{gnutls_certificate_verify_flags}. @showenumdesc{gnutls_certificate_verify_flags,The @code{gnutls_@-certificate_@-verify_@-flags} enumeration.} -Although the verification of a certificate path indicates that the -certificate is signed by trusted authority, does not reveal anything -about the peer's identity. It is required to verify if the -certificate's owner is the one you expect. For more information -consult @xcite{RFC2818} and section @ref{ex:verify} for an example. - -@node Verifying a certificate using trust on first use authentication -@subsection Verifying a certificate using trust on first use authentication -@cindex verifying certificate paths -@cindex SSH-style authentication -@cindex Trust on first use -@cindex Key pinning -@tindex gnutls_certificate_verify_flags - -It is possible to use a trust on first use (similar to SSH) authentication -method in GnuTLS. That is the concept used by the SSH programs, where the -public key of the peer is not verified, or verified in an out-of-bound way, -but subsequent connections to the same peer require the public key to -remain the same. Such a system in combination with the typical CA -verification of a certificate, and OCSP revocation checks, -can help to provide multiple factor verification, where a single point of -failure is not enough to compromise the system. For example a server compromise -may be detected using OCSP, and a CA compromise can be detected using -the trust on first use method. -Such a hybrid system with X.509 and trust on first use authentication is -shown in @ref{Simple client example with SSH-style certificate verification}. - -@showfuncdesc{gnutls_verify_stored_pubkey} -@showfuncdesc{gnutls_store_pubkey} - -In addition to the above the @funcref{gnutls_store_commitment} can be -used to implement a key-pinning architecture as in @xcite{KEYPIN}. -This provides a way for web server to commit on a public key that is -not yet active. - -@showfuncdesc{gnutls_store_commitment} - -The storage and verification functions may be used with the default -text file based back-end, or another back-end may be specified. That -should contain storage and retrieval functions and specified as below. - -@showfuncE{gnutls_tdb_init,gnutls_tdb_deinit,gnutls_tdb_set_verify_func,gnutls_tdb_set_store_func,gnutls_tdb_set_store_commitment_func} @node OpenPGP certificates -@section @acronym{OpenPGP} certificates +@subsection @acronym{OpenPGP} certificates @cindex OpenPGP certificates The @acronym{OpenPGP} key authentication relies on a distributed trust @@ -345,10 +379,10 @@ CA. @acronym{OpenPGP} allows anyone to sign anyone else's public key. When Alice signs Bob's key, she is introducing Bob's key to anyone who trusts Alice. If someone trusts Alice to introduce keys, then Alice is a trusted introducer in the mind of that observer. -For example in @ref{fig:openpgp}, David trusts Alice to be an introducer and Alice +For example in @ref{fig-openpgp}, David trusts Alice to be an introducer and Alice signed Bob's key thus Dave trusts Bob's key to be the real one. -@float Figure,fig:openpgp +@float Figure,fig-openpgp @image{gnutls-pgp,8cm} @caption{An example of the OpenPGP trust model.} @end float @@ -366,15 +400,79 @@ only Kevin, for some reason. A reason could be that Bob is lazy enough, and signs other people's keys without being sure that they belong to the actual owner. -@subsection @acronym{OpenPGP} certificate structure +@float Table,tab:openpgp-certificate +@multitable @columnfractions .2 .7 + +@headitem Field @tab Description + +@item version @tab +The field that indicates the version of the OpenPGP structure. + +@item user ID @tab +An RFC 2822 string that identifies the owner of the key. There may be +multiple user identifiers in a key. + +@item public key @tab +The main public key of the certificate. + +@item expiration @tab +The expiration time of the main public key. + +@item public subkey @tab +An additional public key of the certificate. There may be multiple subkeys +in a certificate. -In @acronym{GnuTLS} the @acronym{OpenPGP} key structures -@xcite{RFC2440} are handled using the @code{gnutls_openpgp_crt_t} type -and the corresponding private keys with the +@item public subkey expiration @tab +The expiration time of the subkey. + +@end multitable +@caption{OpenPGP certificate fields.} +@end float + + +@subsubsection @acronym{OpenPGP} certificate structure + +In @acronym{GnuTLS} the @acronym{OpenPGP} certificate structures +@xcite{RFC2440} are handled using the @code{gnutls_openpgp_crt_t} type. +A typical certificate contains the user ID, which is an RFC 2822 +mail and name address, a public key, possibly a number of additional +public keys (called subkeys), and a number of signatures. The various +fields are shown in @ref{tab:openpgp-certificate}. + +The additional subkeys may provide key for various different purposes, +e.g. one key to encrypt mail, and another to sign a TLS key exchange. +Each subkey is identified by a unique key ID. +The keys that are to be used in a TLS key exchange that requires +signatures are called authentication keys in the OpenPGP jargon. +The mapping of TLS key exchange methods to public keys is shown in +@ref{tab:openpgp-key-exchange}. + +@float Table,tab:openpgp-key-exchange +@multitable @columnfractions .2 .7 + +@headitem Key exchange @tab Public key requirements + +@item RSA @tab +An RSA public key that allows encryption. + +@item DHE_@-RSA @tab +An RSA public key that is marked for authentication. + +@item ECDHE_@-RSA @tab +An RSA public key that is marked for authentication. + +@item DHE_@-DSS @tab +A DSA public key that is marked for authentication. + +@end multitable +@caption{The types of (sub)keys required for the various TLS key exchange methods.} +@end float + +The corresponding private keys are stored in the @code{gnutls_openpgp_privkey_t} type. All the prototypes for the key -handling functions can be found at @file{gnutls/openpgp.h}. +handling functions can be found in @file{gnutls/openpgp.h}. -@subsection Verifying an @acronym{OpenPGP} certificate +@subsubsection Verifying an @acronym{OpenPGP} certificate The verification functions of @acronym{OpenPGP} keys, included in @acronym{GnuTLS}, are simple ones, and do not use the features of the @@ -397,20 +495,82 @@ of verification status flags is the same as in the @acronym{X.509} certificates @showfuncdesc{gnutls_openpgp_crt_verify_self} -@subsection Verifying a certificate in the context of a TLS session +@subsubsection Verifying a certificate in the context of a TLS session Similarly with X.509 certificates, one needs to specify the OpenPGP keyring file in the credentials structure. The certificates -in this file will be used by @funcref{gnutls_certificate_verify_peers2} +in this file will be used by @funcref{gnutls_certificate_verify_peers3} to verify the signatures in the certificate sent by the peer. @showfuncdesc{gnutls_certificate_set_openpgp_keyring_file} +@node Advanced certificate verification +@subsection Advanced certificate verification +@cindex Certificate verification + +The verification of X.509 certificates in the HTTPS and other Internet protocols is typically +done by loading a trusted list of commercial Certificate Authorities +(see @funcref{gnutls_certificate_set_x509_system_trust}), and using them as trusted anchors. +However, there are several examples (eg. the Diginotar incident) where one of these +authorities was compromised. This risk can be mitigated by using in addition to CA certificate verification, +other verification methods. In this section we list the available in GnuTLS methods. +@menu +* Verifying a certificate using trust on first use authentication:: +* Verifying a certificate using DANE:: +@end menu + +@node Verifying a certificate using trust on first use authentication +@subsubsection Verifying a certificate using trust on first use authentication +@cindex verifying certificate paths +@cindex SSH-style authentication +@cindex Trust on first use +@cindex Key pinning +It is possible to use a trust on first use (TOFU) authentication +method in GnuTLS. That is the concept used by the SSH programs, where the +public key of the peer is not verified, or verified in an out-of-bound way, +but subsequent connections to the same peer require the public key to +remain the same. Such a system in combination with the typical CA +verification of a certificate, and OCSP revocation checks, +can help to provide multiple factor verification, where a single point of +failure is not enough to compromise the system. For example a server compromise +may be detected using OCSP, and a CA compromise can be detected using +the trust on first use method. +Such a hybrid system with X.509 and trust on first use authentication is +shown in @ref{Simple client example with SSH-style certificate verification}. + +See @ref{Certificate verification} on how to use the available functionality. + +@node Verifying a certificate using DANE +@subsubsection Verifying a certificate using DANE (DNSSEC) +@cindex verifying certificate paths +@cindex DANE +@cindex DNSSEC + +The DANE protocol is a protocol that can be used to verify TLS certificates +using the DNS (or better DNSSEC) protocols. The DNS security extensions (DNSSEC) +provide an alternative public key infrastructure to the commercial CAs that +are typically used to sign TLS certificates. The DANE protocol takes advantage +of the DNSSEC infrastructure to verify TLS certificates. This can be +in addition to the verification by CA infrastructure or +may even replace it where DNSSEC is fully deployed. Note however, that DNSSEC deployment is +fairly new and it would be better to use it as an additional verification +method rather than the only one. + +The DANE functionality is provided by the @code{libgnutls-dane} library that is shipped +with GnuTLS and the function prototypes are in @code{gnutls/dane.h}. +See @ref{Certificate verification} for information on how to use the library. + +Note however, that the DANE RFC mandates the verification methods +one should use in addition to the validation via DNSSEC TLSA entries. +GnuTLS doesn't follow that RFC requirement, and the term DANE verification +in this manual refers to the TLSA entry verification. In GnuTLS any +other verification methods can be used (e.g., PKIX or TOFU) on top of +DANE. @node Digital signatures -@section Digital signatures +@subsection Digital signatures @cindex digital signatures In this section we will provide some information about digital @@ -474,7 +634,7 @@ sometime in the future, SHA-1 will be disabled as well. The collision attacks on SHA-1 may also get better, given the new interest in tools for creating them. -@subsection Trading security for interoperability +@subsubsection Trading security for interoperability If you connect to a server and use GnuTLS' functions to verify the certificate chain, and get a @code{GNUTLS_CERT_INSECURE_ALGORITHM} @@ -493,7 +653,7 @@ certificates self-signed using @code{RSA-MD2} or @code{RSA-MD5}. The certificates in the trusted list are considered trusted irrespective of the signature. -If you are using @funcref{gnutls_certificate_verify_peers2} to verify the +If you are using @funcref{gnutls_certificate_verify_peers3} to verify the certificate chain, you can call @funcref{gnutls_certificate_set_verify_flags} with the flags: @itemize @@ -507,7 +667,7 @@ as in the following example: GNUTLS_VERIFY_ALLOW_SIGN_RSA_MD5); @end example -This will tell the verifier algorithm to enable @code{RSA-MD5} when +This will signal the verifier algorithm to enable @code{RSA-MD5} when verifying the certificates. If you are using @funcref{gnutls_x509_crt_verify} or diff --git a/doc/cha-cert-auth2.texi b/doc/cha-cert-auth2.texi index 9f983a4..a6482a8 100644 --- a/doc/cha-cert-auth2.texi +++ b/doc/cha-cert-auth2.texi @@ -1,5 +1,5 @@ @node More on certificate authentication -@chapter More on certificate authentication +@section More on certificate authentication @cindex certificate authentication Certificates are not the only structures involved in a public key @@ -14,12 +14,11 @@ structures, etc., are discussed in this chapter. * Managing encrypted keys:: * certtool Invocation:: Invoking certtool * ocsptool Invocation:: Invoking ocsptool -* Smart cards and HSMs:: -* Abstract key types:: +* danetool Invocation:: Invoking danetool @end menu @node PKCS 10 certificate requests -@section @acronym{PKCS} #10 certificate requests +@subsection @acronym{PKCS} #10 certificate requests @cindex certificate requests @cindex PKCS #10 @@ -36,7 +35,7 @@ subject's information and finally self signing it. The last step ensures that the requester is in possession of the private key. -@showfuncE{gnutls_x509_crq_set_version,gnutls_x509_crq_set_dn_by_oid,gnutls_x509_crq_set_key_usage,gnutls_x509_crq_set_key_purpose_oid,gnutls_x509_crq_set_basic_constraints} +@showfuncF{gnutls_x509_crq_set_version,gnutls_x509_crq_set_dn,gnutls_x509_crq_set_dn_by_oid,gnutls_x509_crq_set_key_usage,gnutls_x509_crq_set_key_purpose_oid,gnutls_x509_crq_set_basic_constraints} The @funcref{gnutls_x509_crq_set_key} and @funcref{gnutls_x509_crq_sign2} functions associate the request with a private key and sign it. If a @@ -50,26 +49,22 @@ The following example is about generating a certificate request, and a private key. A certificate request can be later be processed by a CA which should return a signed certificate. -@anchor{ex:crq} +@anchor{ex-crq} @verbatiminclude examples/ex-crq.c @node PKIX certificate revocation lists -@section PKIX certificate revocation lists +@subsection PKIX certificate revocation lists @cindex certificate revocation lists @cindex CRL A certificate revocation list (CRL) is a structure issued by an authority -periodically containing a list of revoked certificates serial numbers. +periodically containing a list of revoked certificates serial numbers. The CRL structure is signed with the issuing authorities' keys. A typical CRL contains the fields as shown in @ref{tab:crl}. Certificate revocation lists are used to complement the expiration date of a certificate, in order to account for other reasons of revocation, such as compromised keys, etc. -A certificate request can be generated by -associating it with a private key, setting the -subject's information and finally self signing it. -The last step ensures that the requester is in -possession of the private key. Each CRL is valid for limited amount of +Each CRL is valid for limited amount of time and is required to provide, except for the current issuing time, also the issuing time of the next update. @@ -103,8 +98,26 @@ Optional CRL structure extensions. @caption{Certificate revocation list fields.} @end float +The basic CRL structure functions follow. + +@showfuncD{gnutls_x509_crl_init,gnutls_x509_crl_import,gnutls_x509_crl_export,gnutls_x509_crl_export} + +@subsubheading Reading a CRL + +The most important function that extracts the certificate revocation +information from a CRL is @funcref{gnutls_x509_crl_get_crt_serial}. Other +functions that return other fields of the CRL structure are also provided. -@showfuncE{gnutls_x509_crl_set_version,gnutls_x509_crl_set_crt_serial,gnutls_x509_crl_set_crt,gnutls_x509_crl_set_next_update,gnutls_x509_crl_set_this_update} +@showfuncdesc{gnutls_x509_crl_get_crt_serial} + +@showfuncF{gnutls_x509_crl_get_version,gnutls_x509_crl_get_issuer_dn,gnutls_x509_crl_get_issuer_dn2,gnutls_x509_crl_get_this_update,gnutls_x509_crl_get_next_update,gnutls_x509_crl_get_crt_count} + +@subsubheading Generation of a CRL + +The following functions can be used to generate a CRL. + +@showfuncB{gnutls_x509_crl_set_version,gnutls_x509_crl_set_crt_serial} +@showfuncC{gnutls_x509_crl_set_crt,gnutls_x509_crl_set_next_update,gnutls_x509_crl_set_this_update} The @funcref{gnutls_x509_crl_sign2} and @funcref{gnutls_x509_crl_privkey_sign} functions sign the revocation list with a private key. The latter function @@ -119,7 +132,7 @@ CRL number extension and the authority key identifier. @showfuncB{gnutls_x509_crl_set_number,gnutls_x509_crl_set_authority_key_id} @node OCSP certificate status checking -@section @acronym{OCSP} certificate status checking +@subsection @acronym{OCSP} certificate status checking @cindex certificate status @cindex Online Certificate Status Protocol @cindex OCSP @@ -139,13 +152,17 @@ identity of a peer will verify the certificate against a set of trusted certificates and then check whether the certificate is listed in a CRL and/or perform an OCSP check for the certificate. +Note that in the context of a TLS session the server may provide an +OCSP response that will used during the TLS certificate verification +(see @funcref{gnutls_certificate_verify_peers2}). +You may obtain this response using @funcref{gnutls_ocsp_status_request_get}. + Before performing the OCSP query, the application will need to figure out the address of the OCSP server. The OCSP server address can be provided by the local user in manual configuration or may be stored -in the certificate that is being checked. The latter is due to -an extension field called the Authority Information Access (AIA) which -may hold the location of the OCSP responder in -the access method called @code{id-ad-ocsp}. The following function +in the certificate that is being checked. When stored in a certificate +the OCSP server is in the extension field called the Authority Information +Access (AIA). The following function extracts this information from a certificate. @showfuncA{gnutls_x509_crt_get_authority_info_access} @@ -193,19 +210,22 @@ requests are the following. @showfuncE{gnutls_ocsp_req_init,gnutls_ocsp_req_deinit,gnutls_ocsp_req_import,gnutls_ocsp_req_export,gnutls_ocsp_req_print} -There are two interfaces for setting the identity of a certificate in -a OCSP request, the first being a low-level function when you have the +To generate an OCSP request the issuer name hash, issuer key hash, and +the checked certificate's serial number are required. There are two +interfaces available for setting those in an OCSP request. +The is a low-level function when you have the issuer name hash, issuer key hash, and certificate serial number in -binary form. The second is usually more useful if you have the +binary form. The second is more useful if you have the certificate (and its issuer) in a @code{gnutls_x509_crt_t} type. -There is also a function to extract this information from an OCSP +There is also a function to extract this information from existing an OCSP request. @showfuncC{gnutls_ocsp_req_add_cert_id,gnutls_ocsp_req_add_cert,gnutls_ocsp_req_get_cert_id} Each OCSP request may contain a number of extensions. Extensions are identified by an Object Identifier (OID) and an opaque data buffer -whose syntax and semantics is implied by the OID. +whose syntax and semantics is implied by the OID. You can extract or +set those extensions using the following functions. @showfuncB{gnutls_ocsp_req_get_extension,gnutls_ocsp_req_set_extension} @@ -217,98 +237,101 @@ attacker will not be able to give a stale response for the same nonce. @showfuncC{gnutls_ocsp_req_get_nonce,gnutls_ocsp_req_set_nonce,gnutls_ocsp_req_randomize_nonce} -The OCSP response structures is a bit more complex than the request. -The important ASN.1 structure is as follows. In practice, all OCSP -responses contain a Basic OCSP response sub-structure. +The OCSP response structures is a complex structure. A simplified overview +of it is in @ref{tab:ocsp-response}. Note that a response may contain +information on multiple certificates. + +@float Table,tab:ocsp-response +@multitable @columnfractions .2 .7 + +@headitem Field @tab Description + +@item version @tab +The OCSP response version number (typically 1). + +@item responder ID @tab +An identifier of the responder (DN name or a hash of its key). + +@item issue time @tab +The time the response was generated. + +@item thisUpdate @tab +The issuing time of the revocation information. + +@item nextUpdate @tab +The issuing time of the revocation information that will update that one. + +@item @tab Revoked certificates + +@item certificate status @tab +The status of the certificate. + +@item certificate serial @tab +The certificate's serial number. + +@item revocationTime @tab +The time the certificate was revoked. + +@item revocationReason @tab +The reason the certificate was revoked. + +@end multitable +@caption{The most important OCSP response fields.} +@end float -@example -OCSPResponse ::= SEQUENCE @{ - responseStatus OCSPResponseStatus, - responseBytes [0] EXPLICIT ResponseBytes OPTIONAL @} - -OCSPResponseStatus ::= ENUMERATED @{ - successful (0), --Response has valid confirmations - malformedRequest (1), --Illegal confirmation request - internalError (2), --Internal error in issuer - tryLater (3), --Try again later - --(4) is not used - sigRequired (5), --Must sign the request - unauthorized (6) --Request unauthorized @} - -ResponseBytes ::= SEQUENCE @{ - responseType OBJECT IDENTIFIER, - response OCTET STRING @} - -id-pkix-ocsp-basic OBJECT IDENTIFIER ::= @{ id-pkix-ocsp 1 @} - -BasicOCSPResponse ::= SEQUENCE @{ - tbsResponseData ResponseData, - signatureAlgorithm AlgorithmIdentifier, - signature BIT STRING, - certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL @} - -ResponseData ::= SEQUENCE @{ - version [0] EXPLICIT Version DEFAULT v1, - responderID ResponderID, - producedAt GeneralizedTime, - responses SEQUENCE OF SingleResponse, - responseExtensions [1] EXPLICIT Extensions OPTIONAL @} - -ResponderID ::= CHOICE @{ - byName [1] Name, - byKey [2] KeyHash @} - -KeyHash ::= OCTET STRING -- SHA-1 hash of responder's public key -(excluding the tag and length fields) - -SingleResponse ::= SEQUENCE @{ - certID CertID, - certStatus CertStatus, - thisUpdate GeneralizedTime, - nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, - singleExtensions [1] EXPLICIT Extensions OPTIONAL @} - -CertStatus ::= CHOICE @{ - good [0] IMPLICIT NULL, - revoked [1] IMPLICIT RevokedInfo, - unknown [2] IMPLICIT UnknownInfo @} - -RevokedInfo ::= SEQUENCE @{ - revocationTime GeneralizedTime, - revocationReason [0] EXPLICIT CRLReason OPTIONAL @} -@end example We provide basic functions for initialization, importing, exporting -and deallocating OCSP responses. The Basic OCSP Response structure is -automatically parsed when an OCSP Response is imported. +and deallocating OCSP responses. @showfuncE{gnutls_ocsp_resp_init,gnutls_ocsp_resp_deinit,gnutls_ocsp_resp_import,gnutls_ocsp_resp_export,gnutls_ocsp_resp_print} -The OCSP response needs to be verified against some set of trust -anchors before it can be relied upon. +The utility function that extracts the revocation as well as other information +from a response is shown below. + +@showfuncdesc{gnutls_ocsp_resp_get_single} -@showfuncB{gnutls_ocsp_resp_verify,gnutls_ocsp_resp_verify_direct} +The possible revocation reasons available in an OCSP response are shown +below. + +@showenumdesc{gnutls_x509_crl_reason_t,The revocation reasons} + +Note, that the OCSP response needs to be verified against some set of trust +anchors before it can be relied upon. It is also important to check +whether the received OCSP response corresponds to the certificate being checked. + +@showfuncC{gnutls_ocsp_resp_verify,gnutls_ocsp_resp_verify_direct,gnutls_ocsp_resp_check_crt} @node Managing encrypted keys -@section Managing encrypted keys +@subsection Managing encrypted keys @cindex Encrypted keys -Transferring or storing private keys in plain might not be a -good idea. Any access on the keys becomes a fatal compromise. +Transferring or storing private keys in plain may not be a +good idea, since any compromise is irreparable. Storing the keys in hardware security modules (see @ref{Smart cards and HSMs}) could solve the storage problem but it is not always practical -or efficient enough. This section describes alternative ways -that involve encryption of the private keys to store and -transfer. - -There are two alternatives to use for key encryption, -PKCS #8 and #12 methods of private key encryption. The PKCS #8 -method only allows encryption of the private key, whilst the -PKCS #12 method allows in addition the bundling of other -data into the structure. That could be bundling together the -certificate as well as the trusted CA certificate. - -@subheading @acronym{PKCS} #8 structures +or efficient enough. This section describes ways to store and +transfer encrypted private keys. + +There are methods for key encryption, namely the +PKCS #8, PKCS #12 and OpenSSL's custom encrypted private key formats. +The PKCS #8 and the OpenSSL's method allow encryption of the private key, +while the PKCS #12 method allows, in addition, the bundling of accompanying +data into the structure. That is typically the corresponding certificate, as +well as a trusted CA certificate. + +@subsubheading High level functionality +Generic and higher level private key import functions are available, that +import plain or encrypted keys and will auto-detect the encrypted key format. + +@showfuncdesc{gnutls_privkey_import_x509_raw} + +@showfuncdesc{gnutls_x509_privkey_import2} + +Any keys imported using those functions can be imported to a certificate +credentials structure using @funcref{gnutls_certificate_set_key}, or alternatively +they can be directly imported using @funcref{gnutls_certificate_set_x509_key_file2}. + +@subsubheading @acronym{PKCS} #8 structures @cindex PKCS #8 PKCS #8 keys can be imported and exported as normal private keys using @@ -318,16 +341,18 @@ enumeration. Note however, that GnuTLS only supports the PKCS #5 PBES2 encryption scheme. Keys encrypted with the obsolete PBES1 scheme cannot be decrypted. -@showfuncB{gnutls_x509_privkey_import_pkcs8,gnutls_x509_privkey_export_pkcs8} +@showfuncC{gnutls_x509_privkey_import_pkcs8,gnutls_x509_privkey_export_pkcs8,gnutls_x509_privkey_export2_pkcs8} @showenumdesc{gnutls_pkcs_encrypt_flags_t,Encryption flags} -@subheading @acronym{PKCS} #12 structures +@subsubheading @acronym{PKCS} #12 structures @cindex PKCS #12 A @acronym{PKCS} #12 structure @xcite{PKCS12} usually contains a user's private keys and certificates. It is commonly used in browsers to -export and import the user's identities. +export and import the user's identities. A file containing such a key can +be directly imported to a certificate credentials structure by using +@funcref{gnutls_certificate_set_x509_simple_pkcs12_file}. In @acronym{GnuTLS} the @acronym{PKCS} #12 structures are handled using the @code{gnutls_pkcs12_t} type. This is an abstract type that @@ -336,295 +361,33 @@ the holders of the actual data, which may be certificates, private keys or encrypted data. A bag of type encrypted should be decrypted in order for its data to be accessed. -@showfuncC{gnutls_pkcs12_get_bag,gnutls_pkcs12_verify_mac,gnutls_pkcs12_bag_decrypt} +To reduce the complexity in parsing the structures the simple +helper function @funcref{gnutls_pkcs12_simple_parse} is provided. For more +advanced uses, manual parsing of the structure is required using the +functions below. -@showfuncD{gnutls_pkcs12_bag_get_count,gnutls_pkcs12_bag_get_data,gnutls_pkcs12_bag_get_key_id,gnutls_pkcs12_bag_get_friendly_name} +@showfuncD{gnutls_pkcs12_get_bag,gnutls_pkcs12_verify_mac,gnutls_pkcs12_bag_decrypt,gnutls_pkcs12_bag_get_count} + +@showfuncdesc{gnutls_pkcs12_simple_parse} +@showfuncC{gnutls_pkcs12_bag_get_data,gnutls_pkcs12_bag_get_key_id,gnutls_pkcs12_bag_get_friendly_name} The functions below are used to generate a PKCS #12 structure. An example -of their usage is also shown. +of their usage is shown at @ref{PKCS12 structure generation example}. @showfuncC{gnutls_pkcs12_set_bag,gnutls_pkcs12_bag_encrypt,gnutls_pkcs12_generate_mac} @showfuncE{gnutls_pkcs12_bag_set_data,gnutls_pkcs12_bag_set_crl,gnutls_pkcs12_bag_set_crt,gnutls_pkcs12_bag_set_key_id,gnutls_pkcs12_bag_set_friendly_name} -@verbatiminclude examples/ex-pkcs12.c +@subsubheading OpenSSL encrypted keys +@cindex OpenSSL encrypted keys +Unfortunately the structures discussed in the previous sections are +not the only structures that may hold an encrypted private key. For example +the OpenSSL library offers a custom key encryption method. Those structures +are also supported in GnuTLS with @funcref{gnutls_x509_privkey_import_openssl}. + +@showfuncdesc{gnutls_x509_privkey_import_openssl} @include invoke-certtool.texi @include invoke-ocsptool.texi -@node Smart cards and HSMs -@section Smart cards and HSMs -@cindex PKCS #11 tokens -@cindex hardware tokens -@cindex hardware security modules -@cindex smart cards - -In this section we present the smart-card and hardware security module (HSM) support -in @acronym{GnuTLS} using @acronym{PKCS} #11 @xcite{PKCS11}. Hardware security -modules and smart cards provide a way to store private keys and perform -operations on them without exposing them. This decouples cryptographic -keys from the applications that use them and provide an additional -security layer against cryptographic key extraction. -Since this can also be achieved in software components such as in Gnome keyring, -we will use the term security module to describe any cryptographic key -separation subsystem. - -@acronym{PKCS} #11 is plugin API allowing applications to access cryptographic -operations on a security module, as well as to objects residing on it. PKCS -#11 modules exist for hardware tokens such as smart cards@footnote{@url{http://www.opensc-project.org}}, -the trusted -platform module (TPM)@footnote{@url{http://trousers.sourceforge.net/}} -as well as for software modules like @acronym{Gnome Keyring}. -The objects residing on a security module may be certificates, public keys, -private keys or secret keys. Of those certificates and public/private key -pairs can be used with @acronym{GnuTLS}. PKCS #11's main advantage is that -it allows operations on private key objects such as decryption -and signing without exposing the key. - -Moreover @acronym{PKCS} #11 can be (ab)used to allow all applications in the same operating system to access -shared cryptographic keys and certificates in a uniform way, as in @ref{fig:pkcs11-vision}. -That way applications could load their trusted certificate list, as well as user -certificates from a common PKCS #11 module. Such a provider exists in the @acronym{Gnome} -system, being the @acronym{Gnome Keyring}. - -@float Figure,fig:pkcs11-vision -@image{pkcs11-vision,9cm} -@caption{PKCS #11 module usage.} -@end float - -@menu -* PKCS11 Initialization:: -* Reading objects:: -* Writing objects:: -* Using a PKCS11 token with TLS:: -* p11tool Invocation:: Invoking p11tool -@end menu - -@node PKCS11 Initialization -@subsection Initialization -To allow all the @acronym{GnuTLS} applications to access @acronym{PKCS} #11 tokens -you can use a configuration per module, stored in @code{/etc/pkcs11/modules/}. -These are the configuration files of @acronym{p11-kit}@footnote{@url{http://p11-glue.freedesktop.org/}}. -For example a file that will load the @acronym{OpenSC} module, could be named -@code{/etc/pkcs11/modules/opensc} and contain the following: - -@example -module: /usr/lib/opensc-pkcs11.so -@end example - -If you use this file, then there is no need for other initialization in -@acronym{GnuTLS}, except for the PIN and token functions. Those allow retrieving a PIN -when accessing a protected object, such as a private key, as well as probe -the user to insert the token. All the initialization functions are below. - -@showfuncdesc{gnutls_pkcs11_init} -@showfuncC{gnutls_pkcs11_set_token_function,gnutls_pkcs11_set_pin_function,gnutls_pkcs11_add_provider} - -Note that due to limitations of @acronym{PKCS} #11 there are issues when multiple libraries -are sharing a module. To avoid this problem GnuTLS uses @acronym{p11-kit} -that provides a middleware to control access to resources over the -multiple users. - -Moreover PKCS #11 modules must be reinitialized on the child processes -after a @funcintref{fork}. @acronym{GnuTLS} provides @funcref{gnutls_pkcs11_reinit} -to be called for this purpose. - -@showfuncdesc{gnutls_pkcs11_reinit} - -@node Reading objects -@subsection Reading objects - -All @acronym{PKCS} #11 objects are referenced by @acronym{GnuTLS} functions by -URLs as described in @xcite{PKCS11URI}. -This allows for a consistent naming of objects across systems and applications -in the same system. For example a public -key on a smart card may be referenced as: - -@example -pkcs11:token=Nikos;serial=307521161601031;model=PKCS%2315; \ -manufacturer=EnterSafe;object=test1;objecttype=public;\ -id=32f153f3e37990b08624141077ca5dec2d15faed -@end example - -while the smart card itself can be referenced as: -@example -pkcs11:token=Nikos;serial=307521161601031;model=PKCS%2315;manufacturer=EnterSafe -@end example - -Objects stored in a @acronym{PKCS} #11 token can be extracted -if they are not marked as sensitive. Usually only private keys are marked as -sensitive and cannot be extracted, while certificates and other data can -be retrieved. The functions that can be used to access objects -are shown below. - -@showfuncB{gnutls_pkcs11_obj_import_url,gnutls_pkcs11_obj_export_url} - -@showfuncdesc{gnutls_pkcs11_obj_get_info} - -@showfuncC{gnutls_x509_crt_import_pkcs11,gnutls_x509_crt_import_pkcs11_url,gnutls_x509_crt_list_import_pkcs11} - -Properties of the physical token can also be accessed and altered with @acronym{GnuTLS}. -For example data in a token can be erased (initialized), PIN can be altered, etc. - -@showfuncE{gnutls_pkcs11_token_init,gnutls_pkcs11_token_get_url,gnutls_pkcs11_token_get_info,gnutls_pkcs11_token_get_flags,gnutls_pkcs11_token_set_pin} - -The following examples demonstrate the usage of the API. The first example -will list all available PKCS #11 tokens in a system and the latter will -list all certificates in a token that have a corresponding private key. - -@example -int i; -char* url; - -gnutls_global_init(); - -for (i=0;;i++) - @{ - ret = gnutls_pkcs11_token_get_url(i, &url); - if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - break; - - if (ret < 0) - exit(1); - - fprintf(stdout, "Token[%d]: URL: %s\n", i, url); - gnutls_free(url); - @} -gnutls_global_deinit(); -@end example - -@verbatiminclude examples/ex-pkcs11-list.c - -@node Writing objects -@subsection Writing objects - -With @acronym{GnuTLS} you can copy existing private keys and certificates -to a token. Note that when copying private keys it is recommended to mark -them as sensitive using the @code{GNUTLS_@-PKCS11_OBJ_@-FLAG_@-MARK_@-SENSITIVE} -to prevent its extraction. An object can be marked as private using the flag -@code{GNUTLS_@-PKCS11_OBJ_@-FLAG_@-MARK_@-PRIVATE}, to require PIN to be -entered before accessing the object (for operations or otherwise). - -@showfuncdesc{gnutls_pkcs11_copy_x509_privkey} - -@showfuncdesc{gnutls_pkcs11_copy_x509_crt} -@showfuncdesc{gnutls_pkcs11_delete_url} - - -@node Using a PKCS11 token with TLS -@subsection Using a @acronym{PKCS} #11 token with TLS - -It is possible to use a @acronym{PKCS} #11 token to a TLS -session, as shown in @ref{ex:pkcs11-client}. In addition -the following functions can be used to load PKCS #11 key and -certificates by specifying a PKCS #11 URL instead of a filename. - -@showfuncB{gnutls_certificate_set_x509_trust_file,gnutls_certificate_set_x509_key_file} -@showfuncdesc{gnutls_certificate_set_x509_system_trust} - -@include invoke-p11tool.texi - -@node Abstract key types -@section Abstract key types -@cindex abstract types - -Since there are many forms of a public or private keys supported by @acronym{GnuTLS} such as -@acronym{X.509}, @acronym{OpenPGP}, or @acronym{PKCS} #11 it is desirable to allow common operations -on them. For these reasons the abstract @code{gnutls_privkey_t} and @code{gnutls_pubkey_t} were -introduced in @code{gnutls/abstract.h} header. Those types are initialized using a specific type of -key and then can be used to perform operations in an abstract way. For example in order -to sign an X.509 certificate with a key that resides in a token the following steps must be -used. - -@example -#inlude -#inlude - -void sign_cert( gnutls_x509_crt_t to_be_signed) -@{ -gnutls_pkcs11_privkey_t ca_key; -gnutls_x509_crt_t ca_cert; -gnutls_privkey_t abs_key; - - /* load the PKCS #11 key and certificates */ - gnutls_pkcs11_privkey_init(&ca_key); - gnutls_pkcs11_privkey_import_url(ca_key, key_url); - - gnutls_x509_crt_init(&ca_cert); - gnutls_x509_crt_import_pkcs11_url(&ca_cert, cert_url); - - /* initialize the abstract key */ - gnutls_privkey_init(&abs_key); - gnutls_privkey_import_pkcs11(abs_key, ca_key); - - /* sign the certificate to be signed */ - gnutls_x509_crt_privkey_sign(to_be_signed, ca_cert, ca_key, - GNUTLS_DIG_SHA256, 0); -@} -@end example - -@menu -* Abstract public keys:: -* Abstract private keys:: -* Operations:: -@end menu - - -@node Abstract public keys -@subsection Public keys -An abstract @code{gnutls_pubkey_t} can be initialized -using the functions below. It can be imported through -an existing structure like @code{gnutls_x509_crt_t}, -or through an ASN.1 encoding of the X.509 @code{SubjectPublicKeyInfo} -sequence. - -@showfuncdesc{gnutls_pubkey_import_x509} -@showfuncE{gnutls_pubkey_import_openpgp,gnutls_pubkey_import_pkcs11,gnutls_pubkey_import_pkcs11_url,gnutls_pubkey_import_privkey,gnutls_pubkey_import} -@showfuncdesc{gnutls_pubkey_export} - -Additional functions are available that will return -information over a public key. - -@showfuncC{gnutls_pubkey_get_pk_algorithm,gnutls_pubkey_get_preferred_hash_algorithm,gnutls_pubkey_get_key_id} - -@node Abstract private keys -@subsection Private keys -An abstract @code{gnutls_privkey_t} can be initialized -using the functions below. It can be imported through -an existing structure like @code{gnutls_x509_privkey_t}, -but unlike public keys it cannot be exported. That is -to allow abstraction over @acronym{PKCS} #11 keys that -are not extractable. - -@showfuncC{gnutls_privkey_import_x509,gnutls_privkey_import_openpgp,gnutls_privkey_import_pkcs11} - -@showfuncB{gnutls_privkey_get_pk_algorithm,gnutls_privkey_get_type} - -In order to support cryptographic operations using -an external API, the following function is provided. -This allows for a simple extensibility API without -resorting to @acronym{PKCS} #11. - -@showfuncdesc{gnutls_privkey_import_ext} - -@node Operations -@subsection Operations -The abstract key types can be used to access signing and -signature verification operations with the underlying keys. - -@showfuncdesc{gnutls_pubkey_verify_data2} -@showfuncdesc{gnutls_pubkey_verify_hash2} -@showfuncdesc{gnutls_pubkey_encrypt_data} - -@showfuncdesc{gnutls_privkey_sign_data} -@showfuncdesc{gnutls_privkey_sign_hash} -@showfuncdesc{gnutls_privkey_decrypt_data} - -Signing existing structures, such as certificates, CRLs, -or certificate requests, as well as associating public -keys with structures is also possible using the -key abstractions. - -@showfuncdesc{gnutls_x509_crq_set_pubkey} -@showfuncdesc{gnutls_x509_crt_set_pubkey} -@showfuncC{gnutls_x509_crt_privkey_sign,gnutls_x509_crl_privkey_sign,gnutls_x509_crq_privkey_sign} +@include invoke-danetool.texi diff --git a/doc/cha-crypto.texi b/doc/cha-crypto.texi new file mode 100644 index 0000000..8c92deb --- /dev/null +++ b/doc/cha-crypto.texi @@ -0,0 +1,66 @@ +@node Using GnuTLS as a cryptographic library +@chapter Using GnuTLS as a cryptographic library + +@acronym{GnuTLS} is not a low-level cryptographic library, i.e., +it does not provide access to basic cryptographic primitives. However +it abstracts the internal cryptographic back-end (see @ref{Cryptographic Backend}), +providing symmetric crypto, hash and HMAC algorithms, as well access +to the random number generation. + +@menu +* Symmetric algorithms:: +* Public key algorithms:: +* Hash and HMAC functions:: +* Random number generation:: +@end menu + +@node Symmetric algorithms +@section Symmetric algorithms +@cindex symmetric algorithms +@cindex symmetric cryptography + +The available functions to access symmetric crypto algorithms operations +are shown below. The supported algorithms are the algorithms required by the TLS protocol. +They are listed in @ref{tab:ciphers}. + +@showfuncE{gnutls_cipher_init,gnutls_cipher_encrypt2,gnutls_cipher_decrypt2,gnutls_cipher_set_iv,gnutls_cipher_deinit} + +In order to support authenticated encryption with associated data (AEAD) algorithms the following +functions are provided to set the associated data and retrieve the authentication tag. + +@showfuncB{gnutls_cipher_add_auth,gnutls_cipher_tag} + +@node Public key algorithms +@section Public key algorithms +@cindex public key algorithms + +Public key cryptography algorithms such as RSA, DSA and ECDSA, can be +accessed using the abstract key API in @ref{Abstract key types}. This +is a high level API with the advantage of transparently handling keys +in memory and keys present in smart cards. + +@node Hash and HMAC functions +@section Hash and HMAC functions +@cindex hash functions +@cindex HMAC functions + +The available operations to access hash functions and hash-MAC (HMAC) algorithms +are shown below. HMAC algorithms provided keyed hash functionality. They supported HMAC algorithms are listed in @ref{tab:macs}. + +@showfuncF{gnutls_hmac_init,gnutls_hmac,gnutls_hmac_output,gnutls_hmac_deinit,gnutls_hmac_get_len,gnutls_hmac_fast} + +The available functions to access hash functions are shown below. The supported hash functions +are the same as the HMAC algorithms. + +@showfuncF{gnutls_hash_init,gnutls_hash,gnutls_hash_output,gnutls_hash_deinit,gnutls_hash_get_len,gnutls_hash_fast} +@showfuncA{gnutls_fingerprint} + +@node Random number generation +@section Random number generation +@cindex random numbers + +Access to the random number generator is provided using the @funcref{gnutls_rnd} +function. It allows obtaining random data of various levels. + +@showenumdesc{gnutls_rnd_level_t,The random number levels.} +@showfuncdesc{gnutls_rnd} diff --git a/doc/cha-functions.texi b/doc/cha-functions.texi index aca17e2..da86cc4 100644 --- a/doc/cha-functions.texi +++ b/doc/cha-functions.texi @@ -10,7 +10,9 @@ * OpenPGP API:: * PKCS 12 API:: * PKCS 11 API:: +* TPM API:: * Abstract key API:: +* DANE API:: * Cryptographic API:: * Compatibility API:: @end menu @@ -75,6 +77,14 @@ Their prototypes lie in @file{gnutls/pkcs11.h}. @include pkcs11-api.texi +@node TPM API +@section TPM API + +The following functions are to be used for TPM handling. +Their prototypes lie in @file{gnutls/tpm.h}. + +@include tpm-api.texi + @node Abstract key API @section Abstract key API @@ -83,6 +93,15 @@ Their prototypes lie in @file{gnutls/abstract.h}. @include abstract-api.texi +@node DANE API +@section DANE API + +The following functions are to be used for DANE certificate verification. +Their prototypes lie in @file{gnutls/dane.h}. Note that you need to link +with the @code{libgnutls-dane} library to use them. + +@include dane-api.texi + @node Cryptographic API @section Cryptographic API diff --git a/doc/cha-gtls-app.texi b/doc/cha-gtls-app.texi index 9cc50e7..61d748a 100644 --- a/doc/cha-gtls-app.texi +++ b/doc/cha-gtls-app.texi @@ -9,16 +9,21 @@ * Setting up the transport layer:: * TLS handshake:: * Data transfer and termination:: +* Buffered data transfer:: * Handling alerts:: * Priority Strings:: -* Advanced and other topics:: -* Using the cryptographic library:: * Selecting cryptographic key sizes:: +* Advanced topics:: @end menu @node Introduction to the library @section Introduction +This chapter tries to explain the basic functionality of the current GnuTLS +library. Note that there may be additional functionality not discussed here +but included in the library. Checking the header files in @file{/usr/include/gnutls/} +and the manpages is recommended. + @menu * General idea:: * Error handling:: @@ -31,19 +36,20 @@ @node General idea @subsection General idea -A brief description of how @acronym{GnuTLS} works internally is shown -at @ref{fig:gnutls-design}. This section may become more clear after -having read the rest of this section. +A brief description of how @acronym{GnuTLS} sessions operate is shown +at @ref{fig-gnutls-design}. This section will become more clear when it +is completely read. As shown in the figure, there is a read-only global state that is initialized once by the global initialization function. This global structure, among others, contains the memory allocation functions -used, and structures needed for the @acronym{ASN.1} parser. This +used, structures needed for the @acronym{ASN.1} parser and depending +on the system's CPU, pointers to hardware accelerated encryption functions. This structure is never modified by any @acronym{GnuTLS} function, except for the deinitialization function which frees all allocated memory -and is called after the program has permanently +and must be called after the program has permanently finished using @acronym{GnuTLS}. -@float Figure,fig:gnutls-design +@float Figure,fig-gnutls-design @image{gnutls-internals,12cm} @caption{High level design of GnuTLS.} @end float @@ -101,8 +107,12 @@ See @ref{Error codes}, for a description of the available error codes. @node Common types @subsection Common types -Several functions in @acronym{GnuTLS} use @code{gnutls_datum_t} which is -convenient way to combine a pointer to data and data's size. Its definition is +All strings that are to provided as input to @acronym{GnuTLS} functions +should be in UTF-8 unless otherwise specified. Output strings are also +in UTF-8 format unless otherwise specified. + +When data of a fixed size are provided to @acronym{GnuTLS} functions then +the helper structure @code{gnutls_datum_t} is often used. Its definition is shown below. @verbatim typedef struct @@ -135,6 +145,10 @@ verbose information on the @acronym{GnuTLS} functions internal flow. @showfuncB{gnutls_global_set_log_level,gnutls_global_set_log_function} +Alternatively the environment variable @code{GNUTLS_DEBUG_LEVEL} can be +set to a logging level and GnuTLS will output debugging output to standard +error. + When debugging is not required, important issues, such as detected attacks on the protocol still need to be logged. This is provided by the logging function set by @@ -157,16 +171,13 @@ If, however, an object needs to be shared across threads then access must be protected with a mutex. Read-only access to objects, for example the credentials holding structures, is also thread-safe. -The random generator of the cryptographic back-end, is not thread safe and requires -mutex locks which are setup by @acronym{GnuTLS}. -Applications can either call @funcref{gnutls_global_init} which will initialize the default -operating system provided locks (i.e. @code{pthreads} on GNU/Linux and -@code{CriticalSection} on Windows), or manually specify the locking system using -the function @funcref{gnutls_global_set_mutex} before calling @funcref{gnutls_global_init}. -Setting mutexes manually is recommended -only for applications that have full control of the underlying libraries. If this -is not the case, the use of the operating system defaults is recommended. An example of -non-native thread usage is shown below. +The random generator of the cryptographic back-end, utilizes mutex locks (e.g., pthreads on GNU/Linux and CriticalSection on Windows) +which are setup by @acronym{GnuTLS} on library initialization. Prior to version 3.3.0 +they were setup by calling @funcref{gnutls_global_init}. On special systems +you could manually specify the locking system using +the function @funcref{gnutls_global_set_mutex} before calling any other +GnuTLS function. Setting mutexes manually is not recommended. +An example of non-native thread usage is shown below. @example #include @@ -178,7 +189,6 @@ int main() */ gnutls_global_set_mutex (mutex_init, mutex_deinit, mutex_lock, mutex_unlock); - gnutls_global_init(); @} @end example @@ -231,14 +241,17 @@ library. @subsection Initialization GnuTLS must be initialized before it can be used. The library is -initialized by calling @funcref{gnutls_global_init}. The resources -allocated by the initialization process can be released if the -application no longer has a need to call GnuTLS functions, this is -done by calling @funcref{gnutls_global_deinit}. +initialized on load; prior to 3.3.0 was initialized by calling @funcref{gnutls_global_init}. +The initialization typically enables CPU-specific acceleration, performs any required +precalculations needed, opens any required system devices (e.g., /dev/urandom on Linux) +and initializes subsystems that could be used later. -In order to take advantage of the internationalization features in -GnuTLS, such as translated error messages, the application must set -the current locale using @code{setlocale} before initializing GnuTLS. +The resources allocated by the initialization process will be released +on library deinitialization, or explictly by calling @funcref{gnutls_global_deinit}. + +@c In order to take advantage of the internationalization features in +@c GnuTLS, such as translated error messages, the application must set +@c the current locale using @code{setlocale} before initializing GnuTLS. @node Version check @subsection Version check @@ -250,6 +263,16 @@ with the dynamic linker an old version is actually used. So you may want to check that the version is okay right after program start-up. See the function @funcref{gnutls_check_version}. +On the other hand, it is often desirable to support more than one +versions of the library. In that case you could utilize compile-time +feature checks using the the @code{GNUTLS_VERSION_NUMBER} macro. +For example, to conditionally add code for GnuTLS 3.2.1 or later, you may use: +@example +#if GNUTLS_VERSION_NUMBER >= 0x030201 + ... +#endif +@end example + @node Building the source @subsection Building the source @@ -301,7 +324,7 @@ When a program uses the GNU autoconf system, then the following line or similar can be used to detect the presence of GnuTLS. @example -PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.0.0]) +PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.3.0]) AC_SUBST([LIBGNUTLS_CFLAGS]) AC_SUBST([LIBGNUTLS_LIBS]) @@ -411,9 +434,23 @@ certificate certifies the one before it. The trusted authority's certificate need not to be included since the peer should possess it already. -@showfuncC{gnutls_certificate_set_x509_key_mem,gnutls_certificate_set_x509_key,gnutls_certificate_set_x509_key_file} +@showfuncC{gnutls_certificate_set_x509_key_mem2,gnutls_certificate_set_x509_key,gnutls_certificate_set_x509_key_file2} + +@showfuncC{gnutls_certificate_set_openpgp_key_mem,gnutls_certificate_set_openpgp_key,gnutls_certificate_set_openpgp_key_file} + +Note however, that since functions like @funcref{gnutls_certificate_set_x509_key_file2} +may accept URLs that specify objects stored in token, another important +function is @funcref{gnutls_certificate_set_pin_function}. That +allows setting a callback function to retrieve a PIN if the input keys are +protected by PIN by the token. + +@showfuncdesc{gnutls_certificate_set_pin_function} -@showfuncD{gnutls_certificate_set_openpgp_key_mem,gnutls_certificate_set_openpgp_key,gnutls_certificate_set_openpgp_key_file,gnutls_certificate_set_key} +If the imported keys and certificates need to be accessed before any TLS session +is established, it is convenient to use @funcref{gnutls_certificate_set_key} +in combination with @funcref{gnutls_pcert_import_x509_raw} and @funcref{gnutls_privkey_import_x509_raw}. + +@showfuncdesc{gnutls_certificate_set_key} If multiple certificates are used with the functions above each client's request will be served with the certificate that matches the @@ -426,11 +463,23 @@ algorithm preferences. To get those preferences use @funcref{gnutls_sign_algorithm_get_requested}. Both functions are shown below. @showfuncC{gnutls_certificate_set_retrieve_function,gnutls_certificate_set_retrieve_function2,gnutls_sign_algorithm_get_requested} - +c The functions above do not handle the requested server name automatically. A server would need to check the name requested by the client using @funcref{gnutls_server_name_get}, and serve the appropriate -certificate. +certificate. Note that some of these functions require the @code{gnutls_pcert_st} structure to be +filled in. Helper functions to fill in the structure are listed below. + +@verbatim +typedef struct gnutls_pcert_st +{ + gnutls_pubkey_t pubkey; + gnutls_datum_t cert; + gnutls_certificate_type_t type; +} gnutls_pcert_st; +@end verbatim + +@showfuncE{gnutls_pcert_import_x509,gnutls_pcert_import_openpgp,gnutls_pcert_import_x509_raw,gnutls_pcert_import_openpgp_raw,gnutls_pcert_deinit} In a handshake, the negotiated cipher suite depends on the certificate's parameters, so some key exchange methods might not be @@ -468,25 +517,27 @@ Certificate verification is possible by loading the trusted authorities into the credentials structure by using the following functions, applicable to X.509 and OpenPGP certificates. -@showfuncB{gnutls_certificate_set_x509_trust_file,gnutls_certificate_set_openpgp_keyring_file} +@showfuncC{gnutls_certificate_set_x509_system_trust,gnutls_certificate_set_x509_trust_file,gnutls_certificate_set_openpgp_keyring_file} The peer's certificate is not automatically verified and one -should call @funcref{gnutls_certificate_verify_peers2} -after a successful handshake to verify the certificate's signature. -Alternative the verification can occur during the handshake +must call @funcref{gnutls_certificate_verify_peers3} +after a successful handshake to verify the certificate's signature and the owner +of the certificate. The verification status returned can be printed using +@funcref{gnutls_certificate_verification_status_print}. + +Alternatively the verification can occur during the handshake by using @funcref{gnutls_certificate_set_verify_function}. -In order to report a detailed verification output, an alternative -way has to be used. For that, one should call @funcref{gnutls_certificate_get_peers} +The functions above provide a brief verification output. If a +detailed output is required one should call @funcref{gnutls_certificate_get_peers} to obtain the raw certificate of the peer and verify it using the functions discussed in @ref{X.509 certificates}. -@showfuncdesc{gnutls_certificate_verify_peers2} +@showfuncdesc{gnutls_certificate_verify_peers3} @showfuncdesc{gnutls_certificate_set_verify_function} - @node SRP credentials @subsection SRP @@ -570,19 +621,25 @@ The initialization functions for the credentials are shown below. The next step is to setup the underlying transport layer details. The Berkeley sockets are implicitly used by GnuTLS, thus a -call to @funcref{gnutls_transport_set_ptr2} would be sufficient to -specify the socket descriptor. - -@showfuncdesc{gnutls_transport_set_ptr2} +call to @funcref{gnutls_transport_set_int} would be sufficient to +specify the socket descriptor. -@showfuncA{gnutls_transport_set_ptr} +@showfuncB{gnutls_transport_set_int,gnutls_transport_set_int2} If however another transport layer than TCP is selected, then -the following functions have to be specified. +a pointer should be used instead to express the parameter to be +passed to custom functions. In that case the following functions should +be used instead. + +@showfuncB{gnutls_transport_set_ptr,gnutls_transport_set_ptr2} + +Moreover all of the following push and pull callbacks should be set. @showfuncdesc{gnutls_transport_set_push_function} @showfuncdesc{gnutls_transport_set_vec_push_function} @showfuncdesc{gnutls_transport_set_pull_function} +@showfuncdesc{gnutls_transport_set_pull_timeout_function} + The functions above accept a callback function which should return the number of bytes written, or -1 on @@ -665,15 +722,18 @@ to decide which direction to check prior to restoring a function call. Moreover, to prevent blocking from DTLS' retransmission timers to block a handshake, the @funcref{gnutls_init} function should be called with the -@code{GNUTLS_NONBLOCK} flag set (see @ref{Session initialization}). +@code{GNUTLS_NONBLOCK} flag set (see @ref{Session initialization}). In that +case, in order to be able to use the DTLS handshake timers, the function +@funcref{gnutls_dtls_get_timeout} should be used to estimate when to call +@funcref{gnutls_handshake} if no packets have been received. @node DTLS sessions @subsection DTLS sessions -Because datagram TLS can operate over connections where the peer -of a server cannot be reliably verified, functionality is available to prevent -denial of service attacks. @acronym{GnuTLS} requires a server +Because datagram TLS can operate over connections where the client +cannot be reliably verified, functionality in the form of cookies, is available to prevent +denial of service attacks to servers. @acronym{GnuTLS} requires a server to generate a secret key that is used to sign a cookie@footnote{A key of 128 bits or 16 bytes should be sufficient for this purpose.}. That cookie is sent to the client using @funcref{gnutls_dtls_cookie_send}, and the client must reply using the correct cookie. The server side @@ -707,6 +767,8 @@ exchange. @showfuncdesc{gnutls_handshake} +@showfuncdesc{gnutls_handshake_set_timeout} + The handshake process doesn't ensure the verification of the peer's identity. When certificates are in use, this can be done, either after the handshake is complete, or during @@ -762,6 +824,20 @@ A session can be deinitialized with the @funcref{gnutls_deinit} function. @showfuncdesc{gnutls_bye} @showfuncdesc{gnutls_deinit} +@node Buffered data transfer +@section Buffered data transfer + +Although @funcref{gnutls_record_send} is sufficient to transmit data +to the peer, when many small chunks of data are to be transmitted +it is inefficient and wastes bandwidth due to the TLS record +overhead. In that case it is preferrable to combine the small chunks +before transmission. The following functions provide that functionality. + +@showfuncdesc{gnutls_record_cork} + +@showfuncdesc{gnutls_record_uncork} + + @node Handling alerts @section Handling alerts During a TLS connection alert messages may be exchanged by the @@ -791,52 +867,85 @@ are listed in @ref{The Alert Protocol}. @section Priority strings @cindex Priority strings -In order to specify cipher suite preferences on a TLS session -there are priority functions that accept a string -specifying the enabled for the handshake algorithms. -That string may contain a single initial keyword such as -in @ref{tab:prio-keywords} and may be followed by -additional algorithm or special keywords. +The GnuTLS priority strings specify the TLS session's handshake +algorithms and options in a compact, easy-to-use format. That string +may contain a single initial keyword such as in +@ref{tab:prio-keywords} and may be followed by additional algorithm or +special keywords. Note that their description is intentionally avoiding +specific algorithm details, as the priority strings are not constant between +gnutls versions (they are periodically updated to account for cryptographic +advances while providing compatibility with old clients and servers). @showfuncB{gnutls_priority_set_direct,gnutls_priority_set} @float Table,tab:prio-keywords @multitable @columnfractions .20 .70 @headitem Keyword @tab Description +@item @@KEYWORD @tab +Means that a compile-time specified system configuration file@footnote{The default is @code{/etc/gnutls/default-priorities}.} +will be used to expand the provided keyword. That is used to impose system-specific policies. +It may be followed by additional options that will be appended to the +system string (e.g., "@@SYSTEM:+SRP"). The system file should have the +format 'KEYWORD=VALUE', e.g., 'SYSTEM=NORMAL:-ARCFOUR-128'. + @item PERFORMANCE @tab All the known to be secure ciphersuites are enabled, limited to 128 bit ciphers and sorted by terms of speed -performance. The message authenticity security level is of 64 bits or more. +performance. The message authenticity security level is of 64 bits or more, +and the certificate verification profile is set to GNUTLS_PROFILE_LOW (80-bits). @item NORMAL @tab Means all the known to be secure ciphersuites. The ciphers are sorted by security margin, although the 256-bit ciphers are included as a fallback only. -The message authenticity security level is of 64 bits or more. +The message authenticity security level is of 64 bits or more, +and the certificate verification profile is set to GNUTLS_PROFILE_LOW (80-bits). + +This priority string implicitly enables ECDHE and DHE. The ECDHE ciphersuites +are placed first in the priority order, but due to compatibility +issues with the DHE ciphersuites they are placed last in the priority order, +after the plain RSA ciphersuites. + +@item LEGACY @tab +This sets the NORMAL settings that were used for GnuTLS 3.2.x or earlier. There is +no verification profile set, and the allowed DH primes are considered +weak today (but are often used by misconfigured servers). + +@item PFS @tab +Means all the known to be secure ciphersuites that support perfect forward +secrecy (ECDHE and DHE). The ciphers are sorted by security +margin, although the 256-bit ciphers are included as a fallback only. +The message authenticity security level is of 80 bits or more, +and the certificate verification profile is set to GNUTLS_PROFILE_LOW (80-bits). +This option is available since 3.2.4 or later. @item SECURE128 @tab Means all known to be secure ciphersuites that offer a -security level 128-bit or more and a message authenticity -security level of 80 bits or more. +security level 128-bit or more. +The message authenticity security level is of 80 bits or more, +and the certificate verification profile is set to GNUTLS_PROFILE_LOW (80-bits). @item SECURE192 @tab Means all the known to be secure ciphersuites that offer a -security level 192-bit or more and a message authenticity -security level of 128 bits or more. +security level 192-bit or more. +The message authenticity security level is of 128 bits or more, +and the certificate verification profile is set to GNUTLS_PROFILE_HIGH (128-bits). @item SECURE256 @tab Currently alias for SECURE192. @item SUITEB128 @tab Means all the NSA Suite B cryptography (RFC5430) ciphersuites -with an 128 bit security level. +with an 128 bit security level, as well as the enabling of the corresponding +verification profile. @item SUITEB192 @tab Means all the NSA Suite B cryptography (RFC5430) ciphersuites -with an 192 bit security level. +with an 192 bit security level, as well as the enabling of the corresponding +verification profile. @item EXPORT @tab -Means all ciphersuites are enabled, including the -low-security 40 bit ciphers. +This priority string should be treated as deprecated. +GnuTLS no longer negotiates 40-bit ciphers. @item NONE @tab Means nothing is enabled. This disables even protocols and @@ -853,8 +962,7 @@ compression NULL; for certificate types X.509. In key exchange algorithms when in NORMAL or SECURE levels the perfect forward secrecy algorithms take precedence of the other protocols. In all cases all the supported key exchange algorithms -are enabled@footnote{Except for the RSA-EXPORT which is only enabled in -EXPORT level.}. +are enabled. Note that the SECURE levels distinguish between overall security level and message authenticity security level. That is because the message @@ -864,8 +972,11 @@ the overall security level refers to off-line adversaries (e.g. adversaries breaking the ciphertext years after it was captured). The NONE keyword, if used, must followed by keywords specifying -the algorithms and protocols to be enabled. The other initial keywords may be -followed by such keywords. +the algorithms and protocols to be enabled. The other initial keywords +do not require, but may be followed by such keywords. All level keywords +can be combined, and for example a level of "SECURE256:+SECURE128" is +allowed. + The order with which every algorithm or protocol is specified is significant. Algorithms specified before others will take precedence. The supported algorithms and protocols @@ -894,12 +1005,14 @@ priority. @item Key exchange @tab RSA, DHE-RSA, DHE-DSS, SRP, SRP-RSA, SRP-DSS, -PSK, DHE-PSK, ECDHE-RSA, ANON-ECDH, ANON-DH, RSA-EXPORT. The +PSK, DHE-PSK, ECDHE-RSA, ANON-ECDH, ANON-DH. The Catch all name is KX-ALL which will add all the algorithms from NORMAL priority. +Add @code{!DHE-RSA:!DHE-DSS} to the priority string to disable DHE. + @item MAC @tab -MD5, SHA1, SHA256, AEAD (used with +MD5, SHA1, SHA256, SHA384, AEAD (used with GCM ciphers only). All algorithms from NORMAL priority can be accessed with MAC-ALL. @item Compression algorithms @tab @@ -907,7 +1020,8 @@ COMP-NULL, COMP-DEFLATE. Catch all is COMP-ALL. @item TLS versions @tab VERS-SSL3.0, VERS-TLS1.0, VERS-TLS1.1, -VERS-TLS1.2, VERS-DTLS1.0. Catch all is VERS-TLS-ALL. +VERS-TLS1.2, VERS-DTLS1.2, VERS-DTLS1.0. +Catch all is VERS-TLS-ALL and VERS-DTLS-ALL. @item Signature algorithms @tab SIGN-RSA-SHA1, SIGN-RSA-SHA224, @@ -930,9 +1044,10 @@ for the acceptable security levels.} than their elliptic curves counterpart requires parameters to be generated and associated with a credentials structure by the server (see @ref{Parameter generation}). -The available special keywords are shown in @ref{tab:prio-special}. +The available special keywords are shown in @ref{tab:prio-special1} +and @ref{tab:prio-special2}. -@float Table,tab:prio-special +@float Table,tab:prio-special1 @multitable @columnfractions .45 .45 @headitem Keyword @tab Description @@ -940,27 +1055,54 @@ The available special keywords are shown in @ref{tab:prio-special}. will enable compatibility mode. It might mean that violations of the protocols are allowed as long as maximum compatibility with problematic clients and servers is achieved. More specifically this -string would disable TLS record random padding and tolerate packets -over the maximum allowed TLS record. +string would disable TLS record random padding, tolerate packets +over the maximum allowed TLS record, and add a padding to TLS Client +Hello packet to prevent it being in the 256-512 range which is known +to be causing issues with a commonly used firewall. + +@item %DUMBFW @tab +will add a private extension with bogus data that make the client +hello exceed 512 bytes. This avoids a black hole behavior in some +firewalls. This is a non-standard TLS extension, use with care. @item %NO_EXTENSIONS @tab will prevent the sending of any TLS extensions in client side. Note that TLS 1.2 requires extensions to be used, as well as safe renegotiation thus this option must be used with care. +@item %SERVER_PRECEDENCE @tab +The ciphersuite will be selected according to server priorities +and not the client's. + +@item %SSL3_RECORD_VERSION @tab +will use SSL3.0 record version in client hello. +This is the default. + +@item %LATEST_RECORD_VERSION @tab +will use the latest TLS version record version in client hello. + +@end multitable +@caption{Special priority string keywords.} +@end float + +@float Table,tab:prio-special2 +@multitable @columnfractions .45 .45 +@headitem Keyword @tab Description + @item %STATELESS_COMPRESSION @tab will disable keeping state across records when compressing. This may help to mitigate attacks when compression is used but an attacker -is in control of input data. +is in control of input data. This has to be used only when the +data that are possibly controlled by an attacker are placed in +separate records. -@item %SERVER_PRECEDENCE @tab -The ciphersuite will be selected according to server priorities -and not the client's. +@item %DISABLE_WILDCARDS @tab +will disable matching wildcards when comparing hostnames +in certificates. @item %DISABLE_SAFE_RENEGOTIATION @tab -will disable safe renegotiation +will completely disable safe renegotiation completely. Do not use unless you know what you are doing. -Testing purposes only. @item %UNSAFE_RENEGOTIATION @tab will allow handshakes and re-handshakes @@ -982,21 +1124,26 @@ will enforce safe renegotiation. Clients and servers will refuse to talk to an insecure peer. Currently this causes interoperability problems, but is required for full protection. -@item %SSL3_RECORD_VERSION @tab -will use SSL3.0 record version in client hello. -This is the default. - -@item %LATEST_RECORD_VERSION @tab -will use the latest TLS version record version in client hello. - @item %VERIFY_ALLOW_SIGN_RSA_MD5 @tab will allow RSA-MD5 signatures in certificate chains. +@item %VERIFY_DISABLE_CRL_CHECKS @tab +will disable CRL or OCSP checks in the verification of the certificate chain. + @item %VERIFY_ALLOW_X509_V1_CA_CRT @tab will allow V1 CAs in chains. +@item %PROFILE_(LOW|LEGACY|MEDIUM|HIGH|ULTRA) @tab +require a certificate verification profile the corresponds to the specified +security level, see @ref{tab:key-sizes} for the mappings to values. + +@item %PROFILE_(SUITEB128|SUITEB192) @tab +require a certificate verification profile the corresponds to SUITEB. Note +that an initial keyword that enables SUITEB automatically sets the profile. + + @end multitable -@caption{Special priority string keywords.} +@caption{More priority string keywords.} @end float Finally the ciphersuites enabled by any priority string can be @@ -1005,6 +1152,9 @@ or by using the priority functions as in @ref{Listing the ciphersuites in a prio Example priority strings are: @example +The system imposed security level: + "SYSTEM" + The default priority without the HMAC-MD5: "NORMAL:-MD5" @@ -1014,18 +1164,132 @@ Specifying RSA with AES-128-CBC: Specifying the defaults except ARCFOUR-128: "NORMAL:-ARCFOUR-128" -Enabling the 128-bit secure ciphers, while disabling SSL 3.0 and -enabling compression: +Enabling the 128-bit secure ciphers, while disabling SSL 3.0 and enabling compression: "SECURE128:-VERS-SSL3.0:+COMP-DEFLATE" + +Enabling the 128-bit and 192-bit secure ciphers, while disabling all TLS versions +except TLS 1.2: + "SECURE128:+SECURE192:-VERS-TLS-ALL:+VERS-TLS1.2" @end example -@node Advanced and other topics -@section Advanced and other topics +@node Selecting cryptographic key sizes +@section Selecting cryptographic key sizes +@cindex key sizes + +Because many algorithms are involved in TLS, it is not easy to set +a consistent security level. For this reason in @ref{tab:key-sizes} we +present some correspondence between key sizes of symmetric algorithms +and public key algorithms based on @xcite{ECRYPT}. +Those can be used to generate certificates with +appropriate key sizes as well as select parameters for Diffie-Hellman and SRP +authentication. + +@float Table,tab:key-sizes +@multitable @columnfractions .10 .12 .10 .20 .32 + +@headitem Security bits @tab RSA, DH and SRP parameter size @tab ECC key size @tab Security parameter @tab Description + +@item <72 +@tab <1008 +@tab <160 +@tab @code{INSECURE} +@tab Considered to be insecure + +@item 64 +@tab 768 +@tab 128 +@tab @code{VERY WEAK} +@tab Short term protection against individuals + +@item 72 +@tab 1008 +@tab 160 +@tab @code{WEAK} +@tab Short term protection against small organizations + +@item 80 +@tab 1024 +@tab 160 +@tab @code{LOW} +@tab Very short term protection against agencies (corresponds to ENISA legacy level) + +@item 96 +@tab 1776 +@tab 192 +@tab @code{LEGACY} +@tab Legacy standard level + +@item 112 +@tab 2048 +@tab 224 +@tab @code{MEDIUM} +@tab Medium-term protection + +@item 128 +@tab 3072 +@tab 256 +@tab @code{HIGH} +@tab Long term protection + +@item 256 +@tab 15424 +@tab 512 +@tab @code{ULTRA} +@tab Foreseeable future + +@end multitable +@caption{Key sizes and security parameters.} +@end float + +The first column provides a security parameter in a number of bits. This +gives an indication of the number of combinations to be tried by an adversary +to brute force a key. For example to test all possible keys in a 112 bit security parameter +@math{2^{112}} combinations have to be tried. For today's technology this is infeasible. +The next two columns correlate the security +parameter with actual bit sizes of parameters for DH, RSA, SRP and ECC algorithms. +A mapping to @code{gnutls_sec_param_t} value is given for each security parameter, on +the next column, and finally a brief description of the level. + +@c @showenumdesc{gnutls_sec_param_t,The @code{gnutls_sec_@-param_t} enumeration.} + +Note, however, that the values suggested here are nothing more than an +educated guess that is valid today. There are no guarantees that an +algorithm will remain unbreakable or that these values will remain +constant in time. There could be scientific breakthroughs that cannot +be predicted or total failure of the current public key systems by +quantum computers. On the other hand though the cryptosystems used in +TLS are selected in a conservative way and such catastrophic +breakthroughs or failures are believed to be unlikely. +The NIST publication SP 800-57 @xcite{NISTSP80057} contains a similar +table. + +When using @acronym{GnuTLS} and a decision on bit sizes for a public +key algorithm is required, use of the following functions is +recommended: + +@showfuncdesc{gnutls_sec_param_to_pk_bits} + +@showfuncdesc{gnutls_pk_bits_to_sec_param} + +Those functions will convert a human understandable security parameter +of @code{gnutls_sec_param_t} type, to a number of bits suitable for a public +key algorithm. + +@showfuncA{gnutls_sec_param_get_name} + +The following functions will set the minimum acceptable group size for Diffie-Hellman +and SRP authentication. +@showfuncB{gnutls_dh_set_prime_bits,gnutls_srp_set_prime_bits} + + +@node Advanced topics +@section Advanced topics @menu * Session resumption:: +* Certificate verification:: * Parameter generation:: -* Keying Material Exporters:: +* Deriving keys for other applications/protocols:: * Channel Bindings:: * Interoperability:: * Compatibility with the OpenSSL library:: @@ -1040,12 +1304,12 @@ enabling compression: To reduce time and roundtrips spent in a handshake the client can request session resumption from a server that previously shared -a session with. For that the client has to retrieve and store +a session with the client. For that the client has to retrieve and store the session parameters. Before establishing a new session to the same server the parameters must be re-associated with the GnuTLS session using @funcref{gnutls_session_set_data}. -@showfuncC{gnutls_session_get_data,gnutls_session_get_id,gnutls_session_set_data} +@showfuncC{gnutls_session_get_data2,gnutls_session_get_id2,gnutls_session_set_data} Keep in mind that sessions will be expired after some time, depending on the server, and a server may choose not to resume a session @@ -1053,12 +1317,6 @@ even when requested to. The expiration is to prevent temporal session keys from becoming long-term keys. Also note that as a client you must enable, using the priority functions, at least the algorithms used in the last session. -It is highly recommended for clients to enable the session ticket extension using -@funcref{gnutls_session_ticket_enable_client} in order to allow resumption with -servers that do not store any state. - -@showfuncA{gnutls_session_ticket_enable_client} - @showfuncdesc{gnutls_session_is_resumed} @subsubheading Server side @@ -1088,6 +1346,77 @@ Those keys should be associated with the GnuTLS session using A server enabling both session tickets and a storage for session data would use session tickets when clients support it and the storage otherwise. +@node Certificate verification +@subsection Certificate verification +@cindex DANE +@cindex DNSSEC +@cindex SSH-style authentication +@cindex Trust on first use +@cindex Key pinning +@tindex gnutls_certificate_verify_flags + +In this section the functionality for additional certificate verification methods is listed. +These methods are intended to be used in addition to normal PKI verification, in order to reduce +the risk of a compromised CA being undetected. + +@subsubsection Trust on first use + +The GnuTLS library includes functionlity to use an SSH-like trust on first use authentication. +The available functions to store and verify public keys are listed below. + +@showfuncdesc{gnutls_verify_stored_pubkey} +@showfuncdesc{gnutls_store_pubkey} + +In addition to the above the @funcref{gnutls_store_commitment} can be +used to implement a key-pinning architecture as in @xcite{KEYPIN}. +This provides a way for web server to commit on a public key that is +not yet active. + +@showfuncdesc{gnutls_store_commitment} + +The storage and verification functions may be used with the default +text file based back-end, or another back-end may be specified. That +should contain storage and retrieval functions and specified as below. + +@showfuncE{gnutls_tdb_init,gnutls_tdb_deinit,gnutls_tdb_set_verify_func,gnutls_tdb_set_store_func,gnutls_tdb_set_store_commitment_func} + +@subsubsection DANE verification +Since the DANE library is not included in GnuTLS it requires programs +to be linked against it. This can be achieved with the following commands. + +@example +gcc -o foo foo.c `pkg-config gnutls-dane --cflags --libs` +@end example + +When a program uses the GNU autoconf system, then the following +line or similar can be used to detect the presence of the library. + +@example +PKG_CHECK_MODULES([LIBDANE], [gnutls-dane >= 3.0.0]) + +AC_SUBST([LIBDANE_CFLAGS]) +AC_SUBST([LIBDANE_LIBS]) +@end example + +The high level functionality provided by the DANE library is shown below. + +@showfuncdesc{dane_verify_crt} + +@showfuncB{dane_verify_session_crt,dane_strerror} + +Note that the @code{dane_state_t} structure that is accepted by both +verification functions is optional. It is required when many queries +are performed to facilitate caching. +The following flags are returned by the verify functions to +indicate the status of the verification. + +@showenumdesc{dane_verify_status_t,The DANE verification status flags.} + +In order to generate a DANE TLSA entry to use in a DNS server +you may use danetool (see @ref{danetool Invocation}). + + + @node Parameter generation @subsection Parameter generation @cindex parameter generation @@ -1120,16 +1449,6 @@ member of the structure is set, allowing the server utilizing the parameters to use keys of the size of the security parameter. This provides better performance in key exchange. -The ciphersuites that involve the RSA-EXPORT key exchange require -additional parameters. Those ciphersuites are rarely used today -because they are by design insecure, thus if you have no requirement -for them, the rest of this section can be skipped. The RSA-EXPORT key exchange -requires 512-bit RSA keys to be generated. It is recommended those -parameters to be refreshed (regenerated) in short intervals. The -following functions can be used for these parameters. - -@showfuncD{gnutls_rsa_params_generate2,gnutls_certificate_set_rsa_export_params,gnutls_rsa_params_import_pkcs1,gnutls_rsa_params_export_pkcs1} - To allow renewal of the parameters within an application without accessing the credentials, which are a shared structure, an alternative interface is available using a callback function. @@ -1137,32 +1456,42 @@ an alternative interface is available using a callback function. @showfuncdesc{gnutls_certificate_set_params_function} -@node Keying Material Exporters -@subsection Keying material exporters +@node Deriving keys for other applications/protocols +@subsection Deriving keys for other applications/protocols @cindex keying material exporters @cindex exporting keying material +@cindex deriving keys +@cindex key extraction + +In several cases, after a TLS connection is established, it is desirable +to derive keys to be used in another application or protocol (e.g., in an +other TLS session using pre-shared keys). The following describe GnuTLS' +implementation of RFC5705 to extract keys based on a session's master secret. -The TLS PRF can be used by other protocols to derive keys based on -the TLS master secret. The API to use is @funcref{gnutls_prf}. The -function needs to be provided with the label in the parameter -@code{label}, and the extra data to mix in the -@code{extra} parameter. Depending on whether you want to mix in the -client or server random data first, you can set the -@code{server_random_first} parameter. +The API to use is @funcref{gnutls_prf}. The +function needs to be provided with a label, +and additional context data to mix in the @code{extra} parameter. +Moreover, the API allows to switch the mix of the +client and server random nonces, using the @code{server_random_first} parameter. +In typical uses you don't need it, so a zero value should be provided in @code{server_random_first}. For example, after establishing a TLS session using -@funcref{gnutls_handshake}, you can invoke the TLS PRF with this call: +@funcref{gnutls_handshake}, you can obtain 32-bytes to be used as key, using this call: @example -#define MYLABEL "EXPORTER-FOO" -#define MYCONTEXT "some context data" +#define MYLABEL "EXPORTER-My-protocol-name" +#define MYCONTEXT "my-protocol's-1st-session" + char out[32]; -rc = gnutls_prf (session, strlen (MYLABEL), MYLABEL, 0, - strlen (MYCONTEXT), MYCONTEXT, 32, out); +rc = gnutls_prf (session, sizeof(MYLABEL)-1, MYLABEL, 0, + sizeof(MYCONTEXT)-1, MYCONTEXT, 32, out); @end example -If you don't want to mix in the client/server random, there is a -low-level TLS PRF interface called @funcref{gnutls_prf_raw}. +The output key depends on TLS' master secret, and is the same on both client +and server. + +If you don't want to use the RFC5705 interface and not mix in the client and server random +nonces, there is a low-level TLS PRF interface called @funcref{gnutls_prf_raw}. @node Channel Bindings @subsection Channel bindings @@ -1233,13 +1562,8 @@ another priority string is: NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT @end verbatim This priority string will in addition to above, only enable SSL 3.0 and -TLS 1.0 as protocols. Note however that -there are known attacks against those protocol versions, especially over -the CBC-mode ciphersuites. To mitigate them another priority string -that only allows the stream cipher ARCFOUR is below. -@verbatim -NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:-CIPHER-ALL:+ARCFOUR-128:%COMPAT -@end verbatim +TLS 1.0 as protocols. + @node Compatibility with the OpenSSL library @subsection Compatibility with the OpenSSL library @@ -1262,146 +1586,3 @@ imposed by the compatibility layer include: @end itemize -@node Using the cryptographic library -@section Using the cryptographic library - -@acronym{GnuTLS} is not a low-level cryptographic library, i.e., -it does not provide access to basic cryptographic primitives. However -it abstracts the internal cryptographic back-end (see @ref{Cryptographic Backend}), -providing symmetric crypto, hash and HMAC algorithms, as well access -to the random number generation. - -@menu -* Symmetric cryptography:: -* Hash and HMAC functions:: -* Random number generation:: -@end menu - -@node Symmetric cryptography -@subsection Symmetric cryptography -@cindex symmetric cryptography - -The available functions to access symmetric crypto algorithms operations -are shown below. The supported algorithms are the algorithms required by the TLS protocol. -They are listed in @ref{tab:ciphers}. - -@showfuncE{gnutls_cipher_init,gnutls_cipher_encrypt2,gnutls_cipher_decrypt2,gnutls_cipher_set_iv,gnutls_cipher_deinit} - -In order to support authenticated encryption with associated data (AEAD) algorithms the following -functions are provided to set the associated data and retrieve the authentication tag. - -@showfuncB{gnutls_cipher_add_auth,gnutls_cipher_tag} - -@node Hash and HMAC functions -@subsection Hash and HMAC functions -@cindex hash functions -@cindex HMAC functions - -The available operations to access hash functions and hash-MAC (HMAC) algorithms -are shown below. HMAC algorithms provided keyed hash functionality. They supported HMAC algorithms are listed in @ref{tab:macs}. - -@showfuncF{gnutls_hmac_init,gnutls_hmac,gnutls_hmac_output,gnutls_hmac_deinit,gnutls_hmac_get_len,gnutls_hmac_fast} - -The available functions to access hash functions are shown below. The supported hash functions -are the same as the HMAC algorithms. - -@showfuncF{gnutls_hash_init,gnutls_hash,gnutls_hash_output,gnutls_hash_deinit,gnutls_hash_get_len,gnutls_hash_fast} - -@node Random number generation -@subsection Random number generation -@cindex random numbers - -Access to the random number generator is provided using the @funcref{gnutls_rnd} -function. It allows obtaining random data of various levels. - -@showenumdesc{gnutls_rnd_level_t,The random number levels.} -@showfuncdesc{gnutls_rnd} - -@node Selecting cryptographic key sizes -@section Selecting cryptographic key sizes -@cindex key sizes - -Because many algorithms are involved in TLS, it is not easy to set -a consistent security level. For this reason in @ref{tab:key-sizes} we -present some correspondence between key sizes of symmetric algorithms -and public key algorithms based on @xcite{ECRYPT}. -Those can be used to generate certificates with -appropriate key sizes as well as select parameters for Diffie-Hellman and SRP -authentication. - -@float Table,tab:key-sizes -@multitable @columnfractions .10 .12 .10 .20 .32 - -@headitem Security bits @tab RSA, DH and SRP parameter size @tab ECC key size @tab Security parameter @tab Description - -@item 80 -@tab 1248 -@tab 160 -@tab @code{LOW} -@tab Very short term protection against agencies - -@item 96 -@tab 1776 -@tab 192 -@tab @code{LEGACY} -@tab Legacy standard level - -@item 112 -@tab 2432 -@tab 224 -@tab @code{NORMAL} -@tab Medium-term protection - -@item 128 -@tab 3248 -@tab 256 -@tab @code{HIGH} -@tab Long term protection - -@item 256 -@tab 15424 -@tab 512 -@tab @code{ULTRA} -@tab Foreseeable future - -@end multitable -@caption{Key sizes and security parameters.} -@end float - -The first column provides a security parameter in a number of bits. This -gives an indication of the number of combinations to be tried by an adversary -to brute force a key. For example to test all possible keys in a 112 bit security parameter -@math{2^{112}} combinations have to be tried. For today's technology this is infeasible. -The next two columns correlate the security -parameter with actual bit sizes of parameters for DH, RSA, SRP and ECC algorithms. -A mapping to @code{gnutls_sec_param_t} value is given for each security parameter, on -the next column, and finally a brief description of the level. - -@c @showenumdesc{gnutls_sec_param_t,The @code{gnutls_sec_@-param_t} enumeration.} - -Note, however, that the values suggested here are nothing more than an -educated guess that is valid today. There are no guarantees that an -algorithm will remain unbreakable or that these values will remain -constant in time. There could be scientific breakthroughs that cannot -be predicted or total failure of the current public key systems by -quantum computers. On the other hand though the cryptosystems used in -TLS are selected in a conservative way and such catastrophic -breakthroughs or failures are believed to be unlikely. -The NIST publication SP 800-57 @xcite{NISTSP80057} contains a similar -table. - -When using @acronym{GnuTLS} and a decision on bit sizes for a public -key algorithm is required, use of the following functions is -recommended: - -@showfuncdesc{gnutls_sec_param_to_pk_bits} - -@showfuncdesc{gnutls_pk_bits_to_sec_param} - -Those functions will convert a human understandable security parameter -of @code{gnutls_sec_param_t} type, to a number of bits suitable for a public -key algorithm. - -The following functions will set the minimum acceptable group size for Diffie-Hellman -and SRP authentication. -@showfuncB{gnutls_dh_set_prime_bits,gnutls_srp_set_prime_bits} diff --git a/doc/cha-gtls-examples.texi b/doc/cha-gtls-examples.texi index d88e9bc..7615f92 100644 --- a/doc/cha-gtls-examples.texi +++ b/doc/cha-gtls-examples.texi @@ -40,7 +40,7 @@ implemented by another example. @node Simple client example with X.509 certificate support @subsection Simple client example with @acronym{X.509} certificate support -@anchor{ex:verify} +@anchor{ex-verify} Let's assume now that we want to create a TCP client which communicates with servers that use @acronym{X.509} or @@ -110,7 +110,7 @@ certificate selection callback. @node Verifying a certificate @subsection Verifying a certificate -@anchor{ex:verify2} +@anchor{ex-verify2} An example is listed below which uses the high level verification functions to verify a given certificate list. @@ -119,7 +119,7 @@ functions to verify a given certificate list. @node Client using a smart card with TLS @subsection Using a smart card with TLS -@anchor{ex:pkcs11-client} +@anchor{ex-pkcs11-client} @cindex Smart card example This example will demonstrate how to load keys and certificates @@ -131,7 +131,7 @@ use it in a TLS connection. @node Client with Resume capability example @subsection Client with resume capability example -@anchor{ex:resume-client} +@anchor{ex-resume-client} This is a modification of the simple client example. Here we demonstrate the use of session resumption. The client tries to connect @@ -252,6 +252,7 @@ A small tool to generate OCSP requests. * Checking for an alert:: * X.509 certificate parsing example:: * Listing the ciphersuites in a priority string:: +* PKCS12 structure generation example:: @end menu @node Checking for an alert @@ -264,7 +265,7 @@ current session. @node X.509 certificate parsing example @subsection @acronym{X.509} certificate parsing example -@anchor{ex:x509-info} +@anchor{ex-x509-info} To demonstrate the @acronym{X.509} parsing capabilities an example program is listed below. That program reads the peer's certificate, and prints @@ -279,3 +280,12 @@ This is a small program to list the enabled ciphersuites by a priority string. @verbatiminclude examples/print-ciphersuites.c + +@node PKCS12 structure generation example +@subsection PKCS #12 structure generation example + +This small program demonstrates the usage of the PKCS #12 API, by generating +such a structure. + +@verbatiminclude examples/ex-pkcs12.c + diff --git a/doc/cha-internals.texi b/doc/cha-internals.texi index 69ac8fa..6a04ac2 100644 --- a/doc/cha-internals.texi +++ b/doc/cha-internals.texi @@ -17,12 +17,12 @@ happens inside the black box. @node The TLS Protocol @section The TLS Protocol -The main use case for the TLS protocol is shown in @ref{fig:client-server}. +The main use case for the TLS protocol is shown in @ref{fig-client-server}. A user of a library implementing the protocol expects no less than this functionality, i.e., to be able to set parameters such as the accepted security level, perform a negotiation with the peer and be able to exchange data. -@float Figure,fig:client-server +@float Figure,fig-client-server @image{gnutls-client-server-use-case,9cm} @caption{TLS protocol use case.} @end float @@ -31,9 +31,9 @@ negotiation with the peer and be able to exchange data. @section TLS Handshake Protocol The @acronym{GnuTLS} handshake protocol is implemented as a state machine that waits for input or returns immediately when the non-blocking -transport layer functions are used. The main idea is shown in @ref{fig:gnutls-handshake}. +transport layer functions are used. The main idea is shown in @ref{fig-gnutls-handshake}. -@float Figure,fig:gnutls-handshake +@float Figure,fig-gnutls-handshake @image{gnutls-handshake-state,9cm} @caption{GnuTLS handshake state machine.} @end float @@ -43,9 +43,9 @@ implementations of the internal handlers are available and @funcref{gnutls_handshake} only multiplexes the input to the appropriate handler. For example a @acronym{PSK} ciphersuite has a different implementation of the @code{process_client_key_exchange} than a -certificate ciphersuite. We illustrate the idea in @ref{fig:gnutls-handshake-sequence}. +certificate ciphersuite. We illustrate the idea in @ref{fig-gnutls-handshake-sequence}. -@float Figure,fig:gnutls-handshake-sequence +@float Figure,fig-gnutls-handshake-sequence @image{gnutls-handshake-sequence,12cm} @caption{GnuTLS handshake process sequence.} @end float @@ -151,7 +151,7 @@ fi AM_CONDITIONAL(ENABLE_FOOBAR, test "$ac_enable_foobar" != "no") @end example -These lines should go in @code{lib/m4/hooks.m4}. +These lines should go in @code{m4/hooks.m4}. @subsubheading Add IANA extension value to @code{extensions_t} in @code{gnutls_int.h}. @@ -310,7 +310,7 @@ It might be desirable to allow users of the extension to request use of the extension, or set extension specific data. This can be implemented by adding extension specific function calls that can be added to @code{includes/@-gnutls/@-gnutls.h}, -as long as the LGPLv3+ applies. +as long as the LGPLv2.1+ applies. The implementation of the function should lie in the @code{ext/@-foobar.c} file. To make the API available in the shared library you need to add the @@ -421,6 +421,33 @@ typedef enum @} gnutls_supplemental_data_format_type_t; @end example +@subsubheading Heartbeat extension. + +One such extension is HeartBeat protocol (RFC6520: +@url{https://tools.ietf.org/html/rfc6520}) implementation. To enable +it use option --heartbeat with example client and server supplied with +gnutls: + +@example +./doc/credentials/gnutls-http-serv --priority "NORMAL:-CIPHER-ALL:+NULL" -d 100 \ + --heartbeat --echo +./src/gnutls-cli --priority "NORMAL:-CIPHER-ALL:+NULL" -d 100 localhost -p 5556 \ + --insecure --heartbeat +@end example + +After that pasting +@example +**HEARTBEAT** +@end example +command into gnutls-cli will trigger corresponding command on the server and it will send HeartBeat Request with random length to client. + +Another way is to run capabilities check with: + +@example +./doc/credentials/gnutls-http-serv -d 100 --heartbeat +./src/gnutls-cli-debug localhost -p 5556 +@end example + @node Cryptographic Backend @section Cryptographic Backend Today most new processors, either for embedded or desktop systems @@ -430,9 +457,9 @@ those is a challenging task for every cryptographic application or library. Unfortunately the cryptographic library that GnuTLS is based on takes no advantage of these capabilities. For this reason GnuTLS handles this internally by following a layered approach to accessing -cryptographic operations as in @ref{fig:crypto-layers}. +cryptographic operations as in @ref{fig-crypto-layers}. -@float Figure,fig:crypto-layers +@float Figure,fig-crypto-layers @image{gnutls-crypto-layers,12cm} @caption{GnuTLS cryptographic back-end design.} @end float @@ -517,7 +544,7 @@ To override the big number number operations back-end. @item @code{gnutls_crypto_pk_register}: To override the public key encryption back-end. This is tied to the -big number operations so either none or both of them should be overriden. +big number operations so either none or both of them should be overridden. @end itemize diff --git a/doc/cha-intro-tls.texi b/doc/cha-intro-tls.texi index ca2a81c..6075020 100644 --- a/doc/cha-intro-tls.texi +++ b/doc/cha-intro-tls.texi @@ -48,9 +48,9 @@ alert protocol is above the record protocol. The handshake protocol is responsible for the security parameters' negotiation, the initial key exchange and authentication. @xref{The Handshake Protocol}, for more information about the handshake -protocol. The protocol layering in TLS is shown in @ref{fig:tls-layers}. +protocol. The protocol layering in TLS is shown in @ref{fig-tls-layers}. -@float Figure,fig:tls-layers +@float Figure,fig-tls-layers @image{gnutls-layers,12cm} @caption{The TLS protocol layers.} @end float @@ -124,10 +124,6 @@ encryption (EDE). Has 64 bits block size and is used in CBC mode. ARCFOUR_128 is a compatible algorithm with RSA's RC4 algorithm, which is considered to be a trade secret. It is a fast cipher but considered weak today. -@item ARCFOUR_@-40 @tab -This is the ARCFOUR cipher fed with a 40 bit key, -which is considered weak. - @item AES_@-CBC @tab AES or RIJNDAEL is the block cipher algorithm that replaces the old DES algorithm. Has 128 bits block size and is used in CBC mode. @@ -142,6 +138,15 @@ This is an 128-bit block cipher developed by Mitsubishi and NTT. It is one of the approved ciphers of the European NESSIE and Japanese CRYPTREC projects. +@item SALSA20_@-256 @tab +SALSA20_256 is a fast stream cipher. This is currently a GnuTLS +extension. + +@item ESTREAM_@-SALSA20_@-256 @tab +ESTREAM_@-SALSA20_@-256 is a faster variant of SALSA20, and is one of the +selected ciphers of the ESTREAM competition. This is currently a GnuTLS +extension. + @end multitable @caption{Supported ciphers.} @end float @@ -161,6 +166,10 @@ designed by NSA. Outputs 160 bits of data. @item MAC_@-SHA256 @tab An HMAC based on SHA256. Outputs 256 bits of data. +@item MAC_@-UMAC @tab +This is a very fast MAC algorithm based on universal hashing, described in +@xcite{RFC4418}. This is currently a GnuTLS extension. + @item MAC_@-AEAD @tab This indicates that an authenticated encryption algorithm, such as GCM, is in use. @@ -191,7 +200,9 @@ on @xcite{RFC3749}. The supported algorithms are shown below. Note that compression enables attacks such as traffic analysis, or even plaintext recovery under certain circumstances. To avoid some of these attacks GnuTLS allows each record to be compressed independently (i.e., -stateless compression), by using the "%STATELESS_COMPRESSION" priority string. +stateless compression), by using the "%STATELESS_COMPRESSION" priority string, +in order to be used in cases where the attacker controlled data are +pt in separate records. @node Weaknesses and countermeasures @subsection Weaknesses and countermeasures @@ -228,10 +239,16 @@ Working Group mailing list and @xcite{CBCATT}. @cindex record padding @cindex bad_record_mac -The TLS protocol allows for random padding of records in CBC ciphers, to prevent +The TLS protocol allows for extra padding of records in CBC ciphers, to prevent statistical analysis based on the length of exchanged messages (see @xcite{RFC5246} section 6.2.3.2). -GnuTLS appears to be one of few implementation that take advantage of this text, -and pad records by a random length. +GnuTLS appears to be one of few implementations that take advantage of this feature: +the user can provide some plaintext data with a range of lengths she wishes to hide, +and GnuTLS adds extra padding to make sure the attacker cannot tell the real plaintext +length is in a range smaller than the user-provided one. +Use @funcref{gnutls_record_send_range} to send length-hidden messages and +@funcref{gnutls_record_can_use_length_hiding} to check whether the current +session supports length hiding. Using the standard @funcref{gnutls_record_send} +will only add minimal padding. The TLS implementation in the Symbian operating system, frequently used by Nokia and Sony-Ericsson mobile phones, cannot handle @@ -242,12 +259,10 @@ the correct MAC for the record. The client sends a TLS alert in error messages such as 'A TLS fatal alert has been received', 'Bad record MAC', or both, on the GnuTLS server side. -GnuTLS implements a work around for this problem. However, it has to -be enabled specifically. It can be enabled by using -@funcref{gnutls_record_disable_padding}, or @funcref{gnutls_priority_set} with -the @code{%COMPAT} priority string (see @ref{Priority Strings}). +If compatibility with such devices is a concern, not sending length-hidden messages +solves the problem by using minimal padding. -If you implement an application that have a configuration file, we +If you implement an application that has a configuration file, we recommend that you make it possible for users or administrators to specify a GnuTLS protocol priority string, which is used by your application via @funcref{gnutls_priority_set}. To allow the best @@ -369,7 +384,7 @@ established keys, meaning the server needs to store the state of established connections (unless session tickets are used -- @ref{Session tickets}). Session resumption is an integral part of @acronym{GnuTLS}, and -@ref{Session resumption} and @ref{ex:resume-client} illustrate typical +@ref{Session resumption}, @ref{ex-resume-client} illustrate typical uses of it. @node TLS Extensions @@ -378,22 +393,17 @@ uses of it. A number of extensions to the @acronym{TLS} protocol have been proposed mainly in @xcite{TLSEXT}. The extensions supported -in @acronym{GnuTLS} are: - -@itemize -@item Maximum fragment length negotiation -@item Server name indication -@item Session tickets -@item Safe Renegotiation -@end itemize - -and they will be discussed in the subsections that follow. +in @acronym{GnuTLS} are discussed in the subsections that follow. @menu * Maximum fragment length negotiation:: * Server name indication:: * Session tickets:: +* HeartBeat:: * Safe renegotiation:: +* OCSP status request:: +* SRTP:: +* Application Layer Protocol Negotiation (ALPN):: @end menu @node Maximum fragment length negotiation @@ -434,12 +444,31 @@ client. @cindex session tickets @cindex tickets -To resume a TLS session the server normally store session parameters. This -complicates deployment, and could be avoiding by delegating the storage +To resume a TLS session, the server normally stores session parameters. This +complicates deployment, and can be avoided by delegating the storage to the client. Because session parameters are sensitive they are encrypted and authenticated with a key only known to the server and then sent to the -client. The Session Tickets in RFC 5077 @xcite{TLSTKT}, describe this -idea, which is implemented in GnuTLS. +client. The Session Tickets extension is described in RFC 5077 @xcite{TLSTKT}. + +Since version 3.1.3 GnuTLS clients transparently support session tickets. + +@node HeartBeat +@subsection HeartBeat +@cindex TLS extensions +@cindex heartbeat + +This is a TLS extension that allows to ping and receive confirmation from the peer, +and is described in @xcite{RFC6520}. The extension is disabled by default and +@funcref{gnutls_heartbeat_enable} can be used to enable it. A policy +may be negotiated to only allow sending heartbeat messages or sending and receiving. +The current session policy can be checked with @funcref{gnutls_heartbeat_allowed}. +The requests coming from the peer result to @code{GNUTLS_@-E_@-HERTBEAT_@-PING_@-RECEIVED} +being returned from the receive function. Ping requests to peer can be send via +@funcref{gnutls_heartbeat_ping}. + +@showfuncB{gnutls_heartbeat_allowed,gnutls_heartbeat_enable} + +@showfuncD{gnutls_heartbeat_ping,gnutls_heartbeat_pong,gnutls_heartbeat_set_timeouts,gnutls_heartbeat_get_timeout} @node Safe renegotiation @subsection Safe renegotiation @@ -458,7 +487,7 @@ For example one server could forward all renegotiation traffic to an other server who will see this traffic as an initial negotiation attempt. This might be seen as a valid design decision, but it seems it was -not widely known or understood, thus today some application protocols the TLS +not widely known or understood, thus today some application protocols use the TLS renegotiation feature in a manner that enables a malicious server to insert content of his choice in the beginning of a TLS session. @@ -540,6 +569,78 @@ renegotiation. The @funcref{gnutls_safe_renegotiation_status} function is used to check if the extension has been negotiated on a session, and can be used both by clients and servers. +@node OCSP status request +@subsection OCSP status request +@cindex OCSP status request +@cindex Certificate status request + +The Online Certificate Status Protocol (OCSP) is a protocol that allows the +client to verify the server certificate for revocation without messing with +certificate revocation lists. Its drawback is that it requires the client +to connect to the server's CA OCSP server and request the status of the +certificate. This extension however, enables a TLS server to include +its CA OCSP server response in the handshake. That is an HTTPS server +may periodically run @code{ocsptool} (see @ref{ocsptool Invocation}) to obtain +its certificate revocation status and serve it to the clients. That +way a client avoids an additional connection to the OCSP server. + +@showfuncD{gnutls_certificate_set_ocsp_status_request_function,gnutls_certificate_set_ocsp_status_request_file,gnutls_ocsp_status_request_enable_client,gnutls_ocsp_status_request_is_checked} + +A server is required to provide the OCSP server's response using the @funcref{gnutls_certificate_set_ocsp_status_request_file}. +The response may be obtained periodically using the following command. + +@example +ocsptool --ask --load-cert server_cert.pem --load-issuer the_issuer.pem + --load-signer the_issuer.pem --outfile ocsp.response +@end example + +Since version 3.1.3 GnuTLS clients transparently support the certificate status +request. + +@node SRTP +@subsection SRTP +@cindex SRTP +@cindex Secure RTP + +The TLS protocol was extended in @xcite{RFC5764} to provide keying material to the +Secure RTP (SRTP) protocol. The SRTP protocol provides an encapsulation of encrypted +data that is optimized for voice data. With the SRTP TLS extension two peers can +negotiate keys using TLS or DTLS and obtain keying material for use with SRTP. The +available SRTP profiles are listed below. + +@showenumdesc{gnutls_srtp_profile_t,Supported SRTP profiles} + +To enable use the following functions. + +@showfuncB{gnutls_srtp_set_profile,gnutls_srtp_set_profile_direct} + +To obtain the negotiated keys use the function below. + +@showfuncdesc{gnutls_srtp_get_keys} + +Other helper functions are listed below. + +@showfuncC{gnutls_srtp_get_selected_profile,gnutls_srtp_get_profile_name,gnutls_srtp_get_profile_id} + +@node Application Layer Protocol Negotiation (ALPN) +@subsection Application Layer Protocol Negotiation (ALPN) +@cindex ALPN +@cindex Application Layer Protocol Negotiation + +The TLS protocol was extended in @code{draft-ietf-tls-applayerprotoneg-00} +to provide the application layer a method of +negotiating the application protocol version. This allows for negotiation +of the application protocol during the TLS handshake, thus reducing +round-trips. The application protocol is described by an opaque +string. To enable, use the following functions. + +@showfuncB{gnutls_alpn_set_protocols,gnutls_alpn_get_selected_protocol} + +Note that these functions are intended to be used with protocols that are +registered in the Application Layer Protocol Negotiation IANA registry. While +you can use them for other protocols (at the risk of collisions), it is preferable +to register them. + @include sec-tls-app.texi @node On SSL 2 and older protocols diff --git a/doc/cha-library.texi b/doc/cha-library.texi index d42fe3f..cb65d68 100644 --- a/doc/cha-library.texi +++ b/doc/cha-library.texi @@ -17,7 +17,7 @@ include: @item Support for TLS 1.2, TLS 1.1, TLS 1.0 and SSL 3.0 protocols. -@item Support for Datagram TLS 1.0. +@item Support for Datagram TLS 1.0 and 1.2. @item Support for handling and verification of @acronym{X.509} and @acronym{OpenPGP} certificates. @@ -25,7 +25,7 @@ include: @item Support for keyed authentication using @acronym{TLS-PSK}. -@item Support for @acronym{PKCS} #11 tokens and smart-cards. +@item Support for TPM, @acronym{PKCS} #11 tokens and smart-cards. @end itemize @@ -36,9 +36,9 @@ implementation, and is entirely implemented within the @acronym{GnuTLS} library. The ``Certificate part'' consists of the certificate parsing, and verification functions and it uses functionality from the -libtasn1@footnote{@url{http://www.gnu.org/software/libtasn1/}} library. -The ``Cryptographic back-end'' is provided by the nettle@footnote{@url{http://www.lysator.liu.se/~nisse/nettle/}} -library. +libtasn1 library. +The ``Cryptographic back-end'' is provided by the nettle +and gmplib libraries. @menu * Downloading and installing:: @@ -59,9 +59,10 @@ development release. For example, GnuTLS 1.6.3 denote a stable release since 6 is even, and GnuTLS 1.7.11 denote a development release since 7 is odd. -GnuTLS depends on Libnettle, and you will need to install it -before installing GnuTLS. Libnettle is available from -@url{http://www.lysator.liu.se/~nisse/nettle/}. +GnuTLS depends on @code{nettle} and @code{gmplib}, and you will need to install it +before installing GnuTLS. The @code{nettle} library is available from +@url{http://www.lysator.liu.se/~nisse/nettle/}, while @code{gmplib} is available +from @url{http://www.gmplib.org/}. Don't forget to verify the cryptographic signature after downloading source code packages. @@ -72,30 +73,41 @@ distribution archive. Typically you invoke @code{./configure} and then @code{make check install}. There are a number of compile-time parameters, as discussed below. -The compression library, libz, as well as p11-kit are a optional dependencies. -You can get libz from @url{http://www.zlib.net/} and p11-kit from @url{http://p11-glue.freedesktop.org/}. - -The X.509 part of GnuTLS needs ASN.1 functionality, from a library -called libtasn1. A copy of libtasn1 is included in GnuTLS. If you +Several parts of GnuTLS require ASN.1 functionality, which is provided by +a library called libtasn1. A copy of libtasn1 is included in GnuTLS. If you want to install it separately (e.g., to make it possibly to use libtasn1 in other programs), you can get it from -@url{http://www.gnu.org/software/gnutls/download.html}. +@url{http://www.gnu.org/software/libtasn1/}. + +The compression library, @code{libz}, the PKCS #11 helper library @code{p11-kit}, as well +as the TPM library @code{trousers}, are +optional dependencies. You may get libz from @url{http://www.zlib.net/}, +p11-kit from @url{http://p11-glue.freedesktop.org/} and trousers from +@url{http://trousers.sourceforge.net/}. A few @code{configure} options may be relevant, summarized below. They disable or enable particular features, to create a smaller library with only the required features. Note however, that although a smaller library is generated, the -included programs are not guarranteed to compile if some of these +included programs are not guaranteed to compile if some of these options are given. @verbatim --disable-srp-authentication --disable-psk-authentication --disable-anon-authentication ---disable-extra-pki --disable-openpgp-authentication +--disable-dhe +--disable-ecdhe --disable-openssl-compatibility +--disable-dtls-srtp-support +--disable-alpn-support +--disable-heartbeat-support +--disable-libdane --without-p11-kit +--without-tpm +--without-zlib + @end verbatim For the complete list, refer to the output from @code{configure --help}. diff --git a/doc/cha-preface.texi b/doc/cha-preface.texi index 3a0419b..a11b346 100644 --- a/doc/cha-preface.texi +++ b/doc/cha-preface.texi @@ -23,6 +23,4 @@ in @xcite{STEVENS}, to public key infrastructure in @xcite{GUTPKI} and to security engineering in @xcite{ANDERSON}. Updated versions of the @acronym{GnuTLS} software and this document -will be available from @url{http://www.gnutls.org/} and -@url{http://www.gnu.org/software/gnutls/}. - +will be available from @url{http://www.gnutls.org/}. diff --git a/doc/cha-shared-key.texi b/doc/cha-shared-key.texi index 1d3186a..bf7e3ef 100644 --- a/doc/cha-shared-key.texi +++ b/doc/cha-shared-key.texi @@ -1,5 +1,5 @@ @node Shared-key and anonymous authentication -@chapter Shared-key and anonymous authentication +@section Shared-key and anonymous authentication In addition to certificate authentication, the TLS protocol may be used with password, shared-key and anonymous authentication methods. @@ -12,7 +12,7 @@ The rest of this chapter discusses details of these methods. @end menu @node SRP authentication -@section SRP authentication +@subsection SRP authentication @menu * Authentication using SRP:: @@ -20,7 +20,7 @@ The rest of this chapter discusses details of these methods. @end menu @node Authentication using SRP -@subsection Authentication using @acronym{SRP} +@subsubsection Authentication using @acronym{SRP} @cindex SRP authentication @acronym{GnuTLS} supports authentication via the Secure Remote Password @@ -73,12 +73,12 @@ authenticated using a certificate with RSA parameters. @showfuncdesc{gnutls_srp_verifier} -@showfuncB{gnutls_srp_base64_encode,gnutls_srp_base64_decode} +@showfuncB{gnutls_srp_base64_encode_alloc,gnutls_srp_base64_decode_alloc} @include invoke-srptool.texi @node PSK authentication -@section PSK authentication +@subsection PSK authentication @menu * Authentication using PSK:: @@ -86,7 +86,7 @@ authenticated using a certificate with RSA parameters. @end menu @node Authentication using PSK -@subsection Authentication using @acronym{PSK} +@subsubsection Authentication using @acronym{PSK} @cindex PSK authentication Authentication using Pre-shared keys is a method to authenticate using @@ -110,6 +110,10 @@ exchange. This method offers perfect forward secrecy. Authentication using the @acronym{PSK} protocol and Elliptic curve Diffie-Hellman key exchange. This method offers perfect forward secrecy. +@item RSA-PSK: +Authentication using the @acronym{PSK} protocol for the client and an RSA certificate +for the server. + @end table @@ -121,18 +125,24 @@ in @acronym{GnuTLS}. @include invoke-psktool.texi @node Anonymous authentication -@section Anonymous authentication +@subsection Anonymous authentication @cindex anonymous authentication The anonymous key exchange offers encryption without any indication of the peer's identity. This kind of authentication is vulnerable to a man in the middle attack, but can be used even if there is no prior communication or shared trusted parties -with the peer. Moreover it is useful when complete anonymity is required. -Unless in one of the above cases, do not use anonymous authentication. +with the peer. It is useful to establish a session over which certificate +authentication will occur in order to hide the indentities of the participants +from passive eavesdroppers. + +Unless in the above case, it is not recommended to use anonymous authentication. +In the cases where there is no prior communication with the peers, +an alternative with better properties, such as key continuity, is trust on first use +(see @ref{Verifying a certificate using trust on first use authentication}). The available key exchange algorithms for anonymous authentication are -shown below, but note that few public servers support them. They typically +shown below, but note that few public servers support them, and they have to be explicitly enabled. @table @code diff --git a/doc/cha-support.texi b/doc/cha-support.texi index dfb501a..4ff30c5 100644 --- a/doc/cha-support.texi +++ b/doc/cha-support.texi @@ -6,20 +6,21 @@ * Commercial Support:: * Bug Reports:: * Contributing:: +* Certification:: @end menu @node Getting help @section Getting Help A mailing list where users may help each other exists, and you can -reach it by sending e-mail to @email{help-gnutls@@gnu.org}. Archives +reach it by sending e-mail to @email{gnutls-help@@gnutls.org}. Archives of the mailing list discussions, and an interface to manage subscriptions, is available through the World Wide Web at -@url{http://lists.gnu.org/mailman/listinfo/help-gnutls}. +@url{http://lists.gnutls.org/pipermail/gnutls-help/}. A mailing list for developers are also available, see -@url{http://www.gnu.org/software/gnutls/lists.html}. -Bug reports should be sent to @email{bug-gnutls@@gnu.org}, see +@url{http://www.gnutls.org/lists.html}. +Bug reports should be sent to @email{bugs@@gnutls.org}, see @ref{Bug Reports}. @node Commercial Support @@ -97,7 +98,7 @@ note. Send your bug report to: -@center @samp{bug-gnutls@@gnu.org} +@center @samp{bugs@@gnutls.org} @node Contributing @section Contributing @@ -155,3 +156,17 @@ formatted, are extracted into Texinfo manuals and GTK-DOC web pages. @end itemize +@node Certification +@section Certification +@cindex certification + +Many cryptographic libraries claim certifications from national or international bodies. These certifications are tied on a specific (and often restricted) version of the library or a +specific product using the library, and typically in the case of software they assure that the algorithms implemented are correct. The major certifications known are: +@itemize +@item USA's FIPS 140-2 at Level 1 which certifies that approved algorithms are used (see @url{http://en.wikipedia.org/wiki/FIPS_140-2}); +@item Common Criteria for Information Technology Security Evaluation (CC), an international standard for verification of elaborate security claims (see @url{http://en.wikipedia.org/wiki/Common_Criteria}). +@end itemize + +Obtaining such a certification is an expensive and elaborate job that has no immediate value for a continuously developed free software library (as the certification is tied to the +particular version tested), and in the case of algorithm verification of FIPS 140-2 it doesn't make much sense as the library is freely available and anyone can verify the correctness +of algorithm implementation. As such we are not actively pursuing this kind of certification. If you are, nevertheless, interested, see @ref{Commercial Support}. diff --git a/doc/cha-tokens.texi b/doc/cha-tokens.texi new file mode 100644 index 0000000..8898d44 --- /dev/null +++ b/doc/cha-tokens.texi @@ -0,0 +1,469 @@ +@node Hardware security modules and abstract key types +@chapter Hardware security modules and abstract key types + +In several cases storing the long term cryptographic keys in a hard disk or +even in memory poses a significant risk. Once the system they are stored +is compromised the keys must be replaced as the secrecy of future sessions +is no longer guarranteed. Moreover, past sessions that were not protected by a +perfect forward secrecy offering ciphersuite are also to be assumed compromised. + +If such threats need to be addressed, then it may be wise storing the keys in a security +module such as a smart card, an HSM or the TPM chip. Those modules ensure the +protection of the cryptographic keys by only allowing operations on them and +preventing their extraction. + +@menu +* Abstract key types:: +* Smart cards and HSMs:: +* Trusted Platform Module:: +@end menu + +@node Abstract key types +@section Abstract key types +@cindex abstract types + +Since there are many forms of a public or private keys supported by @acronym{GnuTLS} such as +@acronym{X.509}, @acronym{OpenPGP}, @acronym{PKCS} #11 or TPM it is desirable to allow common operations +on them. For these reasons the abstract @code{gnutls_privkey_t} and @code{gnutls_pubkey_t} were +introduced in @code{gnutls/@-abstract.h} header. Those types are initialized using a specific type of +key and then can be used to perform operations in an abstract way. For example in order +to sign an X.509 certificate with a key that resides in a token the following steps must be +used. + +@example +#inlude + +void sign_cert( gnutls_x509_crt_t to_be_signed) +@{ +gnutls_x509_crt_t ca_cert; +gnutls_privkey_t abs_key; + + /* initialize the abstract key */ + gnutls_privkey_init(&abs_key); + + /* keys stored in tokens are identified by URLs */ + gnutls_privkey_import_url(abs_key, key_url); + + gnutls_x509_crt_init(&ca_cert); + gnutls_x509_crt_import_pkcs11_url(&ca_cert, cert_url); + + /* sign the certificate to be signed */ + gnutls_x509_crt_privkey_sign(to_be_signed, ca_cert, abs_key, + GNUTLS_DIG_SHA256, 0); +@} +@end example + +@menu +* Abstract public keys:: +* Abstract private keys:: +* Operations:: +@end menu + +@node Abstract public keys +@subsection Public keys +An abstract @code{gnutls_pubkey_t} can be initialized +using the functions below. It can be imported through +an existing structure like @code{gnutls_x509_crt_t}, +or through an ASN.1 encoding of the X.509 @code{SubjectPublicKeyInfo} +sequence. + +@showfuncC{gnutls_pubkey_import_x509,gnutls_pubkey_import_openpgp,gnutls_pubkey_import_pkcs11} + +@showfuncD{gnutls_pubkey_import_url,gnutls_pubkey_import_privkey,gnutls_pubkey_import,gnutls_pubkey_export} + +@showfuncdesc{gnutls_pubkey_export2} + +Other helper functions that allow directly importing from raw X.509 or +OpenPGP structures are shown below. + +@showfuncB{gnutls_pubkey_import_x509_raw,gnutls_pubkey_import_openpgp_raw} + +An important function is @funcref{gnutls_pubkey_import_url} which will import +public keys from URLs that identify objects stored in tokens (see @ref{Smart cards and HSMs} and @ref{Trusted Platform Module}). +A function to check for a supported by GnuTLS URL is @funcref{gnutls_url_is_supported}. + +@showfuncdesc{gnutls_url_is_supported} + +Additional functions are available that will return +information over a public key, such as a unique key ID, as well as a function +that given a public key fingerprint would provide a memorable sketch. + +Note that @funcref{gnutls_pubkey_get_key_id} calculates a SHA1 digest of the +public key as a DER-formatted, subjectPublicKeyInfo object. Other implementations +use different approaches, e.g., some use the ``common method'' described in +section 4.2.1.2 of @xcite{RFC5280} which calculates a digest on a part of the +subjectPublicKeyInfo object. + +@showfuncD{gnutls_pubkey_get_pk_algorithm,gnutls_pubkey_get_preferred_hash_algorithm,gnutls_pubkey_get_key_id,gnutls_random_art} + +To export the key-specific parameters, or obtain a unique key ID the following functions are provided. + +@showfuncD{gnutls_pubkey_export_rsa_raw,gnutls_pubkey_export_dsa_raw,gnutls_pubkey_export_ecc_raw,gnutls_pubkey_export_ecc_x962} + +@node Abstract private keys +@subsection Private keys +An abstract @code{gnutls_privkey_t} can be initialized +using the functions below. It can be imported through +an existing structure like @code{gnutls_x509_privkey_t}, +but unlike public keys it cannot be exported. That is +to allow abstraction over keys stored in hardware that +makes available only operations. + +@showfuncC{gnutls_privkey_import_x509,gnutls_privkey_import_openpgp,gnutls_privkey_import_pkcs11} + +Other helper functions that allow directly importing from raw X.509 or +OpenPGP structures are shown below. Again, as with public keys, private keys +can be imported from a hardware module using URLs. + +@showfuncB{gnutls_privkey_import_x509_raw,gnutls_privkey_import_openpgp_raw} + +@showfuncdesc{gnutls_privkey_import_url} + +@showfuncC{gnutls_privkey_get_pk_algorithm,gnutls_privkey_get_type,gnutls_privkey_status} + +In order to support cryptographic operations using +an external API, the following function is provided. +This allows for a simple extensibility API without +resorting to @acronym{PKCS} #11. + +@showfuncdesc{gnutls_privkey_import_ext2} + +@node Operations +@subsection Operations +The abstract key types can be used to access signing and +signature verification operations with the underlying keys. + +@showfuncdesc{gnutls_pubkey_verify_data2} +@showfuncdesc{gnutls_pubkey_verify_hash2} +@showfuncdesc{gnutls_pubkey_encrypt_data} + +@showfuncdesc{gnutls_privkey_sign_data} +@showfuncdesc{gnutls_privkey_sign_hash} +@showfuncdesc{gnutls_privkey_decrypt_data} + +Signing existing structures, such as certificates, CRLs, +or certificate requests, as well as associating public +keys with structures is also possible using the +key abstractions. + +@showfuncdesc{gnutls_x509_crq_set_pubkey} +@showfuncdesc{gnutls_x509_crt_set_pubkey} +@showfuncC{gnutls_x509_crt_privkey_sign,gnutls_x509_crl_privkey_sign,gnutls_x509_crq_privkey_sign} + +@node Smart cards and HSMs +@section Smart cards and HSMs +@cindex PKCS #11 tokens +@cindex hardware tokens +@cindex hardware security modules +@cindex smart cards + +In this section we present the smart-card and hardware security module (HSM) support +in @acronym{GnuTLS} using @acronym{PKCS} #11 @xcite{PKCS11}. Hardware security +modules and smart cards provide a way to store private keys and perform +operations on them without exposing them. This decouples cryptographic +keys from the applications that use them and provide an additional +security layer against cryptographic key extraction. +Since this can also be achieved in software components such as in Gnome keyring, +we will use the term security module to describe any cryptographic key +separation subsystem. + +@acronym{PKCS} #11 is plugin API allowing applications to access cryptographic +operations on a security module, as well as to objects residing on it. PKCS +#11 modules exist for hardware tokens such as smart cards@footnote{@url{http://www.opensc-project.org}}, +cryptographic tokens, as well as for software modules like @acronym{Gnome Keyring}. +The objects residing on a security module may be certificates, public keys, +private keys or secret keys. Of those certificates and public/private key +pairs can be used with @acronym{GnuTLS}. PKCS #11's main advantage is that +it allows operations on private key objects such as decryption +and signing without exposing the key. In GnuTLS the PKCS #11 functionality is +available in @code{gnutls/pkcs11.h}. + +Moreover @acronym{PKCS} #11 can be (ab)used to allow all applications in the same operating system to access +shared cryptographic keys and certificates in a uniform way, as in @ref{fig-pkcs11-vision}. +That way applications could load their trusted certificate list, as well as user +certificates from a common PKCS #11 module. Such a provider exists in the @acronym{Gnome} +system, being the @acronym{Gnome Keyring}. + +@float Figure,fig-pkcs11-vision +@image{pkcs11-vision,9cm} +@caption{PKCS #11 module usage.} +@end float + +@menu +* PKCS11 Initialization:: +* Accessing objects that require a PIN:: +* Reading objects:: +* Writing objects:: +* Using a PKCS11 token with TLS:: +* p11tool Invocation:: Invoking p11tool +@end menu + +@node PKCS11 Initialization +@subsection Initialization +To allow all @acronym{GnuTLS} applications to transparently access smard cards +and tokens, @acronym{PKCS} #11 is automatically initialized during the global +initialization (see @funcref{gnutls_global_init}). The initialization function, to select +which modules to load reads certain module configuration files. +Those are stored in @code{/etc/pkcs11/modules/} and +are the configuration files of @acronym{p11-kit}@footnote{@url{http://p11-glue.freedesktop.org/}}. +For example a file that will load the @acronym{OpenSC} module, could be named +@code{/etc/pkcs11/modules/opensc.module} and contain the following: + +@example +module: /usr/lib/opensc-pkcs11.so +@end example + +If you use these configuration files, then there is no need for other initialization in +@acronym{GnuTLS}, except for the PIN and token functions (see next section). +In several cases, however, it is desirable to limit badly behaving modules +(e.g., modules that add an unacceptable delay on initialization) +to single applications. That can be done using the ``enable-in:'' option +followed by the base name of applications that this module should be used. + +In all cases, you can also manually initialize the PKCS #11 subsystem if the +default settings are not desirable. To completely disable PKCS #11 support you +need to call @funcref{gnutls_pkcs11_init} with the flag @code{GNUTLS_PKCS11_FLAG_MANUAL} +prior to @funcref{gnutls_global_init}. + +@showfuncdesc{gnutls_pkcs11_init} + +Note that PKCS #11 modules must be reinitialized on the child processes +after a @funcintref{fork}. In older versions of @acronym{GnuTLS} it was +required to call @funcref{gnutls_pkcs11_reinit}; since 3.3.0 this is no +longer required, as reinitialization occurs automatically. + +@node Accessing objects that require a PIN +@subsection Accessing objects that require a PIN + +Objects stored in token such as a private keys are typically protected +from access by a PIN or password. This PIN may be required to either read +the object (if allowed) or to perform operations with it. To allow obtaining +the PIN when accessing a protected object, as well as probe +the user to insert the token the following functions allow to set a callback. + +@showfuncD{gnutls_pkcs11_set_token_function,gnutls_pkcs11_set_pin_function,gnutls_pkcs11_add_provider,gnutls_pkcs11_get_pin_function} + +The callback is of type @funcintref{gnutls_pin_callback_t} and will have as +input the provided userdata, the PIN attempt number, a URL describing the +token, a label describing the object and flags. The PIN must be at most +of @code{pin_max} size and must be copied to pin variable. The function must +return 0 on success or a negative error code otherwise. + +@verbatim +typedef int (*gnutls_pin_callback_t) (void *userdata, int attempt, + const char *token_url, + const char *token_label, + unsigned int flags, + char *pin, size_t pin_max); +@end verbatim + +The flags are of @code{gnutls_pin_flag_t} type and are explained below. + +@showenumdesc{gnutls_pin_flag_t,The @code{gnutls_pin_@-flag_t} enumeration.} + +Note that due to limitations of @acronym{PKCS} #11 there are issues when multiple libraries +are sharing a module. To avoid this problem GnuTLS uses @acronym{p11-kit} +that provides a middleware to control access to resources over the +multiple users. + +To avoid conflicts with multiple registered callbacks for PIN functions, +@funcref{gnutls_pkcs11_get_pin_function} may be used to check for any previously +set functions. In addition context specific PIN functions are allowed, e.g., by +using functions below. + +@showfuncE{gnutls_certificate_set_pin_function,gnutls_pubkey_set_pin_function,gnutls_privkey_set_pin_function,gnutls_pkcs11_obj_set_pin_function,gnutls_x509_crt_set_pin_function} + +@node Reading objects +@subsection Reading objects + +All @acronym{PKCS} #11 objects are referenced by @acronym{GnuTLS} functions by +URLs as described in @xcite{PKCS11URI}. +This allows for a consistent naming of objects across systems and applications +in the same system. For example a public +key on a smart card may be referenced as: + +@example +pkcs11:token=Nikos;serial=307521161601031;model=PKCS%2315; \ +manufacturer=EnterSafe;object=test1;objecttype=public;\ +id=32f153f3e37990b08624141077ca5dec2d15faed +@end example + +while the smart card itself can be referenced as: +@example +pkcs11:token=Nikos;serial=307521161601031;model=PKCS%2315;manufacturer=EnterSafe +@end example + +Objects stored in a @acronym{PKCS} #11 token can be extracted +if they are not marked as sensitive. Usually only private keys are marked as +sensitive and cannot be extracted, while certificates and other data can +be retrieved. The functions that can be used to access objects +are shown below. + +@showfuncB{gnutls_pkcs11_obj_import_url,gnutls_pkcs11_obj_export_url} + +@showfuncdesc{gnutls_pkcs11_obj_get_info} + +@showfuncC{gnutls_x509_crt_import_pkcs11,gnutls_x509_crt_import_pkcs11_url,gnutls_x509_crt_list_import_pkcs11} + +Properties of the physical token can also be accessed and altered with @acronym{GnuTLS}. +For example data in a token can be erased (initialized), PIN can be altered, etc. + +@showfuncE{gnutls_pkcs11_token_init,gnutls_pkcs11_token_get_url,gnutls_pkcs11_token_get_info,gnutls_pkcs11_token_get_flags,gnutls_pkcs11_token_set_pin} + +The following examples demonstrate the usage of the API. The first example +will list all available PKCS #11 tokens in a system and the latter will +list all certificates in a token that have a corresponding private key. + +@example +int i; +char* url; + +gnutls_global_init(); + +for (i=0;;i++) + @{ + ret = gnutls_pkcs11_token_get_url(i, &url); + if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; + + if (ret < 0) + exit(1); + + fprintf(stdout, "Token[%d]: URL: %s\n", i, url); + gnutls_free(url); + @} +gnutls_global_deinit(); +@end example + +@verbatiminclude examples/ex-pkcs11-list.c + +@node Writing objects +@subsection Writing objects + +With @acronym{GnuTLS} you can copy existing private keys and certificates +to a token. Note that when copying private keys it is recommended to mark +them as sensitive using the @code{GNUTLS_@-PKCS11_OBJ_@-FLAG_@-MARK_@-SENSITIVE} +to prevent its extraction. An object can be marked as private using the flag +@code{GNUTLS_@-PKCS11_OBJ_@-FLAG_@-MARK_@-PRIVATE}, to require PIN to be +entered before accessing the object (for operations or otherwise). + +@showfuncdesc{gnutls_pkcs11_copy_x509_privkey} + +@showfuncdesc{gnutls_pkcs11_copy_x509_crt} +@showfuncdesc{gnutls_pkcs11_delete_url} + + +@node Using a PKCS11 token with TLS +@subsection Using a @acronym{PKCS} #11 token with TLS + +It is possible to use a @acronym{PKCS} #11 token to a TLS +session, as shown in @ref{ex-pkcs11-client}. In addition +the following functions can be used to load PKCS #11 key and +certificates by specifying a PKCS #11 URL instead of a filename. + +@showfuncB{gnutls_certificate_set_x509_trust_file,gnutls_certificate_set_x509_key_file2} +@showfuncdesc{gnutls_certificate_set_x509_system_trust} + +@include invoke-p11tool.texi + +@node Trusted Platform Module +@section Trusted Platform Module (TPM) +@cindex trusted platform module +@cindex TPM + +In this section we present the Trusted Platform Module (TPM) support +in @acronym{GnuTLS}. + +There was a big hype when the TPM chip was introduced into +computers. Briefly it is a co-processor in your PC that allows it to perform +calculations independently of the main processor. This has good and bad +side-effects. In this section we focus on the good ones; these are the fact that +you can use the TPM chip to perform cryptographic operations on keys stored in it, without +accessing them. That is very similar to the operation of a @acronym{PKCS} #11 smart card. +The chip allows for storage and usage of RSA keys, but has quite some +operational differences from @acronym{PKCS} #11 module, and thus require different handling. +The basic TPM operations supported and used by GnuTLS, are key generation and signing. + +The next sections assume that the TPM chip in the system is already initialized and +in a operational state. + +In GnuTLS the TPM functionality is available in @code{gnutls/tpm.h}. + +@menu +* Keys in TPM:: +* Key generation:: +* Using keys:: +* tpmtool Invocation:: Invoking tpmtool +@end menu + +@node Keys in TPM +@subsection Keys in TPM + +The RSA keys in the TPM module may either be stored in a flash memory +within TPM or stored in a file in disk. In the former case the key can +provide operations as with @acronym{PKCS} #11 and is identified by +a URL. The URL is described in @xcite{TPMURI} and is of the following form. +@verbatim +tpmkey:uuid=42309df8-d101-11e1-a89a-97bb33c23ad1;storage=user +@end verbatim + +It consists from a unique identifier of the key as well as the part of the +flash memory the key is stored at. The two options for the storage field are +`user' and `system'. The user keys are typically only available to the generating +user and the system keys to all users. The stored in TPM keys are called +registered keys. + +The keys that are stored in the disk are exported from the TPM but in an +encrypted form. To access them two passwords are required. The first is the TPM +Storage Root Key (SRK), and the other is a key-specific password. Also those keys are +identified by a URL of the form: +@verbatim +tpmkey:file=/path/to/file +@end verbatim + +When objects require a PIN to be accessed the same callbacks as with PKCS #11 +objects are expected (see @ref{Accessing objects that require a PIN}). Note +that the PIN function may be called multiple times to unlock the SRK and +the specific key in use. The label in the key function will then be set to +`SRK' when unlocking the SRK key, or to `TPM' when unlocking any other key. + +@node Key generation +@subsection Key generation + +All keys used by the TPM must be generated by the TPM. This can be +done using @funcref{gnutls_tpm_privkey_generate}. + +@showfuncdesc{gnutls_tpm_privkey_generate} + +@showfuncC{gnutls_tpm_get_registered,gnutls_tpm_key_list_deinit,gnutls_tpm_key_list_get_url} + +@showfuncdesc{gnutls_tpm_privkey_delete} + +@node Using keys +@subsection Using keys + +@subsubheading Importing keys + +The TPM keys can be used directly by the abstract key types and do not require +any special structures. Moreover functions like @funcref{gnutls_certificate_set_x509_key_file2} +can access TPM URLs. + +@showfuncB{gnutls_privkey_import_tpm_raw,gnutls_pubkey_import_tpm_raw} + +@showfuncdesc{gnutls_privkey_import_tpm_url} +@showfuncdesc{gnutls_pubkey_import_tpm_url} + +@subsubheading Listing and deleting keys + +The registered keys (that are stored in the TPM) can be listed using one of +the following functions. Those keys are unfortunately only identified by +their UUID and have no label or other human friendly identifier. +Keys can be deleted from permament storage using @funcref{gnutls_tpm_privkey_delete}. + +@showfuncC{gnutls_tpm_get_registered,gnutls_tpm_key_list_deinit,gnutls_tpm_key_list_get_url} + +@showfuncdesc{gnutls_tpm_privkey_delete} + + +@include invoke-tpmtool.texi + diff --git a/doc/cha-upgrade.texi b/doc/cha-upgrade.texi index de5e32f..5621ee0 100644 --- a/doc/cha-upgrade.texi +++ b/doc/cha-upgrade.texi @@ -23,7 +23,7 @@ function @funcref{gnutls_record_check_pending} has to be used to achieve the sam functionality as described in @ref{Asynchronous operation}. @end itemize -@heading Upgrading to 3.0.x from previous versions +@heading Upgrading to 3.0.x from 2.12.x GnuTLS 3.0.x is source compatible with previous versions except for the functions listed below. @@ -41,7 +41,7 @@ as described in @ref{Asynchronous operation} They are replaced by the safer function @funcref{gnutls_session_get_random} @item @funcintref{gnutls_session_get_master_secret} -@tab Replaced by the keying material exporters discussed in @ref{Keying Material Exporters} +@tab Replaced by the keying material exporters discussed in @ref{Deriving keys for other applications/protocols} @item @funcintref{gnutls_transport_set_global_errno} @tab Replaced by using the system's errno fascility or @funcref{gnutls_transport_set_errno}. @@ -72,3 +72,35 @@ They are replaced by the safer function @funcref{gnutls_session_get_random} @end multitable +@heading Upgrading to 3.1.x from 3.0.x + +GnuTLS 3.1.x is source and binary compatible with GnuTLS 3.0.x releases. Few +functions have been deprecated and are listed below. + +@multitable @columnfractions .30 .60 +@headitem Old function @tab Replacement + +@item @funcintref{gnutls_pubkey_verify_hash} +@tab The function @funcref{gnutls_pubkey_verify_hash2} is provided and +is functionally equivalent and safer to use. + +@item @funcintref{gnutls_pubkey_verify_data} +@tab The function @funcref{gnutls_pubkey_verify_data2} is provided and +is functionally equivalent and safer to use. + +@end multitable + +@heading Upgrading to 3.2.x from 3.1.x + +GnuTLS 3.2.x is source and binary compatible with GnuTLS 3.1.x releases. Few +functions have been deprecated and are listed below. + +@multitable @columnfractions .30 .60 +@headitem Old function @tab Replacement + +@item @funcintref{gnutls_privkey_sign_raw_data} +@tab The function @funcref{gnutls_privkey_sign_hash} is equivalent +when the flag @code{GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA} is specified. + +@end multitable + diff --git a/doc/common.c b/doc/common.c index 4ceaff8..492f9b9 100644 --- a/doc/common.c +++ b/doc/common.c @@ -1,47 +1,47 @@ -char* escape_string( const char* str, char* buffer, int buffer_size) +char *escape_string(const char *str, char *buffer, int buffer_size) { -int i = 0, j = 0; + int i = 0, j = 0; -while( str[i] != 0 && j string kx cipher mac Return the name of the given cipher suite. @end deffn -@c snarfed from ../guile/src/core.c:547 +@c snarfed from ../guile/src/core.c:560 @deffn {Scheme Procedure} set-session-priorities! session priorities Have @var{session} use the given @var{priorities} for the ciphers, key exchange methods, MACs and compression methods. @var{priorities} must be a string (see Priority Strings). When @var{priorities} cannot be parsed, an @code{error/invalid-request} error is raised, with an extra argument indication the position of the error. @end deffn -@c snarfed from ../guile/src/core.c:526 +@c snarfed from ../guile/src/core.c:539 @deffn {Scheme Procedure} set-session-default-export-priority! session Have @var{session} use the default export priorities. @end deffn -@c snarfed from ../guile/src/core.c:510 +@c snarfed from ../guile/src/core.c:523 @deffn {Scheme Procedure} set-session-default-priority! session Have @var{session} use the default priorities. @end deffn @@ -381,97 +381,97 @@ Use @var{items} (a list) as the list of preferred mac for @var{session}. Use @var{items} (a list) as the list of preferred cipher for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:487 +@c snarfed from ../guile/src/core.c:500 @deffn {Scheme Procedure} set-server-session-certificate-request! session request Tell how @var{session}, a server-side session, should deal with certificate requests. @var{request} should be either @code{certificate-request/request} or @code{certificate-request/require}. @end deffn -@c snarfed from ../guile/src/core.c:447 +@c snarfed from ../guile/src/core.c:460 @deffn {Scheme Procedure} session-our-certificate-chain session Return our certificate chain for @var{session} (as sent to the peer) in raw format (a u8vector). In the case of OpenPGP there is exactly one certificate. Return the empty list if no certificate was used. @end deffn -@c snarfed from ../guile/src/core.c:400 +@c snarfed from ../guile/src/core.c:413 @deffn {Scheme Procedure} session-peer-certificate-chain session Return the a list of certificates in raw format (u8vectors) where the first one is the peer's certificate. In the case of OpenPGP, there is always exactly one certificate. In the case of X.509, subsequent certificates indicate form a certificate chain. Return the empty list if no certificate was sent. @end deffn -@c snarfed from ../guile/src/core.c:376 +@c snarfed from ../guile/src/core.c:389 @deffn {Scheme Procedure} session-client-authentication-type session Return the client authentication type (a @code{credential-type} value) used in @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:356 +@c snarfed from ../guile/src/core.c:369 @deffn {Scheme Procedure} session-server-authentication-type session Return the server authentication type (a @code{credential-type} value) used in @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:336 +@c snarfed from ../guile/src/core.c:349 @deffn {Scheme Procedure} session-authentication-type session Return the authentication type (a @code{credential-type} value) used by @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:316 +@c snarfed from ../guile/src/core.c:329 @deffn {Scheme Procedure} session-protocol session Return the protocol used by @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:300 +@c snarfed from ../guile/src/core.c:313 @deffn {Scheme Procedure} session-certificate-type session Return @var{session}'s certificate type. @end deffn -@c snarfed from ../guile/src/core.c:283 +@c snarfed from ../guile/src/core.c:296 @deffn {Scheme Procedure} session-compression-method session Return @var{session}'s compression method. @end deffn -@c snarfed from ../guile/src/core.c:266 +@c snarfed from ../guile/src/core.c:279 @deffn {Scheme Procedure} session-mac session Return @var{session}'s MAC. @end deffn -@c snarfed from ../guile/src/core.c:250 +@c snarfed from ../guile/src/core.c:263 @deffn {Scheme Procedure} session-kx session Return @var{session}'s kx. @end deffn -@c snarfed from ../guile/src/core.c:234 +@c snarfed from ../guile/src/core.c:247 @deffn {Scheme Procedure} session-cipher session Return @var{session}'s cipher. @end deffn -@c snarfed from ../guile/src/core.c:207 +@c snarfed from ../guile/src/core.c:220 @deffn {Scheme Procedure} alert-send session level alert Send @var{alert} via @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:190 +@c snarfed from ../guile/src/core.c:203 @deffn {Scheme Procedure} alert-get session Get an aleter from @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:172 +@c snarfed from ../guile/src/core.c:185 @deffn {Scheme Procedure} rehandshake session Perform a re-handshaking for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:154 +@c snarfed from ../guile/src/core.c:167 @deffn {Scheme Procedure} handshake session Perform a handshake for @var{session}. @end deffn -@c snarfed from ../guile/src/core.c:134 +@c snarfed from ../guile/src/core.c:147 @deffn {Scheme Procedure} bye session how Close @var{session} according to @var{how}. @end deffn -@c snarfed from ../guile/src/core.c:109 +@c snarfed from ../guile/src/core.c:122 @deffn {Scheme Procedure} make-session end Return a new session for connection end @var{end}, either @code{connection-end/server} or @code{connection-end/client}. @end deffn -@c snarfed from ../guile/src/core.c:98 +@c snarfed from ../guile/src/core.c:111 @deffn {Scheme Procedure} gnutls-version Return a string denoting the version number of the underlying GnuTLS library, e.g., @code{"1.7.2"}. @end deffn diff --git a/doc/credentials/Makefile.in b/doc/credentials/Makefile.in index 6b5ae66..9e795ce 100644 --- a/doc/credentials/Makefile.in +++ b/doc/credentials/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -35,23 +34,51 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -71,115 +98,96 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/credentials -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -190,13 +198,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -205,21 +212,28 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -227,9 +241,29 @@ am__can_run_installinfo = \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -267,8 +301,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -316,61 +350,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -379,22 +383,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -403,9 +397,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -437,49 +428,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -518,23 +478,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -552,29 +507,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -586,17 +529,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -625,15 +562,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -690,7 +621,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -702,52 +632,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -764,28 +658,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -795,43 +674,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -842,38 +703,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -894,14 +738,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -909,7 +750,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -921,20 +761,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -945,12 +777,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -973,10 +800,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -984,9 +809,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1035,6 +857,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -1052,53 +876,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1108,27 +934,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1138,25 +960,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1198,45 +1014,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1249,45 +1040,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1305,16 +1073,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1331,24 +1094,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1366,13 +1120,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1400,18 +1152,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1428,6 +1180,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1454,6 +1209,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1535,22 +1295,25 @@ clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -1565,57 +1328,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -1631,12 +1349,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -1648,15 +1361,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -1665,6 +1374,21 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -1825,22 +1549,20 @@ ps-am: uninstall-am: -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive +.MAKE: $(am__recursive_targets) install-am install-strip -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - ctags ctags-recursive distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/credentials/openpgp/Makefile.in b/doc/credentials/openpgp/Makefile.in index 8f70d5e..344ada1 100644 --- a/doc/credentials/openpgp/Makefile.in +++ b/doc/credentials/openpgp/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -51,115 +78,96 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/credentials/openpgp -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -170,13 +178,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -185,12 +192,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -198,6 +211,7 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -207,8 +221,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -256,61 +270,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -319,22 +303,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -343,9 +317,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -377,49 +348,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -458,23 +398,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -492,29 +427,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -526,17 +449,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -565,15 +482,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -630,7 +541,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -642,52 +552,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -704,28 +578,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -735,43 +594,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -782,38 +623,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -834,14 +658,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -849,7 +670,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -861,20 +681,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -885,12 +697,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -913,10 +720,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -924,9 +729,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -975,6 +777,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -992,53 +796,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1048,27 +854,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1078,25 +880,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1138,45 +934,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1189,45 +960,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1245,16 +993,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1271,24 +1014,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1306,13 +1040,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1340,18 +1072,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1368,6 +1100,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1394,6 +1129,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1469,11 +1209,11 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -1609,15 +1349,16 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/credentials/srp/Makefile.in b/doc/credentials/srp/Makefile.in index 4da6617..116841c 100644 --- a/doc/credentials/srp/Makefile.in +++ b/doc/credentials/srp/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -51,115 +78,96 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/credentials/srp -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -170,13 +178,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -185,12 +192,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -198,6 +211,7 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -207,8 +221,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -256,61 +270,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -319,22 +303,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -343,9 +317,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -377,49 +348,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -458,23 +398,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -492,29 +427,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -526,17 +449,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -565,15 +482,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -630,7 +541,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -642,52 +552,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -704,28 +578,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -735,43 +594,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -782,38 +623,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -834,14 +658,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -849,7 +670,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -861,20 +681,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -885,12 +697,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -913,10 +720,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -924,9 +729,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -975,6 +777,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -992,53 +796,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1048,27 +854,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1078,25 +880,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1138,45 +934,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1189,45 +960,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1245,16 +993,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1271,24 +1014,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1306,13 +1040,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1340,18 +1072,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1368,6 +1100,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1394,6 +1129,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1469,11 +1209,11 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -1609,15 +1349,16 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/credentials/x509/Makefile.in b/doc/credentials/x509/Makefile.in index fd1ac66..ee14f76 100644 --- a/doc/credentials/x509/Makefile.in +++ b/doc/credentials/x509/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -51,115 +78,96 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/credentials/x509 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -170,13 +178,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -185,12 +192,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -198,6 +211,7 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -207,8 +221,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -256,61 +270,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -319,22 +303,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -343,9 +317,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -377,49 +348,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -458,23 +398,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -492,29 +427,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -526,17 +449,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -565,15 +482,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -630,7 +541,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -642,52 +552,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -704,28 +578,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -735,43 +594,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -782,38 +623,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -834,14 +658,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -849,7 +670,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -861,20 +681,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -885,12 +697,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -913,10 +720,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -924,9 +729,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -975,6 +777,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -992,53 +796,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1048,27 +854,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1078,25 +880,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1138,45 +934,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1189,45 +960,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1245,16 +993,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1271,24 +1014,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1306,13 +1040,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1340,18 +1072,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1368,6 +1100,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1394,6 +1129,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1471,11 +1211,11 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -1611,15 +1351,16 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/credentials/x509/cert-ecc.pem b/doc/credentials/x509/cert-ecc.pem index 2cd6abb..1c55be0 100644 --- a/doc/credentials/x509/cert-ecc.pem +++ b/doc/credentials/x509/cert-ecc.pem @@ -1,17 +1,17 @@ -----BEGIN CERTIFICATE----- -MIICsDCCAWigAwIBAgIETeC0kjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5H -bnVUTFMgVGVzdCBDQTAeFw0xMTA1MjgwODM4NDNaFw0zODEwMTIwODM4NDZaMDEx -LzAtBgNVBAMTJkdudVRMUyBUZXN0IHNlcnZlciAoRUNEU0EgY2VydGlmaWNhdGUp -ME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0vMmf/W0rRoUqBxH5Uq+c/sR76ElmyZM -e2zj3U9PRJ0maKstEOHkpaDaSU6s2Hyi9L88wS1ZX0ijgY0wgYowDAYDVR0TAQH/ -BAIwADAUBgNVHREEDTALgglsb2NhbGhvc3QwEwYDVR0lBAwwCgYIKwYBBQUHAwEw -DwYDVR0PAQH/BAUDAweAADAdBgNVHQ4EFgQUJ97Q83IFpLgqeOnT1rX/JzCvlTQw -HwYDVR0jBBgwFoAUTVa3agBY8WeS9KZ1VRuOUwED788wDQYJKoZIhvcNAQELBQAD -ggExAErP9z8CCwt7YwA+SHoulNjqcXsngeKAKN9fVgV/XuspG6L2nU1WZvCjjFj6 -jggMbJSElyCuLZJKlTC/DihXUgRXyswOzg9qQ7dDv+V/Qi95XH5slXNzYxMQSdoA -IaULVVDZcMFMVSc+TyAchJ6XwUY9umiysz3lSOioMQCch4MA366ZNqqnq5OD4moH -1SUX8CbRjA6SLpvffexLTB2Af+mFi8ReTkXCwB1LGEH1HRp/XzBc+/F9mavy3g/6 -Hnjf2E1h2GDYXcJCVfE+ArjNS+R94jJwRMFBvwD/x2hsvpSajDpO0+GIxlGGKdyh -7o4puz/BqHwSzX9h7I7RvFEogDUNUzLgHMdcjq5usnmQpdWNUP8Xs/WqLjML+/PT -+jyCwmll0lPlC2RqAx3pM1XrjjQ= +MIICpjCCAV6gAwIBAgIIU2YrORG+GMswDQYJKoZIhvcNAQELBQAwGTEXMBUGA1UE +AxMOR251VExTIFRlc3QgQ0EwIhgPMjAxNDA1MDQxMTU3NDZaGA85OTk5MTIzMTIz +NTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MFkwEwYHKoZIzj0CAQYIKoZIzj0D +AQcDQgAETFRGsIIwLwgWt58j/8+6BQ2LbRhYrEa50J6rcnb3yAs7129txJf7DYgz +vRfi/kOLSJlgJFectyVucUo/A2TcsaOBjTCBijAMBgNVHRMBAf8EAjAAMBQGA1Ud +EQQNMAuCCWxvY2FsaG9zdDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8E +BQMDB4AAMB0GA1UdDgQWBBS+9gDGJGtg6rX4E8ml1eDJKdXXMzAfBgNVHSMEGDAW +gBRNVrdqAFjxZ5L0pnVVG45TAQPvzzANBgkqhkiG9w0BAQsFAAOCATEAY82vpv/M +eEflAONp+MUZR6DXCpWVXMeIHAoqlxx+wA69Pf+avBcO2bgw3oRfE6ejxKM/AU9I +u4rSWU8Xa5nX1yb3+/urj3lFHGxG00qzOXDiQBICYMrpbtsTyCRGOKtKvM7/PC2Z +3FP1wi1COqi2PU0cHX3zOInA3suQAFpauKU8dtcdYOkSMSuM06Cga2cX6K1Qh8ok +dP1O7SEQwXBZfiudiw7LA+zldcgetKofgZMbjXevloO9A+xoTeUafjJ4hQ00vGDi +3C9DQh3lZtJFqoaEQbMxqcgvpnnGort+CIRDFLy5MMqkRlH6QPQJrAPgvM4ss7RV +xyBP6KzElYFrSxwCErekGmlp8X2XVbRTQJUQOiPpQ9Nitwev4PaBR5NVHuEKZKpi +HYvq+scVoI+I4A== -----END CERTIFICATE----- diff --git a/doc/credentials/x509/key-ecc.pem b/doc/credentials/x509/key-ecc.pem index 640dfc6..4015518 100644 --- a/doc/credentials/x509/key-ecc.pem +++ b/doc/credentials/x509/key-ecc.pem @@ -1,22 +1,40 @@ Public Key Info: - Public Key Algorithm: ECC - Key Security Level: Normal + Public Key Algorithm: EC + Key Security Level: High (256 bits) -curve: SECP224R1 +curve: SECP256R1 private key: - 75:f7:c5:e0:4e:1a:02:31:c6:db:a1:86:96:f0:77: - 06:67:27:3b:51:ef:eb:99:4c:79:d8:b8:bf: + 00:db:98:c6:eb:db:c9:68:33:25:2c:0b:a9:ec:0c: + 98:4a:3a:01:38:b6:10:70:4e:24:5b:ab:b7:d0:b2: + c3:99:ab: + x: - 00:d2:f3:26:7f:f5:b4:ad:1a:14:a8:1c:47:e5:4a: - be:73:fb:11:ef:a1:25:9b:26:4c:7b:6c:e3:dd: + 4c:54:46:b0:82:30:2f:08:16:b7:9f:23:ff:cf:ba: + 05:0d:8b:6d:18:58:ac:46:b9:d0:9e:ab:72:76:f7: + c8:0b: + y: - 4f:4f:44:9d:26:68:ab:2d:10:e1:e4:a5:a0:da:49: - 4e:ac:d8:7c:a2:f4:bf:3c:c1:2d:59:5f:48: + 3b:d7:6f:6d:c4:97:fb:0d:88:33:bd:17:e2:fe:43: + 8b:48:99:60:24:57:9c:b7:25:6e:71:4a:3f:03:64: + dc:b1: + -Public Key ID: DC:B5:7A:4A:4B:DB:EA:8D:9B:6B:1B:7E:0F:B7:35:B1:37:2D:49:75 +Public Key ID: BE:F6:00:C6:24:6B:60:EA:B5:F8:13:C9:A5:D5:E0:C9:29:D5:D7:33 +Public key's random art: ++--[ EC 256]----+ +| . . | +| o . . E | +| o = * . o | +| o o % . | +|. ..O + S | +|. o*.. o | +| o .. o | +| .. .o | +| .. .... | ++-----------------+ -----BEGIN EC PRIVATE KEY----- -MGgCAQEEHHX3xeBOGgIxxtuhhpbwdwZnJztR7+uZTHnYuL+gBwYFK4EEACGhPAM6 -AATS8yZ/9bStGhSoHEflSr5z+xHvoSWbJkx7bOPdT09EnSZoqy0Q4eSloNpJTqzY -fKL0vzzBLVlfSA== +MHgCAQEEIQDbmMbr28loMyUsC6nsDJhKOgE4thBwTiRbq7fQssOZq6AKBggqhkjO +PQMBB6FEA0IABExURrCCMC8IFrefI//PugUNi20YWKxGudCeq3J298gLO9dvbcSX ++w2IM70X4v5Di0iZYCRXnLclbnFKPwNk3LE= -----END EC PRIVATE KEY----- diff --git a/doc/crypto-api.texi b/doc/crypto-api.texi index 82e05c5..0844b58 100644 --- a/doc/crypto-api.texi +++ b/doc/crypto-api.texi @@ -30,6 +30,9 @@ and before any encryption operations. This function will decrypt the given data using the algorithm specified by the context. +Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from @code{gnutls_cipher_tag()} . + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.10.0 @@ -51,6 +54,9 @@ specified by the context. This function will decrypt the given data using the algorithm specified by the context. +Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from @code{gnutls_cipher_tag()} . + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.12.0 @@ -110,11 +116,33 @@ specified by the context. @deftypefun {int} {gnutls_cipher_get_block_size} (gnutls_cipher_algorithm_t @var{algorithm}) @var{algorithm}: is an encryption algorithm + +@strong{Returns:} the block size of the encryption algorithm. + +@strong{Since:} 2.10.0 +@end deftypefun + +@subheading gnutls_cipher_get_iv_size +@anchor{gnutls_cipher_get_iv_size} +@deftypefun {int} {gnutls_cipher_get_iv_size} (gnutls_cipher_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + Get block size for encryption algorithm. @strong{Returns:} block size for encryption algorithm. -@strong{Since:} 2.10.0 +@strong{Since:} 3.2.0 +@end deftypefun + +@subheading gnutls_cipher_get_tag_size +@anchor{gnutls_cipher_get_tag_size} +@deftypefun {int} {gnutls_cipher_get_tag_size} (gnutls_cipher_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + + +@strong{Returns:} the tag size of the authenticated encryption algorithm. + +@strong{Since:} 3.2.2 @end deftypefun @subheading gnutls_cipher_init @@ -257,7 +285,8 @@ accelerator in use. @var{digest}: is the output value of the hash -This function will output the current hash value. +This function will output the current hash value +and reset the state of the hash. @strong{Since:} 2.10.0 @end deftypefun @@ -344,6 +373,9 @@ produce a Message Authentication Code (MAC) of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use. +Note that despite the name of this function, it can be used +for other MAC algorithms than HMAC. + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.10.0 @@ -356,11 +388,38 @@ cryptographic accelerator in use. @var{digest}: is the output value of the MAC -This function will output the current MAC value. +This function will output the current MAC value +and reset the state of the MAC. @strong{Since:} 2.10.0 @end deftypefun +@subheading gnutls_hmac_set_nonce +@anchor{gnutls_hmac_set_nonce} +@deftypefun {void} {gnutls_hmac_set_nonce} (gnutls_hmac_hd_t @var{handle}, const void * @var{nonce}, size_t @var{nonce_len}) +@var{handle}: is a @code{gnutls_cipher_hd_t} structure. + +@var{nonce}: the data to set as nonce + +@var{nonce_len}: The length of data + +This function will set the nonce in the MAC algorithm. + +@strong{Since:} 3.2.0 +@end deftypefun + +@subheading gnutls_mac_get_nonce_size +@anchor{gnutls_mac_get_nonce_size} +@deftypefun {size_t} {gnutls_mac_get_nonce_size} (gnutls_mac_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + +Returns the size of the nonce used by the MAC in TLS. + +@strong{Returns:} length (in bytes) of the given MAC nonce size, or 0. + +@strong{Since:} 3.2.0 +@end deftypefun + @subheading gnutls_rnd @anchor{gnutls_rnd} @deftypefun {int} {gnutls_rnd} (gnutls_rnd_level_t @var{level}, void * @var{data}, size_t @var{len}) @@ -378,3 +437,16 @@ buffer. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_rnd_refresh +@anchor{gnutls_rnd_refresh} +@deftypefun {void} {gnutls_rnd_refresh} () + +This function refreshes the random generator state. +That is the current precise time, CPU usage, and +other values are input into its state. + +On a slower rate input from /dev/urandom is mixed too. + +@strong{Since:} 3.1.7 +@end deftypefun + diff --git a/doc/cyclo/Makefile.in b/doc/cyclo/Makefile.in index d87cbe8..1043849 100644 --- a/doc/cyclo/Makefile.in +++ b/doc/cyclo/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -35,23 +34,51 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -71,115 +98,96 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc/cyclo -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -190,13 +198,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -205,12 +212,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -218,6 +231,7 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ @@ -227,8 +241,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -276,61 +290,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -339,22 +323,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -363,9 +337,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -397,49 +368,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -478,23 +418,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -512,29 +447,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -546,17 +469,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -585,15 +502,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -650,7 +561,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -662,52 +572,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -724,28 +598,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -755,43 +614,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -802,38 +643,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -854,14 +678,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -869,7 +690,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -881,20 +701,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -905,12 +717,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -933,10 +740,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -944,9 +749,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -995,6 +797,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -1012,53 +816,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1068,27 +874,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1098,25 +900,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1158,45 +954,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1209,45 +980,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1265,16 +1013,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1291,24 +1034,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1326,13 +1060,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1360,18 +1092,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1388,6 +1120,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1414,6 +1149,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1490,11 +1230,11 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -1630,15 +1370,16 @@ uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am cyclo-gnutls.html: diff --git a/doc/cyclo/cyclo-gnutls.html b/doc/cyclo/cyclo-gnutls.html index 71011f4..43d5cff 100644 --- a/doc/cyclo/cyclo-gnutls.html +++ b/doc/cyclo/cyclo-gnutls.html @@ -1,11 +1,11 @@ - + -Cyclomatic Complexity report for GnuTLS +Cyclomatic Complexity report for GnuTLS 3.1.5 - - + + @@ -73,7 +73,7 @@ body { } .ranges_entry_simple { - background: #87ff75; + background: #87ff75; } .ranges_entry_moderate { @@ -122,7 +122,7 @@ body { .function_entry_simple { - background: #87ff75; + background: #87ff75; } .function_entry_moderate { @@ -178,9 +178,9 @@ body { -Back to GnuTLS Homepage

-
GnuTLS Cyclomatic Complexity Report
-

Report generated at: Sun Apr 10 19:37:26 CEST 2011

+Back to GnuTLS 3.1.5 Homepage

+
GnuTLS 3.1.5 Cyclomatic Complexity Report
+

Report generated at: Sun Dec 16 12:43:56 CET 2012

Summary
diff --git a/doc/dane-api.texi b/doc/dane-api.texi new file mode 100644 index 0000000..4fd36aa --- /dev/null +++ b/doc/dane-api.texi @@ -0,0 +1,309 @@ + +@subheading dane_cert_type_name +@anchor{dane_cert_type_name} +@deftypefun {const char *} {dane_cert_type_name} (dane_cert_type_t @var{type}) +@var{type}: is a DANE match type + +Convert a @code{dane_cert_type_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun + +@subheading dane_cert_usage_name +@anchor{dane_cert_usage_name} +@deftypefun {const char *} {dane_cert_usage_name} (dane_cert_usage_t @var{usage}) +@var{usage}: -- undescribed -- + +Convert a @code{dane_cert_usage_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun + +@subheading dane_match_type_name +@anchor{dane_match_type_name} +@deftypefun {const char *} {dane_match_type_name} (dane_match_type_t @var{type}) +@var{type}: is a DANE match type + +Convert a @code{dane_match_type_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun + +@subheading dane_query_data +@anchor{dane_query_data} +@deftypefun {int} {dane_query_data} (dane_query_t @var{q}, unsigned int @var{idx}, unsigned int * @var{usage}, unsigned int * @var{type}, unsigned int * @var{match}, gnutls_datum_t * @var{data}) +@var{q}: The query result structure + +@var{idx}: The index of the query response. + +@var{usage}: The certificate usage (see @code{dane_cert_usage_t} ) + +@var{type}: The certificate type (see @code{dane_cert_type_t} ) + +@var{match}: The DANE matching type (see @code{dane_match_type_t} ) + +@var{data}: The DANE data. + +This function will provide the DANE data from the query +response. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_query_deinit +@anchor{dane_query_deinit} +@deftypefun {void} {dane_query_deinit} (dane_query_t @var{q}) +@var{q}: The structure to be deinitialized + +This function will deinitialize a DANE query result structure. +@end deftypefun + +@subheading dane_query_entries +@anchor{dane_query_entries} +@deftypefun {unsigned int} {dane_query_entries} (dane_query_t @var{q}) +@var{q}: The query result structure + +This function will return the number of entries in a query. + +@strong{Returns:} The number of entries. +@end deftypefun + +@subheading dane_query_status +@anchor{dane_query_status} +@deftypefun {dane_query_status_t} {dane_query_status} (dane_query_t @var{q}) +@var{q}: The query result structure + +This function will return the status of the query response. +See @code{dane_query_status_t} for the possible types. + +@strong{Returns:} The status type. +@end deftypefun + +@subheading dane_query_tlsa +@anchor{dane_query_tlsa} +@deftypefun {int} {dane_query_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, const char * @var{host}, const char * @var{proto}, unsigned int @var{port}) +@var{s}: The DANE state structure + +@var{r}: A structure to place the result + +@var{host}: The host name to resolve. + +@var{proto}: The protocol type (tcp, udp, etc.) + +@var{port}: The service port number (eg. 443). + +This function will query the DNS server for the TLSA (DANE) +data for the given host. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_raw_tlsa +@anchor{dane_raw_tlsa} +@deftypefun {int} {dane_raw_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, char *const * @var{dane_data}, const int * @var{dane_data_len}, int @var{secure}, int @var{bogus}) +@var{s}: The DANE state structure + +@var{r}: A structure to place the result + +@var{dane_data}: array of DNS rdata items, terminated with a NULL pointer; +caller must guarantee that the referenced data remains +valid until @code{dane_query_deinit()} is called. + +@var{dane_data_len}: the length n bytes of the dane_data items + +@var{secure}: true if the result is validated securely, false if +validation failed or the domain queried has no security info + +@var{bogus}: if the result was not secure (secure = 0) due to a security failure, +and the result is due to a security failure, bogus is true. + +This function will fill in the TLSA (DANE) structure from +the given raw DNS record data. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_state_deinit +@anchor{dane_state_deinit} +@deftypefun {void} {dane_state_deinit} (dane_state_t @var{s}) +@var{s}: The structure to be deinitialized + +This function will deinitialize a DANE query structure. +@end deftypefun + +@subheading dane_state_init +@anchor{dane_state_init} +@deftypefun {int} {dane_state_init} (dane_state_t * @var{s}, unsigned int @var{flags}) +@var{s}: The structure to be initialized + +@var{flags}: flags from the @code{dane_state_flags} enumeration + +This function will initialize a DANE query structure. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_state_set_dlv_file +@anchor{dane_state_set_dlv_file} +@deftypefun {int} {dane_state_set_dlv_file} (dane_state_t @var{s}, const char * @var{file}) +@var{s}: The structure to be deinitialized + +@var{file}: The file holding the DLV keys. + +This function will set a file with trusted keys +for DLV (DNSSEC Lookaside Validation). +@end deftypefun + +@subheading dane_strerror +@anchor{dane_strerror} +@deftypefun {const char *} {dane_strerror} (int @var{error}) +@var{error}: is a DANE error code, a negative error code + +This function is similar to strerror. The difference is that it +accepts an error number returned by a gnutls function; In case of +an unknown error a descriptive string is sent instead of @code{NULL} . + +Error codes are always a negative error code. + +@strong{Returns:} A string explaining the DANE error message. +@end deftypefun + +@subheading dane_verification_status_print +@anchor{dane_verification_status_print} +@deftypefun {int} {dane_verification_status_print} (unsigned int @var{status}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) +@var{status}: The status flags to be printed + +@var{out}: Newly allocated datum with (0) terminated string. + +@var{flags}: should be zero + +This function will pretty print the status of a verification +process -- eg. the one obtained by @code{dane_verify_crt()} . + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_verify_crt +@anchor{dane_verify_crt} +@deftypefun {int} {dane_verify_crt} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{chain}: A certificate chain + +@var{chain_size}: The size of the chain + +@var{chain_type}: The type of the certificate chain + +@var{hostname}: The hostname associated with the chain + +@var{proto}: The protocol of the service connecting (e.g. tcp) + +@var{port}: The port of the service connecting (e.g. 443) + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify the given certificate chain against the +CA constrains and/or the certificate available via DANE. +If no information via DANE can be obtained the flag @code{DANE_VERIFY_NO_DANE_INFO} +is set. If a DNSSEC signature is not available for the DANE +record then the verify flag @code{DANE_VERIFY_NO_DNSSEC_DATA} is set. + +Note that the CA constraint only applies for the directly certifying CA +and does not account for long CA chains. Moreover this function does not +validate the provided chain. + +Due to the many possible options of DANE, there is no single threat +model countered. When notifying the user about DANE verification results +it may be better to mention: DANE verification did not reject the certificate, +rather than mentioning a successful DANE verication. + +If the @code{q} parameter is provided it will be used for caching entries. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_verify_crt_raw +@anchor{dane_verify_crt_raw} +@deftypefun {int} {dane_verify_crt_raw} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, dane_query_t @var{r}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{chain}: A certificate chain + +@var{chain_size}: The size of the chain + +@var{chain_type}: The type of the certificate chain + +@var{r}: DANE data to check against + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify the given certificate chain against the +CA constrains and/or the certificate available via DANE. +If no information via DANE can be obtained the flag @code{DANE_VERIFY_NO_DANE_INFO} +is set. If a DNSSEC signature is not available for the DANE +record then the verify flag @code{DANE_VERIFY_NO_DNSSEC_DATA} is set. + +Note that the CA constraint only applies for the directly certifying CA +and does not account for long CA chains. + +Due to the many possible options of DANE, there is no single threat +model countered. When notifying the user about DANE verification results +it may be better to mention: DANE verification did not reject the certificate, +rather than mentioning a successful DANE verication. + +If the @code{q} parameter is provided it will be used for caching entries. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + +@subheading dane_verify_session_crt +@anchor{dane_verify_session_crt} +@deftypefun {int} {dane_verify_session_crt} (dane_state_t @var{s}, gnutls_session_t @var{session}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{session}: A gnutls session + +@var{hostname}: The hostname associated with the chain + +@var{proto}: The protocol of the service connecting (e.g. tcp) + +@var{port}: The port of the service connecting (e.g. 443) + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify session's certificate chain against the +CA constrains and/or the certificate available via DANE. +See @code{dane_verify_crt()} for more information. + +This will not verify the chain for validity; unless the DANE +verification is restricted to end certificates, this has to +be performed separately using @code{gnutls_certificate_verify_peers3()} . + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun + diff --git a/doc/doc.mk b/doc/doc.mk new file mode 100644 index 0000000..a4b249e --- /dev/null +++ b/doc/doc.mk @@ -0,0 +1,29 @@ +# Copyright (C) 2012 Free Software Foundation, Inc. +# +# Author: Nikos Mavrogiannopoulos +# +# This file is part of GnuTLS. +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +HEADER_FILES = $(top_srcdir)/lib/includes/gnutls/gnutls.h.in \ + $(top_srcdir)/lib/includes/gnutls/x509.h $(top_srcdir)/lib/includes/gnutls/openpgp.h \ + $(top_srcdir)/lib/includes/gnutls/pkcs12.h $(top_srcdir)/lib/includes/gnutls/pkcs11.h \ + $(top_srcdir)/lib/includes/gnutls/abstract.h $(top_srcdir)/lib/includes/gnutls/compat.h \ + $(top_srcdir)/lib/includes/gnutls/dtls.h $(top_srcdir)/lib/includes/gnutls/crypto.h \ + $(top_srcdir)/lib/includes/gnutls/ocsp.h $(top_srcdir)/lib/includes/gnutls/tpm.h \ + $(top_srcdir)/libdane/includes/gnutls/dane.h $(top_srcdir)/lib/includes/gnutls/x509-ext.h + +C_SOURCE_FILES = $(top_srcdir)/lib/*/*.c $(top_srcdir)/lib/*.c $(top_srcdir)/libdane/*.c diff --git a/doc/dtls-api.texi b/doc/dtls-api.texi index a2b6503..ae54212 100644 --- a/doc/dtls-api.texi +++ b/doc/dtls-api.texi @@ -1,7 +1,7 @@ @subheading gnutls_dtls_cookie_send @anchor{gnutls_dtls_cookie_send} -@deftypefun {int} {gnutls_dtls_cookie_send} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st* @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) +@deftypefun {int} {gnutls_dtls_cookie_send} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st * @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) @var{key}: is a random key to be used at cookie generation @var{client_data}: contains data identifying the client (i.e. address) @@ -21,6 +21,10 @@ it can be ensured that a client we allocated resources for (i.e. @code{gnutls_session_t} ) is the one that the original incoming packet was originated from. +This function must be called at the first incoming packet, +prior to allocating any resources and must be succeeded +by @code{gnutls_dtls_cookie_verify()} . + @strong{Returns:} the number of bytes sent, or a negative error code. @strong{Since:} 3.0 @@ -28,7 +32,7 @@ original incoming packet was originated from. @subheading gnutls_dtls_cookie_verify @anchor{gnutls_dtls_cookie_verify} -@deftypefun {int} {gnutls_dtls_cookie_verify} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, void* @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st* @var{prestate}) +@deftypefun {int} {gnutls_dtls_cookie_verify} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, void * @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st * @var{prestate}) @var{key}: is a random key to be used at cookie generation @var{client_data}: contains data identifying the client (i.e. address) @@ -41,11 +45,13 @@ original incoming packet was originated from. @var{prestate}: The cookie of this client. -This function will verify an incoming message for +This function will verify the received message for a valid cookie. If a valid cookie is returned then it should be associated with the session using @code{gnutls_dtls_prestate_set()} ; +This function must be called after @code{gnutls_dtls_cookie_send()} . + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 3.0 @@ -58,7 +64,7 @@ it should be associated with the session using This function will return the actual maximum transfer unit for application data. I.e. DTLS headers are subtracted from the -actual MTU. +actual MTU which is set using @code{gnutls_dtls_set_mtu()} . @strong{Returns:} the maximum allowed transfer unit. @@ -98,7 +104,7 @@ if no packets have been received. @subheading gnutls_dtls_prestate_set @anchor{gnutls_dtls_prestate_set} -@deftypefun {void} {gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st* @var{prestate}) +@deftypefun {void} {gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st * @var{prestate}) @var{session}: a new session @var{prestate}: contains the client's prestate @@ -107,6 +113,9 @@ This function will associate the prestate acquired by the cookie authentication with the client, with the newly established session. +This functions must be called after a successful @code{gnutls_dtls_cookie_verify()} +and should be succeeded by the actual DTLS handshake using @code{gnutls_handshake()} . + @strong{Since:} 3.0 @end deftypefun @@ -125,6 +134,9 @@ that you may need to call this function again after any negotiation or renegotiation, in order to ensure that the MTU is still sufficient to account for the new protocol overhead. +In most cases you only need to call @code{gnutls_dtls_set_mtu()} with +the maximum MTU of your transport layer. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 3.1 @@ -167,6 +179,8 @@ respectively. If the retransmission timeout is zero then the handshake will operate in a non-blocking way, i.e., return @code{GNUTLS_E_AGAIN} . +To disable retransmissions set a @code{retrans_timeout} larger than the @code{total_timeout} . + @strong{Since:} 3.0 @end deftypefun diff --git a/doc/enums.texi b/doc/enums.texi index 40c4f42..c32e8c6 100644 --- a/doc/enums.texi +++ b/doc/enums.texi @@ -30,6 +30,16 @@ AES in CBC mode with 192-bit keys. AES in GCM mode with 128-bit keys. @item GNUTLS_@-CIPHER_@-AES_@-256_@-GCM AES in GCM mode with 256-bit keys. +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-192_@-CBC +Camellia in CBC mode with 192-bit keys. +@item GNUTLS_@-CIPHER_@-SALSA20_@-256 +-- undescribed -- +@item GNUTLS_@-CIPHER_@-ESTREAM_@-SALSA20_@-256 +-- undescribed -- +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-128_@-GCM +CAMELLIA in GCM mode with 128-bit keys. +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-256_@-GCM +CAMELLIA in GCM mode with 256-bit keys. @item GNUTLS_@-CIPHER_@-IDEA_@-PGP_@-CFB IDEA in CFB mode. @item GNUTLS_@-CIPHER_@-3DES_@-PGP_@-CFB @@ -65,7 +75,7 @@ Anon-DH key-exchange algorithm. @item GNUTLS_@-KX_@-SRP SRP key-exchange algorithm. @item GNUTLS_@-KX_@-RSA_@-EXPORT -RSA-EXPORT key-exchange algorithm. +RSA-EXPORT key-exchange algorithm (defunc). @item GNUTLS_@-KX_@-SRP_@-RSA SRP-RSA key-exchange algorithm. @item GNUTLS_@-KX_@-SRP_@-DSS @@ -82,12 +92,14 @@ ECDHE-RSA key-exchange algorithm. ECDHE-ECDSA key-exchange algorithm. @item GNUTLS_@-KX_@-ECDHE_@-PSK ECDHE-PSK key-exchange algorithm. +@item GNUTLS_@-KX_@-RSA_@-PSK +RSA-PSK key-exchange algorithm. @end table @c gnutls_params_type_t @table @code @item GNUTLS_@-PARAMS_@-RSA_@-EXPORT -Session RSA-EXPORT parameters. +Session RSA-EXPORT parameters (defunc). @item GNUTLS_@-PARAMS_@-DH Session Diffie-Hellman parameters. @item GNUTLS_@-PARAMS_@-ECDH @@ -132,6 +144,10 @@ HMAC-SHA-512 algorithm. HMAC-SHA-224 algorithm. @item GNUTLS_@-MAC_@-AEAD MAC implicit through AEAD cipher. +@item GNUTLS_@-MAC_@-UMAC_@-96 +The UMAC-96 MAC algorithm. +@item GNUTLS_@-MAC_@-UMAC_@-128 +The UMAC-128 MAC algorithm. @end table @c gnutls_digest_algorithm_t @@ -240,6 +256,8 @@ recognized. @item GNUTLS_@-A_@-UNKNOWN_@-PSK_@-IDENTITY The SRP/PSK username is missing or not known. +@item GNUTLS_@-A_@-NO_@-APPLICATION_@-PROTOCOL +-- undescribed -- @end table @c gnutls_handshake_description_t @@ -268,10 +286,12 @@ Certificate verify. Client key exchange. @item GNUTLS_@-HANDSHAKE_@-FINISHED Finished. +@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-STATUS +Certificate status (OCSP). @item GNUTLS_@-HANDSHAKE_@-SUPPLEMENTAL Supplemental. @item GNUTLS_@-HANDSHAKE_@-CHANGE_@-CIPHER_@-SPEC -Change Cipher Spec +Change Cipher Spec. @item GNUTLS_@-HANDSHAKE_@-CLIENT_@-HELLO_@-V2 SSLv2 Client Hello. @end table @@ -280,7 +300,8 @@ SSLv2 Client Hello. @table @code @item GNUTLS_@-CERT_@-INVALID The certificate is not signed by one of the -known authorities or the signature is invalid. +known authorities or the signature is invalid (deprecated by the flags +@code{GNUTLS_CERT_SIGNATURE_FAILURE} and @code{GNUTLS_CERT_SIGNER_NOT_FOUND} ). @item GNUTLS_@-CERT_@-REVOKED Certificate is revoked by its authority. In X.509 this will be set only if CRLs are checked. @@ -300,11 +321,18 @@ The certificate is not yet activated. @item GNUTLS_@-CERT_@-EXPIRED The certificate has expired. @item GNUTLS_@-CERT_@-SIGNATURE_@-FAILURE --- undescribed -- +The signature verification failed. @item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-SUPERSEDED The revocation data are old and have been superseded. +@item GNUTLS_@-CERT_@-UNEXPECTED_@-OWNER +The owner is not the expected one. @item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-ISSUED_@-IN_@-FUTURE The revocation data have a future issue date. +@item GNUTLS_@-CERT_@-SIGNER_@-CONSTRAINTS_@-FAILURE +The certificate's signer constraints were +violated. +@item GNUTLS_@-CERT_@-MISMATCH +The certificate presented isn't the expected one (TOFU) @end table @c gnutls_certificate_request_t @@ -345,12 +373,18 @@ Same as @code{GNUTLS_TLS1_0} . TLS version 1.1. @item GNUTLS_@-TLS1_@-2 TLS version 1.2. -@item GNUTLS_@-DTLS1_@-0 -DTLS version 1.0. @item GNUTLS_@-DTLS0_@-9 DTLS version 0.9 (Cisco AnyConnect / OpenSSL 0.9.8e). -@item GNUTLS_@-VERSION_@-MAX -Maps to the highest supported TLS version. +@item GNUTLS_@-DTLS1_@-0 +DTLS version 1.0. +@item GNUTLS_@-DTLS1_@-2 +DTLS version 1.2. +@item GNUTLS_@-DTLS_@-VERSION_@-MIN +-- undescribed -- +@item GNUTLS_@-DTLS_@-VERSION_@-MAX +-- undescribed -- +@item GNUTLS_@-TLS_@-VERSION_@-MAX +-- undescribed -- @item GNUTLS_@-VERSION_@-UNKNOWN Unknown SSL/TLS version. @end table @@ -385,6 +419,8 @@ Information about certificate in one line. All info for an unsigned certificate. @item GNUTLS_@-CRT_@-PRINT_@-COMPACT Information about certificate name in one line, plus identification of the public key. +@item GNUTLS_@-CRT_@-PRINT_@-FULL_@-NUMBERS +Full information about certificate and include easy to parse public key parameters. @end table @c gnutls_pk_algorithm_t @@ -441,6 +477,10 @@ Digital signature algorithm ECDSA with SHA-256. Digital signature algorithm ECDSA with SHA-384. @item GNUTLS_@-SIGN_@-ECDSA_@-SHA512 Digital signature algorithm ECDSA with SHA-512. +@item GNUTLS_@-SIGN_@-DSA_@-SHA384 +-- undescribed -- +@item GNUTLS_@-SIGN_@-DSA_@-SHA512 +-- undescribed -- @end table @c gnutls_ecc_curve_t @@ -461,14 +501,22 @@ the SECP192R1 curve @c gnutls_sec_param_t @table @code +@item GNUTLS_@-SEC_@-PARAM_@-INSECURE +Less than 42 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-EXPORT +42 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-VERY_@-WEAK +64 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-WEAK +72 bits of security @item GNUTLS_@-SEC_@-PARAM_@-UNKNOWN Cannot be known @item GNUTLS_@-SEC_@-PARAM_@-LOW -low security level +80 bits of security @item GNUTLS_@-SEC_@-PARAM_@-LEGACY 96 bits of security -@item GNUTLS_@-SEC_@-PARAM_@-NORMAL -112 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-MEDIUM +112 bits of security (used to be @code{GNUTLS_SEC_PARAM_NORMAL} ) @item GNUTLS_@-SEC_@-PARAM_@-HIGH 128 bits of security @item GNUTLS_@-SEC_@-PARAM_@-ULTRA @@ -493,6 +541,18 @@ Domain Name System name type. Supplemental user mapping data. @end table +@c gnutls_srtp_profile_t +@table @code +@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-80 +128 bit AES with a 80 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-32 +128 bit AES with a 32 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-80 +NULL cipher with a 80 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-32 +NULL cipher with a 32 bit HMAC-SHA1 +@end table + @c gnutls_psk_key_flags @table @code @item GNUTLS_@-PSK_@-KEY_@-RAW @@ -532,6 +592,61 @@ PKCS11 private key, @code{gnutls_pkcs11_privkey_t} . External private key, operating using callbacks. @end table +@c gnutls_vdata_types_t +@table @code +@item GNUTLS_@-DT_@-UNKNOWN +Unknown data type. +@item GNUTLS_@-DT_@-DNS_@-HOSTNAME +The data contain a null-terminated DNS hostname. +@item GNUTLS_@-DT_@-KEY_@-PURPOSE_@-OID +The data contain a null-terminated key purpose OID. +@end table + +@c gnutls_pin_flag_t +@table @code +@item GNUTLS_@-PIN_@-USER +The PIN for the user. +@item GNUTLS_@-PIN_@-SO +The PIN for the security officer (admin). +@item GNUTLS_@-PIN_@-FINAL_@-TRY +This is the final try before blocking. +@item GNUTLS_@-PIN_@-COUNT_@-LOW +Few tries remain before token blocks. +@item GNUTLS_@-PIN_@-CONTEXT_@-SPECIFIC +The PIN is for a specific action and key like signing. +@item GNUTLS_@-PIN_@-WRONG +Last given PIN was not correct. +@end table +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_pin_callback_t}) +@var{gnutls_pin_callback_t}: -- undescribed -- + +Callback function type for PKCS@code{11} or TPM PIN entry. It is set by +functions like @code{gnutls_pkcs11_set_pin_function()} . + +The callback should provides the PIN code to unlock the token with +label @code{token_label} , specified by the URL @code{token_url} . + +The PIN code, as a NUL-terminated ASCII string, should be copied +into the @code{pin} buffer (of maximum size @code{pin_max} ), and return 0 to +indicate success. Alternatively, the callback may return a +negative gnutls error code to indicate failure and cancel PIN entry +(in which case, the contents of the @code{pin} parameter are ignored). + +When a PIN is required, the callback will be invoked repeatedly +(and indefinitely) until either the returned PIN code is correct, +the callback returns failure, or the token refuses login (e.g. when +the token is locked due to too many incorrect PINs!). For the +first such invocation, the @code{attempt} counter will have value zero; +it will increase by one for each subsequent attempt. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success or a negative error code on error. + +@strong{Since:} 2.12.0 +@end deftypefun + + @c gnutls_certificate_import_flags @table @code @item GNUTLS_@-X509_@-CRT_@-LIST_@-IMPORT_@-FAIL_@-IF_@-EXCEED @@ -548,13 +663,8 @@ The error code will be @code{GNUTLS_E_CERTIFICATE_LIST_UNSORTED} . @table @code @item GNUTLS_@-VERIFY_@-DISABLE_@-CA_@-SIGN If set a signer does not have to be -a certificate authority. This flag should normaly be disabled, +a certificate authority. This flag should normally be disabled, unless you know what this means. -@item GNUTLS_@-VERIFY_@-ALLOW_@-X509_@-V1_@-CA_@-CRT -Allow trusted CA certificates -with version 1. This is safer than @code{GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT} , -and should be used instead. That way only signers in your trusted list -will be allowed to have certificates of version 1. This is the default. @item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-SAME If a certificate is not signed by anyone trusted but exists in the trusted CA list do not treat it @@ -563,8 +673,7 @@ as trusted. Allow CA certificates that have version 1 (both root and intermediate). This might be dangerous since those haven't the basicConstraints -extension. Must be used in combination with -@code{GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT} . +extension. @item GNUTLS_@-VERIFY_@-ALLOW_@-SIGN_@-RSA_@-MD2 Allow certificates to be signed using the broken MD2 algorithm. @@ -584,30 +693,57 @@ certificates that have version 1. This option is to be used to deprecate all certificates of version 1. @item GNUTLS_@-VERIFY_@-DISABLE_@-CRL_@-CHECKS Disable checking for validity -using certificate revocation lists. +using certificate revocation lists or the available OCSP data. @item GNUTLS_@-VERIFY_@-ALLOW_@-UNSORTED_@-CHAIN A certificate chain is tolerated -if unsorted (the case with many TLS servers out there). +if unsorted (the case with many TLS servers out there). This is the +default since GnuTLS 3.1.4. +@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-UNSORTED_@-CHAIN +Do not tolerate an unsorted +certificate chain. +@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-WILDCARDS +When including a hostname +check in the verification, do not consider any wildcards. +@end table + +@c gnutls_certificate_verification_profiles_t +@table @code +@item GNUTLS_@-PROFILE_@-VERY_@-WEAK +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_VERY_WEAK} (64 bits) +@item GNUTLS_@-PROFILE_@-LOW +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_LOW} (80 bits) +@item GNUTLS_@-PROFILE_@-LEGACY +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_LEGACY} (96 bits) +@item GNUTLS_@-PROFILE_@-MEDIUM +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_MEDIUM} (112 bits) +@item GNUTLS_@-PROFILE_@-HIGH +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_HIGH} (128 bits) +@item GNUTLS_@-PROFILE_@-ULTRA +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_ULTRA} (256 bits) +@item GNUTLS_@-PROFILE_@-SUITEB128 +A verification profile that +applies the SUITEB128 rules +@item GNUTLS_@-PROFILE_@-SUITEB192 +A verification profile that +applies the SUITEB192 rules @end table @c gnutls_pkcs_encrypt_flags_t @table @code @item GNUTLS_@-PKCS_@-PLAIN Unencrypted private key. -@item GNUTLS_@-PKCS8_@-PLAIN -Same as @code{GNUTLS_PKCS_PLAIN} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-3DES PKCS-12 3DES. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-3DES -Same as @code{GNUTLS_PKCS_USE_PKCS12_3DES} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-ARCFOUR PKCS-12 ARCFOUR. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-ARCFOUR -Same as @code{GNUTLS_PKCS_USE_PKCS12_ARCFOUR} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-RC2_@-40 PKCS-12 RC2-40. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-RC2_@-40 -Same as @code{GNUTLS_PKCS_USE_PKCS12_RC2_40} . @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-3DES PBES2 3DES. @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-AES_@-128 @@ -616,6 +752,8 @@ PBES2 AES-128. PBES2 AES-192. @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-AES_@-256 PBES2 AES-256. +@item GNUTLS_@-PKCS_@-NULL_@-PASSWORD +Some schemas distinguish between an empty and a NULL password. @end table @c gnutls_openpgp_crt_fmt_t @@ -625,6 +763,22 @@ OpenPGP certificate in raw format. @item GNUTLS_@-OPENPGP_@-FMT_@-BASE64 OpenPGP certificate in base64 format. @end table +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_openpgp_recv_key_func}) +@var{gnutls_openpgp_recv_key_func}: -- undescribed -- + +A callback of this type is used to retrieve OpenPGP keys. Only +useful on the server, and will only be used if the peer send a key +fingerprint instead of a full key. See also +@code{gnutls_openpgp_set_recv_key_function()} . + +The variable @code{key} must be allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, +otherwise an error code is returned. +@end deftypefun + @c gnutls_pkcs12_bag_type_t @table @code @@ -645,6 +799,34 @@ Encrypted PKCS-12 bag. @item GNUTLS_@-BAG_@-UNKNOWN Unknown PKCS-12 bag. @end table +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_pkcs11_token_callback_t}) +@var{gnutls_pkcs11_token_callback_t}: -- undescribed -- + +Token callback function. The callback will be used to ask the user +to re-insert the token with given (null terminated) label. The +callback should return zero if token has been inserted by user and +a negative error code otherwise. It might be called multiple times +if the token is not detected and the retry counter will be +increased. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success or a negative error code +on error. + +@strong{Since:} 2.12.0 +@end deftypefun + + +@c gnutls_pkcs11_url_type_t +@table @code +@item GNUTLS_@-PKCS11_@-URL_@-GENERIC +A generic-purpose URL. +@item GNUTLS_@-PKCS11_@-URL_@-LIB +A URL that specifies the library used as well. +@item GNUTLS_@-PKCS11_@-URL_@-LIB_@-VERSION +A URL that specifies the library and its version. +@end table @c gnutls_pkcs11_obj_info_t @table @code @@ -691,13 +873,13 @@ Specify all certificates marked as trusted and are CAs. @c gnutls_pkcs11_token_info_t @table @code @item GNUTLS_@-PKCS11_@-TOKEN_@-LABEL -The token's label +The token's label (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-SERIAL -The token's serial number +The token's serial number (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-MANUFACTURER -The token's manufacturer +The token's manufacturer (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-MODEL -The token's model +The token's model (string) @end table @c gnutls_pkcs11_obj_type_t @@ -716,6 +898,32 @@ Secret key. Data object. @end table +@c gnutls_pubkey_flags_t +@table @code +@item GNUTLS_@-PUBKEY_@-VERIFY_@-FLAG_@-TLS1_@-RSA +This indicates that a (raw) RSA signature is provided +as in the TLS 1.0 protocol. +@item GNUTLS_@-PUBKEY_@-DISABLE_@-CALLBACKS +The following flag disables call to PIN callbacks. Only +relevant to TPM keys. +@item GNUTLS_@-PUBKEY_@-GET_@-OPENPGP_@-FINGERPRINT +request an OPENPGP fingerprint instead of the default. +@end table + +@c gnutls_privkey_flags_t +@table @code +@item GNUTLS_@-PRIVKEY_@-IMPORT_@-AUTO_@-RELEASE +When importing a private key, automatically +release it when the structure it was imported is released. +@item GNUTLS_@-PRIVKEY_@-IMPORT_@-COPY +Copy required values during import. +@item GNUTLS_@-PRIVKEY_@-DISABLE_@-CALLBACKS +The following flag disables call to PIN callbacks etc. +Only relevant to TPM keys. +@item GNUTLS_@-PRIVKEY_@-SIGN_@-FLAG_@-TLS1_@-RSA +Make an RSA signature on the hashed data as in the TLS protocol. +@end table + @c gnutls_rnd_level_t @table @code @item GNUTLS_@-RND_@-NONCE @@ -727,3 +935,166 @@ Fatal in session if broken. @item GNUTLS_@-RND_@-KEY Fatal in many sessions if broken. @end table + +@c gnutls_ocsp_print_formats_t +@table @code +@item GNUTLS_@-OCSP_@-PRINT_@-FULL +Full information about OCSP request/response. +@item GNUTLS_@-OCSP_@-PRINT_@-COMPACT +More compact information about OCSP request/response. +@end table + +@c gnutls_ocsp_resp_status_t +@table @code +@item GNUTLS_@-OCSP_@-RESP_@-SUCCESSFUL +Response has valid confirmations. +@item GNUTLS_@-OCSP_@-RESP_@-MALFORMEDREQUEST +Illegal confirmation request +@item GNUTLS_@-OCSP_@-RESP_@-INTERNALERROR +Internal error in issuer +@item GNUTLS_@-OCSP_@-RESP_@-TRYLATER +Try again later +@item GNUTLS_@-OCSP_@-RESP_@-SIGREQUIRED +Must sign the request +@item GNUTLS_@-OCSP_@-RESP_@-UNAUTHORIZED +Request unauthorized +@end table + +@c gnutls_ocsp_cert_status_t +@table @code +@item GNUTLS_@-OCSP_@-CERT_@-GOOD +Positive response to status inquiry. +@item GNUTLS_@-OCSP_@-CERT_@-REVOKED +Certificate has been revoked. +@item GNUTLS_@-OCSP_@-CERT_@-UNKNOWN +The responder doesn't know about the +certificate. +@end table + +@c gnutls_x509_crl_reason_t +@table @code +@item GNUTLS_@-X509_@-CRLREASON_@-UNSPECIFIED +Unspecified reason. +@item GNUTLS_@-X509_@-CRLREASON_@-KEYCOMPROMISE +Private key compromised. +@item GNUTLS_@-X509_@-CRLREASON_@-CACOMPROMISE +CA compromised. +@item GNUTLS_@-X509_@-CRLREASON_@-AFFILIATIONCHANGED +Affiliation has changed. +@item GNUTLS_@-X509_@-CRLREASON_@-SUPERSEDED +Certificate superseded. +@item GNUTLS_@-X509_@-CRLREASON_@-CESSATIONOFOPERATION +Operation has ceased. +@item GNUTLS_@-X509_@-CRLREASON_@-CERTIFICATEHOLD +Certificate is on hold. +@item GNUTLS_@-X509_@-CRLREASON_@-REMOVEFROMCRL +Will be removed from delta CRL. +@item GNUTLS_@-X509_@-CRLREASON_@-PRIVILEGEWITHDRAWN +Privilege withdrawn. +@item GNUTLS_@-X509_@-CRLREASON_@-AACOMPROMISE +AA compromised. +@end table + +@c gnutls_ocsp_verify_reason_t +@table @code +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-NOT_@-FOUND +Signer cert not found. +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-KEYUSAGE_@-ERROR +Signer keyusage bits incorrect. +@item GNUTLS_@-OCSP_@-VERIFY_@-UNTRUSTED_@-SIGNER +Signer is not trusted. +@item GNUTLS_@-OCSP_@-VERIFY_@-INSECURE_@-ALGORITHM +Signature using insecure algorithm. +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNATURE_@-FAILURE +Signature mismatch. +@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-NOT_@-ACTIVATED +Signer cert is not yet activated. +@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-EXPIRED +Signer cert has expired. +@end table + +@c gnutls_tpmkey_fmt_t +@table @code +@item GNUTLS_@-TPMKEY_@-FMT_@-RAW +The portable data format. +@item GNUTLS_@-TPMKEY_@-FMT_@-DER +An alias for the raw format. +@item GNUTLS_@-TPMKEY_@-FMT_@-CTK_@-PEM +A custom data format used by some TPM tools. +@end table + +@c dane_cert_usage_t +@table @code +@item DANE_@-CERT_@-USAGE_@-CA +CA constraint. The certificate/key +presented must have signed the verified key. +@item DANE_@-CERT_@-USAGE_@-EE +The key or the certificate of the end +entity. +@item DANE_@-CERT_@-USAGE_@-LOCAL_@-CA +The remote CA is local and possibly +untrusted by the verifier. +@item DANE_@-CERT_@-USAGE_@-LOCAL_@-EE +The remote end-entity key is local +and possibly untrusted by the verifier (not signed by a CA). +@end table + +@c dane_cert_type_t +@table @code +@item DANE_@-CERT_@-X509 +An X.509 certificate. +@item DANE_@-CERT_@-PK +A public key. +@end table + +@c dane_match_type_t +@table @code +@item DANE_@-MATCH_@-EXACT +The full content. +@item DANE_@-MATCH_@-SHA2_@-256 +A SHA-256 hash of the content. +@item DANE_@-MATCH_@-SHA2_@-512 +A SHA-512 hash of the content. +@end table + +@c dane_query_status_t +@table @code +@item DANE_@-QUERY_@-UNKNOWN +There was no query. +@item DANE_@-QUERY_@-DNSSEC_@-VERIFIED +The query was verified using DNSSEC. +@item DANE_@-QUERY_@-BOGUS +The query has wrong DNSSEC signature. +@item DANE_@-QUERY_@-NO_@-DNSSEC +The query has no DNSSEC data. +@end table + +@c dane_state_flags_t +@table @code +@item DANE_@-F_@-IGNORE_@-LOCAL_@-RESOLVER +Many systems are not DNSSEC-ready. In that case the local resolver is ignored, and a direct recursive resolve occurs. +@item DANE_@-F_@-INSECURE +Ignore any DNSSEC signature verification errors. +@item DANE_@-F_@-IGNORE_@-DNSSEC +Do not try to initialize DNSSEC as we will not use it (will then not try to load the DNSSEC root certificate). Useful if the TLSA data does not come from DNS. +@end table + +@c dane_verify_flags_t +@table @code +@item DANE_@-VFLAG_@-FAIL_@-IF_@-NOT_@-CHECKED +If irrelevant to this certificate DANE entries are received fail instead of succeeding. +@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-EE_@-USAGE +The provided certificates will be verified only against any EE field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED} to fail if EE entries are not present. +@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-CA_@-USAGE +The provided certificates will be verified only against any CA field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED} to fail if CA entries are not present. +@end table + +@c dane_verify_status_t +@table @code +@item DANE_@-VERIFY_@-CA_@-CONSTRAINTS_@-VIOLATED +The CA constraints were violated. +@item DANE_@-VERIFY_@-CERT_@-DIFFERS +The certificate obtained via DNS differs. +@item DANE_@-VERIFY_@-UNKNOWN_@-DANE_@-INFO +No known DANE data was found in the DNS record. +@end table diff --git a/doc/enums/dane_cert_type_t b/doc/enums/dane_cert_type_t new file mode 100644 index 0000000..d7f6d9e --- /dev/null +++ b/doc/enums/dane_cert_type_t @@ -0,0 +1,9 @@ + + +@c dane_cert_type_t +@table @code +@item DANE_@-CERT_@-X509 +An X.509 certificate. +@item DANE_@-CERT_@-PK +A public key. +@end table diff --git a/doc/enums/dane_cert_usage_t b/doc/enums/dane_cert_usage_t new file mode 100644 index 0000000..3be9dd4 --- /dev/null +++ b/doc/enums/dane_cert_usage_t @@ -0,0 +1,17 @@ + + +@c dane_cert_usage_t +@table @code +@item DANE_@-CERT_@-USAGE_@-CA +CA constraint. The certificate/key +presented must have signed the verified key. +@item DANE_@-CERT_@-USAGE_@-EE +The key or the certificate of the end +entity. +@item DANE_@-CERT_@-USAGE_@-LOCAL_@-CA +The remote CA is local and possibly +untrusted by the verifier. +@item DANE_@-CERT_@-USAGE_@-LOCAL_@-EE +The remote end-entity key is local +and possibly untrusted by the verifier (not signed by a CA). +@end table diff --git a/doc/enums/dane_match_type_t b/doc/enums/dane_match_type_t new file mode 100644 index 0000000..8a1e7bf --- /dev/null +++ b/doc/enums/dane_match_type_t @@ -0,0 +1,11 @@ + + +@c dane_match_type_t +@table @code +@item DANE_@-MATCH_@-EXACT +The full content. +@item DANE_@-MATCH_@-SHA2_@-256 +A SHA-256 hash of the content. +@item DANE_@-MATCH_@-SHA2_@-512 +A SHA-512 hash of the content. +@end table diff --git a/doc/enums/dane_query_status_t b/doc/enums/dane_query_status_t new file mode 100644 index 0000000..3ec5e4e --- /dev/null +++ b/doc/enums/dane_query_status_t @@ -0,0 +1,13 @@ + + +@c dane_query_status_t +@table @code +@item DANE_@-QUERY_@-UNKNOWN +There was no query. +@item DANE_@-QUERY_@-DNSSEC_@-VERIFIED +The query was verified using DNSSEC. +@item DANE_@-QUERY_@-BOGUS +The query has wrong DNSSEC signature. +@item DANE_@-QUERY_@-NO_@-DNSSEC +The query has no DNSSEC data. +@end table diff --git a/doc/enums/dane_state_flags_t b/doc/enums/dane_state_flags_t new file mode 100644 index 0000000..221f3a9 --- /dev/null +++ b/doc/enums/dane_state_flags_t @@ -0,0 +1,11 @@ + + +@c dane_state_flags_t +@table @code +@item DANE_@-F_@-IGNORE_@-LOCAL_@-RESOLVER +Many systems are not DNSSEC-ready. In that case the local resolver is ignored, and a direct recursive resolve occurs. +@item DANE_@-F_@-INSECURE +Ignore any DNSSEC signature verification errors. +@item DANE_@-F_@-IGNORE_@-DNSSEC +Do not try to initialize DNSSEC as we will not use it (will then not try to load the DNSSEC root certificate). Useful if the TLSA data does not come from DNS. +@end table diff --git a/doc/enums/dane_verify_flags_t b/doc/enums/dane_verify_flags_t new file mode 100644 index 0000000..175ea84 --- /dev/null +++ b/doc/enums/dane_verify_flags_t @@ -0,0 +1,11 @@ + + +@c dane_verify_flags_t +@table @code +@item DANE_@-VFLAG_@-FAIL_@-IF_@-NOT_@-CHECKED +If irrelevant to this certificate DANE entries are received fail instead of succeeding. +@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-EE_@-USAGE +The provided certificates will be verified only against any EE field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED} to fail if EE entries are not present. +@item DANE_@-VFLAG_@-ONLY_@-CHECK_@-CA_@-USAGE +The provided certificates will be verified only against any CA field. Combine with @code{DANE_VFLAG_FAIL_IF_NOT_CHECKED} to fail if CA entries are not present. +@end table diff --git a/doc/enums/dane_verify_status_t b/doc/enums/dane_verify_status_t new file mode 100644 index 0000000..46203ba --- /dev/null +++ b/doc/enums/dane_verify_status_t @@ -0,0 +1,11 @@ + + +@c dane_verify_status_t +@table @code +@item DANE_@-VERIFY_@-CA_@-CONSTRAINTS_@-VIOLATED +The CA constraints were violated. +@item DANE_@-VERIFY_@-CERT_@-DIFFERS +The certificate obtained via DNS differs. +@item DANE_@-VERIFY_@-UNKNOWN_@-DANE_@-INFO +No known DANE data was found in the DNS record. +@end table diff --git a/doc/enums/gnutls_alert_description_t b/doc/enums/gnutls_alert_description_t index 3f5ae47..8cbed46 100644 --- a/doc/enums/gnutls_alert_description_t +++ b/doc/enums/gnutls_alert_description_t @@ -62,4 +62,6 @@ recognized. @item GNUTLS_@-A_@-UNKNOWN_@-PSK_@-IDENTITY The SRP/PSK username is missing or not known. +@item GNUTLS_@-A_@-NO_@-APPLICATION_@-PROTOCOL +-- undescribed -- @end table diff --git a/doc/enums/gnutls_certificate_import_flags b/doc/enums/gnutls_certificate_import_flags index 0d72aa5..0f430d0 100644 --- a/doc/enums/gnutls_certificate_import_flags +++ b/doc/enums/gnutls_certificate_import_flags @@ -1,4 +1,33 @@ +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_pin_callback_t}) +@var{gnutls_pin_callback_t}: -- undescribed -- + +Callback function type for PKCS@code{11} or TPM PIN entry. It is set by +functions like @code{gnutls_pkcs11_set_pin_function()} . + +The callback should provides the PIN code to unlock the token with +label @code{token_label} , specified by the URL @code{token_url} . + +The PIN code, as a NUL-terminated ASCII string, should be copied +into the @code{pin} buffer (of maximum size @code{pin_max} ), and return 0 to +indicate success. Alternatively, the callback may return a +negative gnutls error code to indicate failure and cancel PIN entry +(in which case, the contents of the @code{pin} parameter are ignored). + +When a PIN is required, the callback will be invoked repeatedly +(and indefinitely) until either the returned PIN code is correct, +the callback returns failure, or the token refuses login (e.g. when +the token is locked due to too many incorrect PINs!). For the +first such invocation, the @code{attempt} counter will have value zero; +it will increase by one for each subsequent attempt. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success or a negative error code on error. + +@strong{Since:} 2.12.0 +@end deftypefun + @c gnutls_certificate_import_flags @table @code diff --git a/doc/enums/gnutls_certificate_print_formats_t b/doc/enums/gnutls_certificate_print_formats_t index d21fb01..d400434 100644 --- a/doc/enums/gnutls_certificate_print_formats_t +++ b/doc/enums/gnutls_certificate_print_formats_t @@ -10,4 +10,6 @@ Information about certificate in one line. All info for an unsigned certificate. @item GNUTLS_@-CRT_@-PRINT_@-COMPACT Information about certificate name in one line, plus identification of the public key. +@item GNUTLS_@-CRT_@-PRINT_@-FULL_@-NUMBERS +Full information about certificate and include easy to parse public key parameters. @end table diff --git a/doc/enums/gnutls_certificate_status_t b/doc/enums/gnutls_certificate_status_t index b5f0830..43e7ff7 100644 --- a/doc/enums/gnutls_certificate_status_t +++ b/doc/enums/gnutls_certificate_status_t @@ -4,7 +4,8 @@ @table @code @item GNUTLS_@-CERT_@-INVALID The certificate is not signed by one of the -known authorities or the signature is invalid. +known authorities or the signature is invalid (deprecated by the flags +@code{GNUTLS_CERT_SIGNATURE_FAILURE} and @code{GNUTLS_CERT_SIGNER_NOT_FOUND} ). @item GNUTLS_@-CERT_@-REVOKED Certificate is revoked by its authority. In X.509 this will be set only if CRLs are checked. @@ -24,9 +25,16 @@ The certificate is not yet activated. @item GNUTLS_@-CERT_@-EXPIRED The certificate has expired. @item GNUTLS_@-CERT_@-SIGNATURE_@-FAILURE --- undescribed -- +The signature verification failed. @item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-SUPERSEDED The revocation data are old and have been superseded. +@item GNUTLS_@-CERT_@-UNEXPECTED_@-OWNER +The owner is not the expected one. @item GNUTLS_@-CERT_@-REVOCATION_@-DATA_@-ISSUED_@-IN_@-FUTURE The revocation data have a future issue date. +@item GNUTLS_@-CERT_@-SIGNER_@-CONSTRAINTS_@-FAILURE +The certificate's signer constraints were +violated. +@item GNUTLS_@-CERT_@-MISMATCH +The certificate presented isn't the expected one (TOFU) @end table diff --git a/doc/enums/gnutls_certificate_verification_profiles_t b/doc/enums/gnutls_certificate_verification_profiles_t new file mode 100644 index 0000000..c320f64 --- /dev/null +++ b/doc/enums/gnutls_certificate_verification_profiles_t @@ -0,0 +1,29 @@ + + +@c gnutls_certificate_verification_profiles_t +@table @code +@item GNUTLS_@-PROFILE_@-VERY_@-WEAK +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_VERY_WEAK} (64 bits) +@item GNUTLS_@-PROFILE_@-LOW +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_LOW} (80 bits) +@item GNUTLS_@-PROFILE_@-LEGACY +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_LEGACY} (96 bits) +@item GNUTLS_@-PROFILE_@-MEDIUM +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_MEDIUM} (112 bits) +@item GNUTLS_@-PROFILE_@-HIGH +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_HIGH} (128 bits) +@item GNUTLS_@-PROFILE_@-ULTRA +A verification profile that +corresponds to @code{GNUTLS_SEC_PARAM_ULTRA} (256 bits) +@item GNUTLS_@-PROFILE_@-SUITEB128 +A verification profile that +applies the SUITEB128 rules +@item GNUTLS_@-PROFILE_@-SUITEB192 +A verification profile that +applies the SUITEB192 rules +@end table diff --git a/doc/enums/gnutls_certificate_verify_flags b/doc/enums/gnutls_certificate_verify_flags index f8708e5..2f3b7b3 100644 --- a/doc/enums/gnutls_certificate_verify_flags +++ b/doc/enums/gnutls_certificate_verify_flags @@ -4,13 +4,8 @@ @table @code @item GNUTLS_@-VERIFY_@-DISABLE_@-CA_@-SIGN If set a signer does not have to be -a certificate authority. This flag should normaly be disabled, +a certificate authority. This flag should normally be disabled, unless you know what this means. -@item GNUTLS_@-VERIFY_@-ALLOW_@-X509_@-V1_@-CA_@-CRT -Allow trusted CA certificates -with version 1. This is safer than @code{GNUTLS_VERIFY_ALLOW_ANY_X509_V1_CA_CRT} , -and should be used instead. That way only signers in your trusted list -will be allowed to have certificates of version 1. This is the default. @item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-SAME If a certificate is not signed by anyone trusted but exists in the trusted CA list do not treat it @@ -19,8 +14,7 @@ as trusted. Allow CA certificates that have version 1 (both root and intermediate). This might be dangerous since those haven't the basicConstraints -extension. Must be used in combination with -@code{GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT} . +extension. @item GNUTLS_@-VERIFY_@-ALLOW_@-SIGN_@-RSA_@-MD2 Allow certificates to be signed using the broken MD2 algorithm. @@ -40,8 +34,15 @@ certificates that have version 1. This option is to be used to deprecate all certificates of version 1. @item GNUTLS_@-VERIFY_@-DISABLE_@-CRL_@-CHECKS Disable checking for validity -using certificate revocation lists. +using certificate revocation lists or the available OCSP data. @item GNUTLS_@-VERIFY_@-ALLOW_@-UNSORTED_@-CHAIN A certificate chain is tolerated -if unsorted (the case with many TLS servers out there). +if unsorted (the case with many TLS servers out there). This is the +default since GnuTLS 3.1.4. +@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-UNSORTED_@-CHAIN +Do not tolerate an unsorted +certificate chain. +@item GNUTLS_@-VERIFY_@-DO_@-NOT_@-ALLOW_@-WILDCARDS +When including a hostname +check in the verification, do not consider any wildcards. @end table diff --git a/doc/enums/gnutls_cipher_algorithm_t b/doc/enums/gnutls_cipher_algorithm_t index 45fd045..355217a 100644 --- a/doc/enums/gnutls_cipher_algorithm_t +++ b/doc/enums/gnutls_cipher_algorithm_t @@ -30,6 +30,16 @@ AES in CBC mode with 192-bit keys. AES in GCM mode with 128-bit keys. @item GNUTLS_@-CIPHER_@-AES_@-256_@-GCM AES in GCM mode with 256-bit keys. +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-192_@-CBC +Camellia in CBC mode with 192-bit keys. +@item GNUTLS_@-CIPHER_@-SALSA20_@-256 +-- undescribed -- +@item GNUTLS_@-CIPHER_@-ESTREAM_@-SALSA20_@-256 +-- undescribed -- +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-128_@-GCM +CAMELLIA in GCM mode with 128-bit keys. +@item GNUTLS_@-CIPHER_@-CAMELLIA_@-256_@-GCM +CAMELLIA in GCM mode with 256-bit keys. @item GNUTLS_@-CIPHER_@-IDEA_@-PGP_@-CFB IDEA in CFB mode. @item GNUTLS_@-CIPHER_@-3DES_@-PGP_@-CFB diff --git a/doc/enums/gnutls_handshake_description_t b/doc/enums/gnutls_handshake_description_t index 829eea9..1a64398 100644 --- a/doc/enums/gnutls_handshake_description_t +++ b/doc/enums/gnutls_handshake_description_t @@ -26,10 +26,12 @@ Certificate verify. Client key exchange. @item GNUTLS_@-HANDSHAKE_@-FINISHED Finished. +@item GNUTLS_@-HANDSHAKE_@-CERTIFICATE_@-STATUS +Certificate status (OCSP). @item GNUTLS_@-HANDSHAKE_@-SUPPLEMENTAL Supplemental. @item GNUTLS_@-HANDSHAKE_@-CHANGE_@-CIPHER_@-SPEC -Change Cipher Spec +Change Cipher Spec. @item GNUTLS_@-HANDSHAKE_@-CLIENT_@-HELLO_@-V2 SSLv2 Client Hello. @end table diff --git a/doc/enums/gnutls_kx_algorithm_t b/doc/enums/gnutls_kx_algorithm_t index 59ebfc5..eebf3f2 100644 --- a/doc/enums/gnutls_kx_algorithm_t +++ b/doc/enums/gnutls_kx_algorithm_t @@ -15,7 +15,7 @@ Anon-DH key-exchange algorithm. @item GNUTLS_@-KX_@-SRP SRP key-exchange algorithm. @item GNUTLS_@-KX_@-RSA_@-EXPORT -RSA-EXPORT key-exchange algorithm. +RSA-EXPORT key-exchange algorithm (defunc). @item GNUTLS_@-KX_@-SRP_@-RSA SRP-RSA key-exchange algorithm. @item GNUTLS_@-KX_@-SRP_@-DSS @@ -32,4 +32,6 @@ ECDHE-RSA key-exchange algorithm. ECDHE-ECDSA key-exchange algorithm. @item GNUTLS_@-KX_@-ECDHE_@-PSK ECDHE-PSK key-exchange algorithm. +@item GNUTLS_@-KX_@-RSA_@-PSK +RSA-PSK key-exchange algorithm. @end table diff --git a/doc/enums/gnutls_mac_algorithm_t b/doc/enums/gnutls_mac_algorithm_t index 2be3159..30b1f54 100644 --- a/doc/enums/gnutls_mac_algorithm_t +++ b/doc/enums/gnutls_mac_algorithm_t @@ -24,4 +24,8 @@ HMAC-SHA-512 algorithm. HMAC-SHA-224 algorithm. @item GNUTLS_@-MAC_@-AEAD MAC implicit through AEAD cipher. +@item GNUTLS_@-MAC_@-UMAC_@-96 +The UMAC-96 MAC algorithm. +@item GNUTLS_@-MAC_@-UMAC_@-128 +The UMAC-128 MAC algorithm. @end table diff --git a/doc/enums/gnutls_ocsp_cert_status_t b/doc/enums/gnutls_ocsp_cert_status_t new file mode 100644 index 0000000..0a12aa9 --- /dev/null +++ b/doc/enums/gnutls_ocsp_cert_status_t @@ -0,0 +1,12 @@ + + +@c gnutls_ocsp_cert_status_t +@table @code +@item GNUTLS_@-OCSP_@-CERT_@-GOOD +Positive response to status inquiry. +@item GNUTLS_@-OCSP_@-CERT_@-REVOKED +Certificate has been revoked. +@item GNUTLS_@-OCSP_@-CERT_@-UNKNOWN +The responder doesn't know about the +certificate. +@end table diff --git a/doc/enums/gnutls_ocsp_print_formats_t b/doc/enums/gnutls_ocsp_print_formats_t new file mode 100644 index 0000000..8880880 --- /dev/null +++ b/doc/enums/gnutls_ocsp_print_formats_t @@ -0,0 +1,9 @@ + + +@c gnutls_ocsp_print_formats_t +@table @code +@item GNUTLS_@-OCSP_@-PRINT_@-FULL +Full information about OCSP request/response. +@item GNUTLS_@-OCSP_@-PRINT_@-COMPACT +More compact information about OCSP request/response. +@end table diff --git a/doc/enums/gnutls_ocsp_resp_status_t b/doc/enums/gnutls_ocsp_resp_status_t new file mode 100644 index 0000000..b199eb5 --- /dev/null +++ b/doc/enums/gnutls_ocsp_resp_status_t @@ -0,0 +1,17 @@ + + +@c gnutls_ocsp_resp_status_t +@table @code +@item GNUTLS_@-OCSP_@-RESP_@-SUCCESSFUL +Response has valid confirmations. +@item GNUTLS_@-OCSP_@-RESP_@-MALFORMEDREQUEST +Illegal confirmation request +@item GNUTLS_@-OCSP_@-RESP_@-INTERNALERROR +Internal error in issuer +@item GNUTLS_@-OCSP_@-RESP_@-TRYLATER +Try again later +@item GNUTLS_@-OCSP_@-RESP_@-SIGREQUIRED +Must sign the request +@item GNUTLS_@-OCSP_@-RESP_@-UNAUTHORIZED +Request unauthorized +@end table diff --git a/doc/enums/gnutls_ocsp_verify_reason_t b/doc/enums/gnutls_ocsp_verify_reason_t new file mode 100644 index 0000000..7868452 --- /dev/null +++ b/doc/enums/gnutls_ocsp_verify_reason_t @@ -0,0 +1,19 @@ + + +@c gnutls_ocsp_verify_reason_t +@table @code +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-NOT_@-FOUND +Signer cert not found. +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNER_@-KEYUSAGE_@-ERROR +Signer keyusage bits incorrect. +@item GNUTLS_@-OCSP_@-VERIFY_@-UNTRUSTED_@-SIGNER +Signer is not trusted. +@item GNUTLS_@-OCSP_@-VERIFY_@-INSECURE_@-ALGORITHM +Signature using insecure algorithm. +@item GNUTLS_@-OCSP_@-VERIFY_@-SIGNATURE_@-FAILURE +Signature mismatch. +@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-NOT_@-ACTIVATED +Signer cert is not yet activated. +@item GNUTLS_@-OCSP_@-VERIFY_@-CERT_@-EXPIRED +Signer cert has expired. +@end table diff --git a/doc/enums/gnutls_params_type_t b/doc/enums/gnutls_params_type_t index d39b547..e4bc32c 100644 --- a/doc/enums/gnutls_params_type_t +++ b/doc/enums/gnutls_params_type_t @@ -3,7 +3,7 @@ @c gnutls_params_type_t @table @code @item GNUTLS_@-PARAMS_@-RSA_@-EXPORT -Session RSA-EXPORT parameters. +Session RSA-EXPORT parameters (defunc). @item GNUTLS_@-PARAMS_@-DH Session Diffie-Hellman parameters. @item GNUTLS_@-PARAMS_@-ECDH diff --git a/doc/enums/gnutls_pin_flag_t b/doc/enums/gnutls_pin_flag_t new file mode 100644 index 0000000..02cefc8 --- /dev/null +++ b/doc/enums/gnutls_pin_flag_t @@ -0,0 +1,17 @@ + + +@c gnutls_pin_flag_t +@table @code +@item GNUTLS_@-PIN_@-USER +The PIN for the user. +@item GNUTLS_@-PIN_@-SO +The PIN for the security officer (admin). +@item GNUTLS_@-PIN_@-FINAL_@-TRY +This is the final try before blocking. +@item GNUTLS_@-PIN_@-COUNT_@-LOW +Few tries remain before token blocks. +@item GNUTLS_@-PIN_@-CONTEXT_@-SPECIFIC +The PIN is for a specific action and key like signing. +@item GNUTLS_@-PIN_@-WRONG +Last given PIN was not correct. +@end table diff --git a/doc/enums/gnutls_pkcs11_token_info_t b/doc/enums/gnutls_pkcs11_token_info_t index d8e9063..5be8fe0 100644 --- a/doc/enums/gnutls_pkcs11_token_info_t +++ b/doc/enums/gnutls_pkcs11_token_info_t @@ -3,11 +3,11 @@ @c gnutls_pkcs11_token_info_t @table @code @item GNUTLS_@-PKCS11_@-TOKEN_@-LABEL -The token's label +The token's label (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-SERIAL -The token's serial number +The token's serial number (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-MANUFACTURER -The token's manufacturer +The token's manufacturer (string) @item GNUTLS_@-PKCS11_@-TOKEN_@-MODEL -The token's model +The token's model (string) @end table diff --git a/doc/enums/gnutls_pkcs11_url_type_t b/doc/enums/gnutls_pkcs11_url_type_t new file mode 100644 index 0000000..6609822 --- /dev/null +++ b/doc/enums/gnutls_pkcs11_url_type_t @@ -0,0 +1,29 @@ + +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_pkcs11_token_callback_t}) +@var{gnutls_pkcs11_token_callback_t}: -- undescribed -- + +Token callback function. The callback will be used to ask the user +to re-insert the token with given (null terminated) label. The +callback should return zero if token has been inserted by user and +a negative error code otherwise. It might be called multiple times +if the token is not detected and the retry counter will be +increased. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success or a negative error code +on error. + +@strong{Since:} 2.12.0 +@end deftypefun + + +@c gnutls_pkcs11_url_type_t +@table @code +@item GNUTLS_@-PKCS11_@-URL_@-GENERIC +A generic-purpose URL. +@item GNUTLS_@-PKCS11_@-URL_@-LIB +A URL that specifies the library used as well. +@item GNUTLS_@-PKCS11_@-URL_@-LIB_@-VERSION +A URL that specifies the library and its version. +@end table diff --git a/doc/enums/gnutls_pkcs12_bag_type_t b/doc/enums/gnutls_pkcs12_bag_type_t index 1ddb82f..336303a 100644 --- a/doc/enums/gnutls_pkcs12_bag_type_t +++ b/doc/enums/gnutls_pkcs12_bag_type_t @@ -1,4 +1,20 @@ +@subheading int +@anchor{int} +@deftypefun {typedef} {int} (* @var{gnutls_openpgp_recv_key_func}) +@var{gnutls_openpgp_recv_key_func}: -- undescribed -- + +A callback of this type is used to retrieve OpenPGP keys. Only +useful on the server, and will only be used if the peer send a key +fingerprint instead of a full key. See also +@code{gnutls_openpgp_set_recv_key_function()} . + +The variable @code{key} must be allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (zero) is returned, +otherwise an error code is returned. +@end deftypefun + @c gnutls_pkcs12_bag_type_t @table @code diff --git a/doc/enums/gnutls_pkcs_encrypt_flags_t b/doc/enums/gnutls_pkcs_encrypt_flags_t index fbf6741..3ca9be2 100644 --- a/doc/enums/gnutls_pkcs_encrypt_flags_t +++ b/doc/enums/gnutls_pkcs_encrypt_flags_t @@ -4,20 +4,12 @@ @table @code @item GNUTLS_@-PKCS_@-PLAIN Unencrypted private key. -@item GNUTLS_@-PKCS8_@-PLAIN -Same as @code{GNUTLS_PKCS_PLAIN} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-3DES PKCS-12 3DES. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-3DES -Same as @code{GNUTLS_PKCS_USE_PKCS12_3DES} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-ARCFOUR PKCS-12 ARCFOUR. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-ARCFOUR -Same as @code{GNUTLS_PKCS_USE_PKCS12_ARCFOUR} . @item GNUTLS_@-PKCS_@-USE_@-PKCS12_@-RC2_@-40 PKCS-12 RC2-40. -@item GNUTLS_@-PKCS8_@-USE_@-PKCS12_@-RC2_@-40 -Same as @code{GNUTLS_PKCS_USE_PKCS12_RC2_40} . @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-3DES PBES2 3DES. @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-AES_@-128 @@ -26,4 +18,6 @@ PBES2 AES-128. PBES2 AES-192. @item GNUTLS_@-PKCS_@-USE_@-PBES2_@-AES_@-256 PBES2 AES-256. +@item GNUTLS_@-PKCS_@-NULL_@-PASSWORD +Some schemas distinguish between an empty and a NULL password. @end table diff --git a/doc/enums/gnutls_privkey_flags_t b/doc/enums/gnutls_privkey_flags_t new file mode 100644 index 0000000..ace780d --- /dev/null +++ b/doc/enums/gnutls_privkey_flags_t @@ -0,0 +1,15 @@ + + +@c gnutls_privkey_flags_t +@table @code +@item GNUTLS_@-PRIVKEY_@-IMPORT_@-AUTO_@-RELEASE +When importing a private key, automatically +release it when the structure it was imported is released. +@item GNUTLS_@-PRIVKEY_@-IMPORT_@-COPY +Copy required values during import. +@item GNUTLS_@-PRIVKEY_@-DISABLE_@-CALLBACKS +The following flag disables call to PIN callbacks etc. +Only relevant to TPM keys. +@item GNUTLS_@-PRIVKEY_@-SIGN_@-FLAG_@-TLS1_@-RSA +Make an RSA signature on the hashed data as in the TLS protocol. +@end table diff --git a/doc/enums/gnutls_protocol_t b/doc/enums/gnutls_protocol_t index 425c6be..4ea9895 100644 --- a/doc/enums/gnutls_protocol_t +++ b/doc/enums/gnutls_protocol_t @@ -12,12 +12,18 @@ Same as @code{GNUTLS_TLS1_0} . TLS version 1.1. @item GNUTLS_@-TLS1_@-2 TLS version 1.2. -@item GNUTLS_@-DTLS1_@-0 -DTLS version 1.0. @item GNUTLS_@-DTLS0_@-9 DTLS version 0.9 (Cisco AnyConnect / OpenSSL 0.9.8e). -@item GNUTLS_@-VERSION_@-MAX -Maps to the highest supported TLS version. +@item GNUTLS_@-DTLS1_@-0 +DTLS version 1.0. +@item GNUTLS_@-DTLS1_@-2 +DTLS version 1.2. +@item GNUTLS_@-DTLS_@-VERSION_@-MIN +-- undescribed -- +@item GNUTLS_@-DTLS_@-VERSION_@-MAX +-- undescribed -- +@item GNUTLS_@-TLS_@-VERSION_@-MAX +-- undescribed -- @item GNUTLS_@-VERSION_@-UNKNOWN Unknown SSL/TLS version. @end table diff --git a/doc/enums/gnutls_pubkey_flags_t b/doc/enums/gnutls_pubkey_flags_t new file mode 100644 index 0000000..36264d9 --- /dev/null +++ b/doc/enums/gnutls_pubkey_flags_t @@ -0,0 +1,13 @@ + + +@c gnutls_pubkey_flags_t +@table @code +@item GNUTLS_@-PUBKEY_@-VERIFY_@-FLAG_@-TLS1_@-RSA +This indicates that a (raw) RSA signature is provided +as in the TLS 1.0 protocol. +@item GNUTLS_@-PUBKEY_@-DISABLE_@-CALLBACKS +The following flag disables call to PIN callbacks. Only +relevant to TPM keys. +@item GNUTLS_@-PUBKEY_@-GET_@-OPENPGP_@-FINGERPRINT +request an OPENPGP fingerprint instead of the default. +@end table diff --git a/doc/enums/gnutls_sec_param_t b/doc/enums/gnutls_sec_param_t index 0ada8c8..6b4657b 100644 --- a/doc/enums/gnutls_sec_param_t +++ b/doc/enums/gnutls_sec_param_t @@ -2,14 +2,22 @@ @c gnutls_sec_param_t @table @code +@item GNUTLS_@-SEC_@-PARAM_@-INSECURE +Less than 42 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-EXPORT +42 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-VERY_@-WEAK +64 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-WEAK +72 bits of security @item GNUTLS_@-SEC_@-PARAM_@-UNKNOWN Cannot be known @item GNUTLS_@-SEC_@-PARAM_@-LOW -low security level +80 bits of security @item GNUTLS_@-SEC_@-PARAM_@-LEGACY 96 bits of security -@item GNUTLS_@-SEC_@-PARAM_@-NORMAL -112 bits of security +@item GNUTLS_@-SEC_@-PARAM_@-MEDIUM +112 bits of security (used to be @code{GNUTLS_SEC_PARAM_NORMAL} ) @item GNUTLS_@-SEC_@-PARAM_@-HIGH 128 bits of security @item GNUTLS_@-SEC_@-PARAM_@-ULTRA diff --git a/doc/enums/gnutls_sign_algorithm_t b/doc/enums/gnutls_sign_algorithm_t index 4f60cc5..647ff80 100644 --- a/doc/enums/gnutls_sign_algorithm_t +++ b/doc/enums/gnutls_sign_algorithm_t @@ -40,4 +40,8 @@ Digital signature algorithm ECDSA with SHA-256. Digital signature algorithm ECDSA with SHA-384. @item GNUTLS_@-SIGN_@-ECDSA_@-SHA512 Digital signature algorithm ECDSA with SHA-512. +@item GNUTLS_@-SIGN_@-DSA_@-SHA384 +-- undescribed -- +@item GNUTLS_@-SIGN_@-DSA_@-SHA512 +-- undescribed -- @end table diff --git a/doc/enums/gnutls_srtp_profile_t b/doc/enums/gnutls_srtp_profile_t new file mode 100644 index 0000000..23c0c86 --- /dev/null +++ b/doc/enums/gnutls_srtp_profile_t @@ -0,0 +1,13 @@ + + +@c gnutls_srtp_profile_t +@table @code +@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-80 +128 bit AES with a 80 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-AES128_@-CM_@-HMAC_@-SHA1_@-32 +128 bit AES with a 32 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-80 +NULL cipher with a 80 bit HMAC-SHA1 +@item GNUTLS_@-SRTP_@-NULL_@-HMAC_@-SHA1_@-32 +NULL cipher with a 32 bit HMAC-SHA1 +@end table diff --git a/doc/enums/gnutls_tpmkey_fmt_t b/doc/enums/gnutls_tpmkey_fmt_t new file mode 100644 index 0000000..46a66d9 --- /dev/null +++ b/doc/enums/gnutls_tpmkey_fmt_t @@ -0,0 +1,11 @@ + + +@c gnutls_tpmkey_fmt_t +@table @code +@item GNUTLS_@-TPMKEY_@-FMT_@-RAW +The portable data format. +@item GNUTLS_@-TPMKEY_@-FMT_@-DER +An alias for the raw format. +@item GNUTLS_@-TPMKEY_@-FMT_@-CTK_@-PEM +A custom data format used by some TPM tools. +@end table diff --git a/doc/enums/gnutls_vdata_types_t b/doc/enums/gnutls_vdata_types_t new file mode 100644 index 0000000..54ee0fd --- /dev/null +++ b/doc/enums/gnutls_vdata_types_t @@ -0,0 +1,11 @@ + + +@c gnutls_vdata_types_t +@table @code +@item GNUTLS_@-DT_@-UNKNOWN +Unknown data type. +@item GNUTLS_@-DT_@-DNS_@-HOSTNAME +The data contain a null-terminated DNS hostname. +@item GNUTLS_@-DT_@-KEY_@-PURPOSE_@-OID +The data contain a null-terminated key purpose OID. +@end table diff --git a/doc/enums/gnutls_x509_crl_reason_t b/doc/enums/gnutls_x509_crl_reason_t new file mode 100644 index 0000000..7419a13 --- /dev/null +++ b/doc/enums/gnutls_x509_crl_reason_t @@ -0,0 +1,25 @@ + + +@c gnutls_x509_crl_reason_t +@table @code +@item GNUTLS_@-X509_@-CRLREASON_@-UNSPECIFIED +Unspecified reason. +@item GNUTLS_@-X509_@-CRLREASON_@-KEYCOMPROMISE +Private key compromised. +@item GNUTLS_@-X509_@-CRLREASON_@-CACOMPROMISE +CA compromised. +@item GNUTLS_@-X509_@-CRLREASON_@-AFFILIATIONCHANGED +Affiliation has changed. +@item GNUTLS_@-X509_@-CRLREASON_@-SUPERSEDED +Certificate superseded. +@item GNUTLS_@-X509_@-CRLREASON_@-CESSATIONOFOPERATION +Operation has ceased. +@item GNUTLS_@-X509_@-CRLREASON_@-CERTIFICATEHOLD +Certificate is on hold. +@item GNUTLS_@-X509_@-CRLREASON_@-REMOVEFROMCRL +Will be removed from delta CRL. +@item GNUTLS_@-X509_@-CRLREASON_@-PRIVILEGEWITHDRAWN +Privilege withdrawn. +@item GNUTLS_@-X509_@-CRLREASON_@-AACOMPROMISE +AA compromised. +@end table diff --git a/doc/errcodes.c b/doc/errcodes.c index 93f3a63..defee3a 100644 --- a/doc/errcodes.c +++ b/doc/errcodes.c @@ -29,126 +29,129 @@ #include "common.h" static void main_latex(void); -static int main_texinfo (void); +static int main_texinfo(void); #define MAX_CODES 600 -typedef struct -{ - char name[128]; - int error_index; +typedef struct { + char name[128]; + int error_index; } error_name; -static int -compar (const void *_n1, const void *_n2) +static int compar(const void *_n1, const void *_n2) { - const error_name *n1 = (const error_name *) _n1, - *n2 = (const error_name *) _n2; - return strcmp (n1->name, n2->name); + const error_name *n1 = (const error_name *) _n1, + *n2 = (const error_name *) _n2; + return strcmp(n1->name, n2->name); } static const char headers[] = "\\tablefirsthead{%\n" - "\\hline\n" - "\\multicolumn{1}{|c}{Code} &\n" - "\\multicolumn{1}{c}{Name} &\n" - "\\multicolumn{1}{c|}{Description} \\\\\n" - "\\hline}\n" + "\\hline\n" + "\\multicolumn{1}{|c}{Code} &\n" + "\\multicolumn{1}{c}{Name} &\n" + "\\multicolumn{1}{c|}{Description} \\\\\n" "\\hline}\n" #if 0 - "\\tablehead{%\n" - "\\hline\n" - "\\multicolumn{3}{|l|}{\\small\\sl continued from previous page}\\\\\n" - "\\hline}\n" - "\\tabletail{%\n" - "\\hline\n" - "\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n" - "\\hline}\n" + "\\tablehead{%\n" + "\\hline\n" + "\\multicolumn{3}{|l|}{\\small\\sl continued from previous page}\\\\\n" + "\\hline}\n" + "\\tabletail{%\n" + "\\hline\n" + "\\multicolumn{3}{|r|}{\\small\\sl continued on next page}\\\\\n" + "\\hline}\n" #endif - "\\tablelasttail{\\hline}\n" - "\\bottomcaption{The error codes table}\n\n"; + "\\tablelasttail{\\hline}\n" + "\\bottomcaption{The error codes table}\n\n"; -int -main (int argc, char *argv[]) +int main(int argc, char *argv[]) { - if (argc > 1) - main_latex(); - else - main_texinfo(); - - return 0; + if (argc > 1) + main_latex(); + else + main_texinfo(); + + return 0; } -static int main_texinfo (void) +static int main_texinfo(void) { - int i, j; - const char *desc; - const char *_name; - char buffer[500]; - error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */ + int i, j; + const char *desc; + const char *_name; + char buffer[500]; + error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */ - printf ("@multitable @columnfractions .15 .40 .37\n"); + printf("@multitable @columnfractions .15 .40 .37\n"); - memset (names_to_sort, 0, sizeof (names_to_sort)); - j = 0; - for (i = 0; i > -MAX_CODES; i--) - { - _name = gnutls_strerror_name (i); - if (_name == NULL) - continue; + memset(names_to_sort, 0, sizeof(names_to_sort)); + j = 0; + for (i = 0; i > -MAX_CODES; i--) { + _name = gnutls_strerror_name(i); + if (_name == NULL) + continue; - desc = gnutls_strerror (i); + desc = gnutls_strerror(i); - printf ("@item %d @tab %s @tab %s\n", i, escape_texi_string(_name, buffer,sizeof(buffer)), desc); + printf("@item %d @tab %s @tab %s\n", i, + escape_texi_string(_name, buffer, sizeof(buffer)), + desc); - strcpy (names_to_sort[j].name, _name); - names_to_sort[j].error_index = i; - j++; - } + strcpy(names_to_sort[j].name, _name); + names_to_sort[j].error_index = i; + j++; + } - printf ("@end multitable\n"); + printf("@end multitable\n"); - return 0; + return 0; } static void main_latex(void) { -int i, j; -static char buffer1[500]; -static char buffer2[500]; -const char* desc; -const char* _name; -error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */ - -puts( headers); - -printf("\\begin{supertabular}{|p{.05\\linewidth}|p{.40\\linewidth}|p{.45\\linewidth}|}\n"); - -memset( names_to_sort, 0, sizeof(names_to_sort)); -j=0; -for (i=0;i>-MAX_CODES;i--) -{ - _name = gnutls_strerror_name(i); - if ( _name == NULL) continue; - - strcpy( names_to_sort[j].name, _name); - names_to_sort[j].error_index = i; - j++; -} + int i, j; + static char buffer1[500]; + static char buffer2[500]; + const char *desc; + const char *_name; + error_name names_to_sort[MAX_CODES]; /* up to MAX_CODES names */ + + puts(headers); + + printf + ("\\begin{supertabular}{|p{.05\\linewidth}|p{.40\\linewidth}|p{.45\\linewidth}|}\n"); + + memset(names_to_sort, 0, sizeof(names_to_sort)); + j = 0; + for (i = 0; i > -MAX_CODES; i--) { + _name = gnutls_strerror_name(i); + if (_name == NULL) + continue; + + strcpy(names_to_sort[j].name, _name); + names_to_sort[j].error_index = i; + j++; + } //qsort( names_to_sort, j, sizeof(error_name), compar); -for (i=0;i&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ esac; \ - test $$am__dry = yes; \ - } + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -74,126 +101,110 @@ build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = ex-client-resume$(EXEEXT) ex-client-dtls$(EXEEXT) \ ex-cert-select$(EXEEXT) ex-client-x509$(EXEEXT) \ + ex-serv-dtls$(EXEEXT) print-ciphersuites$(EXEEXT) \ $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \ - $(am__EXEEXT_7) -@ENABLE_CXX_TRUE@am__append_1 = ex-cxx -@ENABLE_ANON_TRUE@am__append_2 = ex-client-anon ex-serv-anon -@ENABLE_OPENPGP_TRUE@am__append_3 = ex-serv-pgp -@ENABLE_PKCS11_TRUE@am__append_4 = ex-cert-select-pkcs11 -@ENABLE_PSK_TRUE@am__append_5 = ex-client-psk ex-serv-psk -@ENABLE_SRP_TRUE@am__append_6 = ex-client-srp ex-serv-srp -@ENABLE_OCSP_TRUE@am__append_7 = ex-ocsp-client + $(am__EXEEXT_7) $(am__EXEEXT_8) +@ENABLE_OCSP_TRUE@am__append_1 = ex-serv-x509 +@ENABLE_CXX_TRUE@am__append_2 = ex-cxx +@ENABLE_ANON_TRUE@am__append_3 = ex-client-anon ex-serv-anon +@ENABLE_OPENPGP_TRUE@am__append_4 = ex-serv-pgp +@ENABLE_PKCS11_TRUE@am__append_5 = ex-cert-select-pkcs11 +@ENABLE_PSK_TRUE@am__append_6 = ex-client-psk ex-serv-psk +@ENABLE_SRP_TRUE@am__append_7 = ex-client-srp ex-serv-srp +@ENABLE_OCSP_TRUE@am__append_8 = ex-ocsp-client subdir = doc/examples -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ - $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \ - $(top_srcdir)/gl/m4/alphasort.m4 $(top_srcdir)/gl/m4/argp.m4 \ - $(top_srcdir)/gl/m4/arpa_inet_h.m4 \ - $(top_srcdir)/gl/m4/base64.m4 $(top_srcdir)/gl/m4/byteswap.m4 \ - $(top_srcdir)/gl/m4/clock_time.m4 $(top_srcdir)/gl/m4/close.m4 \ - $(top_srcdir)/gl/m4/closedir.m4 \ - $(top_srcdir)/gl/m4/dirent_h.m4 $(top_srcdir)/gl/m4/dirname.m4 \ - $(top_srcdir)/gl/m4/double-slash-root.m4 \ - $(top_srcdir)/gl/m4/dup2.m4 $(top_srcdir)/gl/m4/eealloc.m4 \ - $(top_srcdir)/gl/m4/environ.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ - $(top_srcdir)/gl/m4/error.m4 $(top_srcdir)/gl/m4/exponentd.m4 \ - $(top_srcdir)/gl/m4/exponentf.m4 \ - $(top_srcdir)/gl/m4/exponentl.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/arpa_inet_h.m4 \ + $(top_srcdir)/src/gl/m4/bison.m4 \ + $(top_srcdir)/src/gl/m4/clock_time.m4 \ + $(top_srcdir)/src/gl/m4/close.m4 \ + $(top_srcdir)/src/gl/m4/dup2.m4 \ + $(top_srcdir)/src/gl/m4/eealloc.m4 \ + $(top_srcdir)/src/gl/m4/environ.m4 \ + $(top_srcdir)/src/gl/m4/error.m4 \ + $(top_srcdir)/src/gl/m4/fseek.m4 \ + $(top_srcdir)/src/gl/m4/getaddrinfo.m4 \ + $(top_srcdir)/src/gl/m4/getpass.m4 \ + $(top_srcdir)/src/gl/m4/gettime.m4 \ + $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \ + $(top_srcdir)/src/gl/m4/hostent.m4 \ + $(top_srcdir)/src/gl/m4/inet_ntop.m4 \ + $(top_srcdir)/src/gl/m4/inet_pton.m4 \ + $(top_srcdir)/src/gl/m4/malloca.m4 \ + $(top_srcdir)/src/gl/m4/mktime.m4 \ + $(top_srcdir)/src/gl/m4/parse-datetime.m4 \ + $(top_srcdir)/src/gl/m4/select.m4 \ + $(top_srcdir)/src/gl/m4/servent.m4 \ + $(top_srcdir)/src/gl/m4/setenv.m4 \ + $(top_srcdir)/src/gl/m4/signal_h.m4 \ + $(top_srcdir)/src/gl/m4/socketlib.m4 \ + $(top_srcdir)/src/gl/m4/sockets.m4 \ + $(top_srcdir)/src/gl/m4/strdup.m4 \ + $(top_srcdir)/src/gl/m4/strerror.m4 \ + $(top_srcdir)/src/gl/m4/sys_select_h.m4 \ + $(top_srcdir)/src/gl/m4/timespec.m4 \ + $(top_srcdir)/src/gl/m4/tm_gmtoff.m4 \ + $(top_srcdir)/src/gl/m4/xalloc.m4 \ + $(top_srcdir)/src/libopts/m4/libopts.m4 \ + $(top_srcdir)/gl/m4/00gnulib.m4 \ + $(top_srcdir)/gl/m4/absolute-header.m4 \ + $(top_srcdir)/gl/m4/alloca.m4 $(top_srcdir)/gl/m4/base64.m4 \ + $(top_srcdir)/gl/m4/byteswap.m4 $(top_srcdir)/gl/m4/errno_h.m4 \ + $(top_srcdir)/gl/m4/exponentd.m4 \ $(top_srcdir)/gl/m4/extensions.m4 \ $(top_srcdir)/gl/m4/extern-inline.m4 \ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \ $(top_srcdir)/gl/m4/float_h.m4 $(top_srcdir)/gl/m4/fpieee.m4 \ - $(top_srcdir)/gl/m4/frexp.m4 $(top_srcdir)/gl/m4/frexpl.m4 \ - $(top_srcdir)/gl/m4/fseek.m4 $(top_srcdir)/gl/m4/fseeko.m4 \ - $(top_srcdir)/gl/m4/fseterr.m4 $(top_srcdir)/gl/m4/fstat.m4 \ + $(top_srcdir)/gl/m4/fseeko.m4 $(top_srcdir)/gl/m4/fstat.m4 \ $(top_srcdir)/gl/m4/ftell.m4 $(top_srcdir)/gl/m4/ftello.m4 \ - $(top_srcdir)/gl/m4/ftruncate.m4 $(top_srcdir)/gl/m4/func.m4 \ - $(top_srcdir)/gl/m4/getaddrinfo.m4 \ - $(top_srcdir)/gl/m4/getcwd.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ - $(top_srcdir)/gl/m4/getdtablesize.m4 \ - $(top_srcdir)/gl/m4/getline.m4 $(top_srcdir)/gl/m4/getopt.m4 \ + $(top_srcdir)/gl/m4/func.m4 $(top_srcdir)/gl/m4/getdelim.m4 \ + $(top_srcdir)/gl/m4/getline.m4 \ $(top_srcdir)/gl/m4/getpagesize.m4 \ - $(top_srcdir)/gl/m4/getpass.m4 \ - $(top_srcdir)/gl/m4/getsubopt.m4 \ - $(top_srcdir)/gl/m4/gettime.m4 \ $(top_srcdir)/gl/m4/gettimeofday.m4 \ $(top_srcdir)/gl/m4/gnulib-common.m4 \ $(top_srcdir)/gl/m4/gnulib-comp.m4 \ - $(top_srcdir)/gl/m4/hostent.m4 \ $(top_srcdir)/gl/m4/include_next.m4 \ - $(top_srcdir)/gl/m4/inet_ntop.m4 \ - $(top_srcdir)/gl/m4/inet_pton.m4 \ $(top_srcdir)/gl/m4/intmax_t.m4 \ - $(top_srcdir)/gl/m4/inttypes.m4 $(top_srcdir)/gl/m4/ioctl.m4 \ - $(top_srcdir)/gl/m4/isnand.m4 $(top_srcdir)/gl/m4/isnanf.m4 \ - $(top_srcdir)/gl/m4/isnanl.m4 $(top_srcdir)/gl/m4/largefile.m4 \ + $(top_srcdir)/gl/m4/inttypes.m4 \ + $(top_srcdir)/gl/m4/largefile.m4 \ $(top_srcdir)/gl/m4/ld-output-def.m4 \ $(top_srcdir)/gl/m4/ld-version-script.m4 \ - $(top_srcdir)/gl/m4/ldexpl.m4 $(top_srcdir)/gl/m4/lseek.m4 \ - $(top_srcdir)/gl/m4/lstat.m4 $(top_srcdir)/gl/m4/malloc.m4 \ - $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/lseek.m4 $(top_srcdir)/gl/m4/malloc.m4 \ $(top_srcdir)/gl/m4/manywarnings.m4 \ - $(top_srcdir)/gl/m4/math_h.m4 $(top_srcdir)/gl/m4/memchr.m4 \ - $(top_srcdir)/gl/m4/memmem.m4 $(top_srcdir)/gl/m4/mempcpy.m4 \ + $(top_srcdir)/gl/m4/memchr.m4 $(top_srcdir)/gl/m4/memmem.m4 \ $(top_srcdir)/gl/m4/minmax.m4 $(top_srcdir)/gl/m4/mmap-anon.m4 \ - $(top_srcdir)/gl/m4/mode_t.m4 \ $(top_srcdir)/gl/m4/msvc-inval.m4 \ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \ $(top_srcdir)/gl/m4/multiarch.m4 \ $(top_srcdir)/gl/m4/netdb_h.m4 \ $(top_srcdir)/gl/m4/netinet_in_h.m4 \ - $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/off_t.m4 \ + $(top_srcdir)/gl/m4/off_t.m4 \ $(top_srcdir)/gl/m4/onceonly_2_57.m4 \ - $(top_srcdir)/gl/m4/open.m4 $(top_srcdir)/gl/m4/opendir.m4 \ - $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/perror.m4 \ - $(top_srcdir)/gl/m4/pipe.m4 \ - $(top_srcdir)/gl/m4/printf-frexp.m4 \ - $(top_srcdir)/gl/m4/printf-frexpl.m4 \ - $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/putenv.m4 \ - $(top_srcdir)/gl/m4/rawmemchr.m4 \ - $(top_srcdir)/gl/m4/read-file.m4 \ - $(top_srcdir)/gl/m4/readdir.m4 $(top_srcdir)/gl/m4/realloc.m4 \ - $(top_srcdir)/gl/m4/scandir.m4 $(top_srcdir)/gl/m4/select.m4 \ - $(top_srcdir)/gl/m4/servent.m4 $(top_srcdir)/gl/m4/setenv.m4 \ - $(top_srcdir)/gl/m4/signal_h.m4 $(top_srcdir)/gl/m4/signbit.m4 \ - $(top_srcdir)/gl/m4/sleep.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ - $(top_srcdir)/gl/m4/socketlib.m4 \ - $(top_srcdir)/gl/m4/sockets.m4 $(top_srcdir)/gl/m4/socklen.m4 \ - $(top_srcdir)/gl/m4/sockpfaf.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \ - $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ - $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/stdbool.m4 \ - $(top_srcdir)/gl/m4/stddef_h.m4 $(top_srcdir)/gl/m4/stdint.m4 \ - $(top_srcdir)/gl/m4/stdio_h.m4 $(top_srcdir)/gl/m4/stdlib_h.m4 \ - $(top_srcdir)/gl/m4/strcase.m4 \ - $(top_srcdir)/gl/m4/strchrnul.m4 $(top_srcdir)/gl/m4/strdup.m4 \ - $(top_srcdir)/gl/m4/strerror.m4 \ - $(top_srcdir)/gl/m4/strerror_r.m4 \ + $(top_srcdir)/gl/m4/printf.m4 $(top_srcdir)/gl/m4/read-file.m4 \ + $(top_srcdir)/gl/m4/realloc.m4 $(top_srcdir)/gl/m4/snprintf.m4 \ + $(top_srcdir)/gl/m4/socklen.m4 $(top_srcdir)/gl/m4/sockpfaf.m4 \ + $(top_srcdir)/gl/m4/ssize_t.m4 $(top_srcdir)/gl/m4/stdalign.m4 \ + $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \ + $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \ + $(top_srcdir)/gl/m4/stdlib_h.m4 $(top_srcdir)/gl/m4/strcase.m4 \ $(top_srcdir)/gl/m4/string_h.m4 \ $(top_srcdir)/gl/m4/strings_h.m4 \ $(top_srcdir)/gl/m4/strndup.m4 $(top_srcdir)/gl/m4/strnlen.m4 \ $(top_srcdir)/gl/m4/strtok_r.m4 \ $(top_srcdir)/gl/m4/strverscmp.m4 \ - $(top_srcdir)/gl/m4/symlink.m4 \ - $(top_srcdir)/gl/m4/sys_ioctl_h.m4 \ - $(top_srcdir)/gl/m4/sys_select_h.m4 \ $(top_srcdir)/gl/m4/sys_socket_h.m4 \ $(top_srcdir)/gl/m4/sys_stat_h.m4 \ $(top_srcdir)/gl/m4/sys_time_h.m4 \ $(top_srcdir)/gl/m4/sys_types_h.m4 \ - $(top_srcdir)/gl/m4/sys_uio_h.m4 \ - $(top_srcdir)/gl/m4/sysexits.m4 $(top_srcdir)/gl/m4/time_h.m4 \ - $(top_srcdir)/gl/m4/time_r.m4 \ - $(top_srcdir)/gl/m4/timer_time.m4 \ - $(top_srcdir)/gl/m4/timespec.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ + $(top_srcdir)/gl/m4/sys_uio_h.m4 $(top_srcdir)/gl/m4/time_h.m4 \ + $(top_srcdir)/gl/m4/time_r.m4 $(top_srcdir)/gl/m4/ungetc.m4 \ $(top_srcdir)/gl/m4/unistd_h.m4 \ $(top_srcdir)/gl/m4/valgrind-tests.m4 \ $(top_srcdir)/gl/m4/vasnprintf.m4 \ $(top_srcdir)/gl/m4/vasprintf.m4 \ - $(top_srcdir)/gl/m4/version-etc.m4 \ - $(top_srcdir)/gl/m4/vfprintf-posix.m4 \ - $(top_srcdir)/gl/m4/vprintf-posix.m4 \ $(top_srcdir)/gl/m4/vsnprintf.m4 \ $(top_srcdir)/gl/m4/warn-on-use.m4 \ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \ @@ -204,13 +215,12 @@ am__aclocal_m4_deps = $(top_srcdir)/src/libopts/m4/libopts.m4 \ $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/threadlib.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/longlong.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -223,111 +233,158 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) libexamples_la_LIBADD = am_libexamples_la_OBJECTS = ex-alert.lo ex-pkcs12.lo \ ex-session-info.lo ex-x509-info.lo ex-verify.lo tcp.lo udp.lo \ - ex-pkcs11-list.lo verify.lo ex-verify-ssh.lo ex-serv-dtls.lo \ - print-ciphersuites.lo + ex-pkcs11-list.lo verify.lo ex-verify-ssh.lo libexamples_la_OBJECTS = $(am_libexamples_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent -@ENABLE_CXX_TRUE@am__EXEEXT_1 = ex-cxx$(EXEEXT) -@ENABLE_ANON_TRUE@am__EXEEXT_2 = ex-client-anon$(EXEEXT) \ +am__v_lt_1 = +@ENABLE_OCSP_TRUE@am__EXEEXT_1 = ex-serv-x509$(EXEEXT) +@ENABLE_CXX_TRUE@am__EXEEXT_2 = ex-cxx$(EXEEXT) +@ENABLE_ANON_TRUE@am__EXEEXT_3 = ex-client-anon$(EXEEXT) \ @ENABLE_ANON_TRUE@ ex-serv-anon$(EXEEXT) -@ENABLE_OPENPGP_TRUE@am__EXEEXT_3 = ex-serv-pgp$(EXEEXT) -@ENABLE_PKCS11_TRUE@am__EXEEXT_4 = ex-cert-select-pkcs11$(EXEEXT) -@ENABLE_PSK_TRUE@am__EXEEXT_5 = ex-client-psk$(EXEEXT) \ +@ENABLE_OPENPGP_TRUE@am__EXEEXT_4 = ex-serv-pgp$(EXEEXT) +@ENABLE_PKCS11_TRUE@am__EXEEXT_5 = ex-cert-select-pkcs11$(EXEEXT) +@ENABLE_PSK_TRUE@am__EXEEXT_6 = ex-client-psk$(EXEEXT) \ @ENABLE_PSK_TRUE@ ex-serv-psk$(EXEEXT) -@ENABLE_SRP_TRUE@am__EXEEXT_6 = ex-client-srp$(EXEEXT) \ +@ENABLE_SRP_TRUE@am__EXEEXT_7 = ex-client-srp$(EXEEXT) \ @ENABLE_SRP_TRUE@ ex-serv-srp$(EXEEXT) -@ENABLE_OCSP_TRUE@am__EXEEXT_7 = ex-ocsp-client$(EXEEXT) +@ENABLE_OCSP_TRUE@am__EXEEXT_8 = ex-ocsp-client$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) ex_cert_select_SOURCES = ex-cert-select.c ex_cert_select_OBJECTS = ex-cert-select.$(OBJEXT) ex_cert_select_LDADD = $(LDADD) am__DEPENDENCIES_1 = ex_cert_select_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_cert_select_pkcs11_SOURCES = ex-cert-select-pkcs11.c ex_cert_select_pkcs11_OBJECTS = ex-cert-select-pkcs11.$(OBJEXT) ex_cert_select_pkcs11_LDADD = $(LDADD) ex_cert_select_pkcs11_DEPENDENCIES = libexamples.la \ ../../lib/libgnutls.la ../../gl/libgnu.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + ../../src/gl/libgnu_gpl.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) ex_client_anon_SOURCES = ex-client-anon.c ex_client_anon_OBJECTS = ex-client-anon.$(OBJEXT) ex_client_anon_LDADD = $(LDADD) ex_client_anon_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_client_dtls_SOURCES = ex-client-dtls.c ex_client_dtls_OBJECTS = ex-client-dtls.$(OBJEXT) ex_client_dtls_LDADD = $(LDADD) ex_client_dtls_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_client_psk_SOURCES = ex-client-psk.c ex_client_psk_OBJECTS = ex-client-psk.$(OBJEXT) ex_client_psk_LDADD = $(LDADD) ex_client_psk_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_client_resume_SOURCES = ex-client-resume.c ex_client_resume_OBJECTS = ex-client-resume.$(OBJEXT) ex_client_resume_LDADD = $(LDADD) ex_client_resume_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_client_srp_SOURCES = ex-client-srp.c ex_client_srp_OBJECTS = ex-client-srp.$(OBJEXT) ex_client_srp_LDADD = $(LDADD) ex_client_srp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_client_x509_SOURCES = ex-client-x509.c ex_client_x509_OBJECTS = ex-client-x509.$(OBJEXT) ex_client_x509_LDADD = $(LDADD) ex_client_x509_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__ex_cxx_SOURCES_DIST = ex-cxx.cpp @ENABLE_CXX_TRUE@am_ex_cxx_OBJECTS = ex-cxx.$(OBJEXT) ex_cxx_OBJECTS = $(am_ex_cxx_OBJECTS) am__DEPENDENCIES_2 = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) -am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) ../../lib/libgnutlsxx.la +am__DEPENDENCIES_3 = ../../lib/libgnutlsxx.la $(am__DEPENDENCIES_2) @ENABLE_CXX_TRUE@ex_cxx_DEPENDENCIES = $(am__DEPENDENCIES_3) ex_ocsp_client_SOURCES = ex-ocsp-client.c ex_ocsp_client_OBJECTS = ex-ocsp-client.$(OBJEXT) ex_ocsp_client_LDADD = $(LDADD) ex_ocsp_client_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_serv_anon_SOURCES = ex-serv-anon.c ex_serv_anon_OBJECTS = ex-serv-anon.$(OBJEXT) ex_serv_anon_LDADD = $(LDADD) ex_serv_anon_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +ex_serv_dtls_SOURCES = ex-serv-dtls.c +ex_serv_dtls_OBJECTS = ex-serv-dtls.$(OBJEXT) +ex_serv_dtls_LDADD = $(LDADD) +ex_serv_dtls_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_serv_pgp_SOURCES = ex-serv-pgp.c ex_serv_pgp_OBJECTS = ex-serv-pgp.$(OBJEXT) ex_serv_pgp_LDADD = $(LDADD) ex_serv_pgp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_serv_psk_SOURCES = ex-serv-psk.c ex_serv_psk_OBJECTS = ex-serv-psk.$(OBJEXT) ex_serv_psk_LDADD = $(LDADD) ex_serv_psk_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) ex_serv_srp_SOURCES = ex-serv-srp.c ex_serv_srp_OBJECTS = ex-serv-srp.$(OBJEXT) ex_serv_srp_LDADD = $(LDADD) ex_serv_srp_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ - ../../gl/libgnu.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) +ex_serv_x509_SOURCES = ex-serv-x509.c +ex_serv_x509_OBJECTS = ex-serv-x509.$(OBJEXT) +ex_serv_x509_LDADD = $(LDADD) +ex_serv_x509_DEPENDENCIES = libexamples.la ../../lib/libgnutls.la \ + ../../gl/libgnu.la ../../src/gl/libgnu_gpl.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +print_ciphersuites_SOURCES = print-ciphersuites.c +print_ciphersuites_OBJECTS = print-ciphersuites.$(OBJEXT) +print_ciphersuites_LDADD = $(LDADD) +print_ciphersuites_DEPENDENCIES = libexamples.la \ + ../../lib/libgnutls.la ../../gl/libgnu.la \ + ../../src/gl/libgnu_gpl.la $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles @@ -340,17 +397,16 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ @@ -359,32 +415,50 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = SOURCES = $(libexamples_la_SOURCES) ex-cert-select.c \ ex-cert-select-pkcs11.c ex-client-anon.c ex-client-dtls.c \ ex-client-psk.c ex-client-resume.c ex-client-srp.c \ ex-client-x509.c $(ex_cxx_SOURCES) ex-ocsp-client.c \ - ex-serv-anon.c ex-serv-pgp.c ex-serv-psk.c ex-serv-srp.c + ex-serv-anon.c ex-serv-dtls.c ex-serv-pgp.c ex-serv-psk.c \ + ex-serv-srp.c ex-serv-x509.c print-ciphersuites.c DIST_SOURCES = $(libexamples_la_SOURCES) ex-cert-select.c \ ex-cert-select-pkcs11.c ex-client-anon.c ex-client-dtls.c \ ex-client-psk.c ex-client-resume.c ex-client-srp.c \ ex-client-x509.c $(am__ex_cxx_SOURCES_DIST) ex-ocsp-client.c \ - ex-serv-anon.c ex-serv-pgp.c ex-serv-psk.c ex-serv-srp.c + ex-serv-anon.c ex-serv-dtls.c ex-serv-pgp.c ex-serv-psk.c \ + ex-serv-srp.c ex-serv-x509.c print-ciphersuites.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -396,8 +470,8 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -AS = @AS@ AUTOCONF = @AUTOCONF@ +AUTOGEN = @AUTOGEN@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ @@ -445,61 +519,31 @@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FIPS140_LIBS = @FIPS140_LIBS@ FLOAT_H = @FLOAT_H@ GETADDRINFO_LIB = @GETADDRINFO_LIB@ -GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMP_CFLAGS = @GMP_CFLAGS@ +GMP_LIBS = @GMP_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_ACCEPT = @GNULIB_ACCEPT@ GNULIB_ACCEPT4 = @GNULIB_ACCEPT4@ -GNULIB_ACOSF = @GNULIB_ACOSF@ -GNULIB_ACOSL = @GNULIB_ACOSL@ -GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ -GNULIB_ASINF = @GNULIB_ASINF@ -GNULIB_ASINL = @GNULIB_ASINL@ -GNULIB_ATAN2F = @GNULIB_ATAN2F@ -GNULIB_ATANF = @GNULIB_ATANF@ -GNULIB_ATANL = @GNULIB_ATANL@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BIND = @GNULIB_BIND@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ -GNULIB_CBRT = @GNULIB_CBRT@ -GNULIB_CBRTF = @GNULIB_CBRTF@ -GNULIB_CBRTL = @GNULIB_CBRTL@ -GNULIB_CEIL = @GNULIB_CEIL@ -GNULIB_CEILF = @GNULIB_CEILF@ -GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ -GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ -GNULIB_COPYSIGN = @GNULIB_COPYSIGN@ -GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@ -GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@ -GNULIB_COSF = @GNULIB_COSF@ -GNULIB_COSHF = @GNULIB_COSHF@ -GNULIB_COSL = @GNULIB_COSL@ -GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ -GNULIB_EXP2 = @GNULIB_EXP2@ -GNULIB_EXP2F = @GNULIB_EXP2F@ -GNULIB_EXP2L = @GNULIB_EXP2L@ -GNULIB_EXPF = @GNULIB_EXPF@ -GNULIB_EXPL = @GNULIB_EXPL@ -GNULIB_EXPM1 = @GNULIB_EXPM1@ -GNULIB_EXPM1F = @GNULIB_EXPM1F@ -GNULIB_EXPM1L = @GNULIB_EXPM1L@ -GNULIB_FABSF = @GNULIB_FABSF@ -GNULIB_FABSL = @GNULIB_FABSL@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ @@ -508,22 +552,12 @@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ -GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FFS = @GNULIB_FFS@ GNULIB_FFSL = @GNULIB_FFSL@ GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ -GNULIB_FLOOR = @GNULIB_FLOOR@ -GNULIB_FLOORF = @GNULIB_FLOORF@ -GNULIB_FLOORL = @GNULIB_FLOORL@ -GNULIB_FMA = @GNULIB_FMA@ -GNULIB_FMAF = @GNULIB_FMAF@ -GNULIB_FMAL = @GNULIB_FMAL@ -GNULIB_FMOD = @GNULIB_FMOD@ -GNULIB_FMODF = @GNULIB_FMODF@ -GNULIB_FMODL = @GNULIB_FMODL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF = @GNULIB_FPRINTF@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ @@ -532,9 +566,6 @@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ -GNULIB_FREXP = @GNULIB_FREXP@ -GNULIB_FREXPF = @GNULIB_FREXPF@ -GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ @@ -566,49 +597,18 @@ GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ -GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ -GNULIB_HYPOT = @GNULIB_HYPOT@ -GNULIB_HYPOTF = @GNULIB_HYPOTF@ -GNULIB_HYPOTL = @GNULIB_HYPOTL@ -GNULIB_ILOGB = @GNULIB_ILOGB@ -GNULIB_ILOGBF = @GNULIB_ILOGBF@ -GNULIB_ILOGBL = @GNULIB_ILOGBL@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ -GNULIB_IOCTL = @GNULIB_IOCTL@ GNULIB_ISATTY = @GNULIB_ISATTY@ -GNULIB_ISFINITE = @GNULIB_ISFINITE@ -GNULIB_ISINF = @GNULIB_ISINF@ -GNULIB_ISNAN = @GNULIB_ISNAN@ -GNULIB_ISNAND = @GNULIB_ISNAND@ -GNULIB_ISNANF = @GNULIB_ISNANF@ -GNULIB_ISNANL = @GNULIB_ISNANL@ GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ -GNULIB_LDEXPF = @GNULIB_LDEXPF@ -GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LISTEN = @GNULIB_LISTEN@ -GNULIB_LOG = @GNULIB_LOG@ -GNULIB_LOG10 = @GNULIB_LOG10@ -GNULIB_LOG10F = @GNULIB_LOG10F@ -GNULIB_LOG10L = @GNULIB_LOG10L@ -GNULIB_LOG1P = @GNULIB_LOG1P@ -GNULIB_LOG1PF = @GNULIB_LOG1PF@ -GNULIB_LOG1PL = @GNULIB_LOG1PL@ -GNULIB_LOG2 = @GNULIB_LOG2@ -GNULIB_LOG2F = @GNULIB_LOG2F@ -GNULIB_LOG2L = @GNULIB_LOG2L@ -GNULIB_LOGB = @GNULIB_LOGB@ -GNULIB_LOGBF = @GNULIB_LOGBF@ -GNULIB_LOGBL = @GNULIB_LOGBL@ -GNULIB_LOGF = @GNULIB_LOGF@ -GNULIB_LOGL = @GNULIB_LOGL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ @@ -647,23 +647,18 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ -GNULIB_MODF = @GNULIB_MODF@ -GNULIB_MODFF = @GNULIB_MODFF@ -GNULIB_MODFL = @GNULIB_MODFL@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_OPENAT = @GNULIB_OPENAT@ -GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ -GNULIB_POWF = @GNULIB_POWF@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ @@ -681,29 +676,17 @@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ -GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_RECV = @GNULIB_RECV@ GNULIB_RECVFROM = @GNULIB_RECVFROM@ -GNULIB_REMAINDER = @GNULIB_REMAINDER@ -GNULIB_REMAINDERF = @GNULIB_REMAINDERF@ -GNULIB_REMAINDERL = @GNULIB_REMAINDERL@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ -GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ -GNULIB_RINT = @GNULIB_RINT@ -GNULIB_RINTF = @GNULIB_RINTF@ -GNULIB_RINTL = @GNULIB_RINTL@ GNULIB_RMDIR = @GNULIB_RMDIR@ -GNULIB_ROUND = @GNULIB_ROUND@ -GNULIB_ROUNDF = @GNULIB_ROUNDF@ -GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ -GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ @@ -715,17 +698,11 @@ GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@ GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@ GNULIB_SIGACTION = @GNULIB_SIGACTION@ GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@ -GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@ -GNULIB_SINF = @GNULIB_SINF@ -GNULIB_SINHF = @GNULIB_SINHF@ -GNULIB_SINL = @GNULIB_SINL@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SOCKET = @GNULIB_SOCKET@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_SQRTF = @GNULIB_SQRTF@ -GNULIB_SQRTL = @GNULIB_SQRTL@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ @@ -754,15 +731,9 @@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ -GNULIB_TANF = @GNULIB_TANF@ -GNULIB_TANHF = @GNULIB_TANHF@ -GNULIB_TANL = @GNULIB_TANL@ GNULIB_TIMEGM = @GNULIB_TIMEGM@ GNULIB_TIME_R = @GNULIB_TIME_R@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ -GNULIB_TRUNC = @GNULIB_TRUNC@ -GNULIB_TRUNCF = @GNULIB_TRUNCF@ -GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ @@ -819,7 +790,6 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GNUTLS_REQUIRES_PRIVATE = @GNUTLS_REQUIRES_PRIVATE@ -GNUTLS_ZLIB_LIBS_PRIVATE = @GNUTLS_ZLIB_LIBS_PRIVATE@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ @@ -831,52 +801,16 @@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_SITE = @GUILE_SITE@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ -HAVE_ACOSF = @HAVE_ACOSF@ -HAVE_ACOSL = @HAVE_ACOSL@ -HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ -HAVE_ASINF = @HAVE_ASINF@ -HAVE_ASINL = @HAVE_ASINL@ -HAVE_ATAN2F = @HAVE_ATAN2F@ -HAVE_ATANF = @HAVE_ATANF@ -HAVE_ATANL = @HAVE_ATANL@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ -HAVE_CBRT = @HAVE_CBRT@ -HAVE_CBRTF = @HAVE_CBRTF@ -HAVE_CBRTL = @HAVE_CBRTL@ HAVE_CHOWN = @HAVE_CHOWN@ -HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ -HAVE_COPYSIGN = @HAVE_COPYSIGN@ -HAVE_COPYSIGNL = @HAVE_COPYSIGNL@ -HAVE_COSF = @HAVE_COSF@ -HAVE_COSHF = @HAVE_COSHF@ -HAVE_COSL = @HAVE_COSL@ -HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ -HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ -HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ -HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@ -HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@ -HAVE_DECL_CEILF = @HAVE_DECL_CEILF@ -HAVE_DECL_CEILL = @HAVE_DECL_CEILL@ -HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@ -HAVE_DECL_COSL = @HAVE_DECL_COSL@ -HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ -HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@ -HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@ -HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@ -HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ -HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ -HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ -HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@ -HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@ -HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@ @@ -893,28 +827,13 @@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ -HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ -HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@ -HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@ -HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@ -HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@ -HAVE_DECL_LOGB = @HAVE_DECL_LOGB@ -HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ -HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@ -HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@ -HAVE_DECL_RINTF = @HAVE_DECL_RINTF@ -HAVE_DECL_ROUND = @HAVE_DECL_ROUND@ -HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@ -HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ -HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ @@ -924,43 +843,25 @@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_TANL = @HAVE_DECL_TANL@ -HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ -HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ -HAVE_DECL_TRUNCL = @HAVE_DECL_TRUNCL@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ -HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ -HAVE_EXPF = @HAVE_EXPF@ -HAVE_EXPL = @HAVE_EXPL@ -HAVE_EXPM1 = @HAVE_EXPM1@ -HAVE_EXPM1F = @HAVE_EXPM1F@ -HAVE_FABSF = @HAVE_FABSF@ -HAVE_FABSL = @HAVE_FABSL@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ -HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ -HAVE_FMA = @HAVE_FMA@ -HAVE_FMAF = @HAVE_FMAF@ -HAVE_FMAL = @HAVE_FMAL@ -HAVE_FMODF = @HAVE_FMODF@ -HAVE_FMODL = @HAVE_FMODL@ -HAVE_FREXPF = @HAVE_FREXPF@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -971,38 +872,21 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ -HAVE_HYPOTF = @HAVE_HYPOTF@ -HAVE_HYPOTL = @HAVE_HYPOTL@ -HAVE_ILOGB = @HAVE_ILOGB@ -HAVE_ILOGBF = @HAVE_ILOGBF@ -HAVE_ILOGBL = @HAVE_ILOGBL@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_ISNAND = @HAVE_ISNAND@ -HAVE_ISNANF = @HAVE_ISNANF@ -HAVE_ISNANL = @HAVE_ISNANL@ HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ -HAVE_LDEXPF = @HAVE_LDEXPF@ -HAVE_LIBNETTLE = @HAVE_LIBNETTLE@ +HAVE_LIBDL = @HAVE_LIBDL@ +HAVE_LIBICONV = @HAVE_LIBICONV@ HAVE_LIBPTHREAD = @HAVE_LIBPTHREAD@ +HAVE_LIBRT = @HAVE_LIBRT@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LOG10F = @HAVE_LOG10F@ -HAVE_LOG10L = @HAVE_LOG10L@ -HAVE_LOG1P = @HAVE_LOG1P@ -HAVE_LOG1PF = @HAVE_LOG1PF@ -HAVE_LOG1PL = @HAVE_LOG1PL@ -HAVE_LOGBF = @HAVE_LOGBF@ -HAVE_LOGBL = @HAVE_LOGBL@ -HAVE_LOGF = @HAVE_LOGF@ -HAVE_LOGL = @HAVE_LOGL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MBRLEN = @HAVE_MBRLEN@ @@ -1023,14 +907,11 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ -HAVE_MODFF = @HAVE_MODFF@ -HAVE_MODFL = @HAVE_MODFL@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NETDB_H = @HAVE_NETDB_H@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OPENAT = @HAVE_OPENAT@ -HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -1038,7 +919,6 @@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@ -HAVE_POWF = @HAVE_POWF@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PSELECT = @HAVE_PSELECT@ HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@ @@ -1050,20 +930,12 @@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ -HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ -HAVE_REMAINDER = @HAVE_REMAINDER@ -HAVE_REMAINDERF = @HAVE_REMAINDERF@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ -HAVE_REWINDDIR = @HAVE_REWINDDIR@ -HAVE_RINT = @HAVE_RINT@ -HAVE_RINTL = @HAVE_RINTL@ HAVE_RPMATCH = @HAVE_RPMATCH@ -HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@ HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@ -HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ @@ -1074,12 +946,7 @@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ -HAVE_SINF = @HAVE_SINF@ -HAVE_SINHF = @HAVE_SINHF@ -HAVE_SINL = @HAVE_SINL@ HAVE_SLEEP = @HAVE_SLEEP@ -HAVE_SQRTF = @HAVE_SQRTF@ -HAVE_SQRTL = @HAVE_SQRTL@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ @@ -1102,10 +969,8 @@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ -HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@ @@ -1113,9 +978,6 @@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@ -HAVE_TANF = @HAVE_TANF@ -HAVE_TANHF = @HAVE_TANHF@ -HAVE_TANL = @HAVE_TANL@ HAVE_TIMEGM = @HAVE_TIMEGM@ HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ @@ -1164,6 +1026,8 @@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ +HOGWEED_CFLAGS = @HOGWEED_CFLAGS@ +HOGWEED_LIBS = @HOGWEED_LIBS@ HOSTENT_LIB = @HOSTENT_LIB@ HTML_DIR = @HTML_DIR@ INCLUDE_NEXT = @INCLUDE_NEXT@ @@ -1181,53 +1045,55 @@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBDL = @LIBDL@ +LIBDL_PREFIX = @LIBDL_PREFIX@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ LIBICONV = @LIBICONV@ +LIBICONV_PREFIX = @LIBICONV_PREFIX@ LIBIDN_CFLAGS = @LIBIDN_CFLAGS@ LIBIDN_LIBS = @LIBIDN_LIBS@ LIBINTL = @LIBINTL@ -LIBMULTITHREAD = @LIBMULTITHREAD@ -LIBNETTLE = @LIBNETTLE@ -LIBNETTLE_PREFIX = @LIBNETTLE_PREFIX@ LIBOBJS = @LIBOBJS@ LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@ LIBOPTS_DIR = @LIBOPTS_DIR@ LIBOPTS_LDADD = @LIBOPTS_LDADD@ -LIBPTH = @LIBPTH@ LIBPTHREAD = @LIBPTHREAD@ LIBPTHREAD_PREFIX = @LIBPTHREAD_PREFIX@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ +LIBRT = @LIBRT@ +LIBRT_PREFIX = @LIBRT_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTASN1_CFLAGS = @LIBTASN1_CFLAGS@ LIBTASN1_LIBS = @LIBTASN1_LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ -LIBTHREAD = @LIBTHREAD@ LIBTOOL = @LIBTOOL@ LIBZ = @LIBZ@ LIBZ_PREFIX = @LIBZ_PREFIX@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_SELECT = @LIB_SELECT@ -LIB_TIMER_TIME = @LIB_TIMER_TIME@ LIPO = @LIPO@ LN_S = @LN_S@ LTALLOCA = @LTALLOCA@ +LTLIBDL = @LTLIBDL@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ -LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -LTLIBNETTLE = @LTLIBNETTLE@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBPTHREAD = @LTLIBPTHREAD@ -LTLIBTHREAD = @LTLIBTHREAD@ +LTLIBRT = @LTLIBRT@ LTLIBZ = @LTLIBZ@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ +LT_DANE_AGE = @LT_DANE_AGE@ +LT_DANE_CURRENT = @LT_DANE_CURRENT@ +LT_DANE_REVISION = @LT_DANE_REVISION@ LT_REVISION = @LT_REVISION@ LT_SSL_AGE = @LT_SSL_AGE@ LT_SSL_CURRENT = @LT_SSL_CURRENT@ LT_SSL_REVISION = @LT_SSL_REVISION@ +LT_XSSL_AGE = @LT_XSSL_AGE@ +LT_XSSL_CURRENT = @LT_XSSL_CURRENT@ +LT_XSSL_REVISION = @LT_XSSL_REVISION@ MAJOR_VERSION = @MAJOR_VERSION@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -1237,27 +1103,23 @@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NETINET_IN_H = @NETINET_IN_H@ +NETTLE_CFLAGS = @NETTLE_CFLAGS@ +NETTLE_LIBS = @NETTLE_LIBS@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@ -NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@ -NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ -NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ -NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ -NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H = @NEXT_AS_FIRST_DIRECTIVE_SYSEXITS_H@ -NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_IOCTL_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ @@ -1267,25 +1129,19 @@ NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@ -NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_ERRNO_H = @NEXT_ERRNO_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ -NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ -NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETDB_H = @NEXT_NETDB_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ -NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRINGS_H = @NEXT_STRINGS_H@ NEXT_STRING_H = @NEXT_STRING_H@ -NEXT_SYSEXITS_H = @NEXT_SYSEXITS_H@ -NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ @@ -1327,45 +1183,20 @@ RANLIB = @RANLIB@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ -REPLACE_CBRTF = @REPLACE_CBRTF@ -REPLACE_CBRTL = @REPLACE_CBRTL@ -REPLACE_CEIL = @REPLACE_CEIL@ -REPLACE_CEILF = @REPLACE_CEILF@ -REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ -REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ -REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ -REPLACE_EXP2 = @REPLACE_EXP2@ -REPLACE_EXP2L = @REPLACE_EXP2L@ -REPLACE_EXPM1 = @REPLACE_EXPM1@ -REPLACE_EXPM1F = @REPLACE_EXPM1F@ -REPLACE_FABSL = @REPLACE_FABSL@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ -REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ -REPLACE_FLOOR = @REPLACE_FLOOR@ -REPLACE_FLOORF = @REPLACE_FLOORF@ -REPLACE_FLOORL = @REPLACE_FLOORL@ -REPLACE_FMA = @REPLACE_FMA@ -REPLACE_FMAF = @REPLACE_FMAF@ -REPLACE_FMAL = @REPLACE_FMAL@ -REPLACE_FMOD = @REPLACE_FMOD@ -REPLACE_FMODF = @REPLACE_FMODF@ -REPLACE_FMODL = @REPLACE_FMODL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ -REPLACE_FREXP = @REPLACE_FREXP@ -REPLACE_FREXPF = @REPLACE_FREXPF@ -REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FSTAT = @REPLACE_FSTAT@ @@ -1378,45 +1209,22 @@ REPLACE_GAI_STRERROR = @REPLACE_GAI_STRERROR@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ +REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ -REPLACE_HYPOT = @REPLACE_HYPOT@ -REPLACE_HYPOTF = @REPLACE_HYPOTF@ -REPLACE_HYPOTL = @REPLACE_HYPOTL@ -REPLACE_ILOGB = @REPLACE_ILOGB@ -REPLACE_ILOGBF = @REPLACE_ILOGBF@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INET_NTOP = @REPLACE_INET_NTOP@ REPLACE_INET_PTON = @REPLACE_INET_PTON@ -REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ -REPLACE_ISFINITE = @REPLACE_ISFINITE@ -REPLACE_ISINF = @REPLACE_ISINF@ -REPLACE_ISNAN = @REPLACE_ISNAN@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ -REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_LOG = @REPLACE_LOG@ -REPLACE_LOG10 = @REPLACE_LOG10@ -REPLACE_LOG10F = @REPLACE_LOG10F@ -REPLACE_LOG10L = @REPLACE_LOG10L@ -REPLACE_LOG1P = @REPLACE_LOG1P@ -REPLACE_LOG1PF = @REPLACE_LOG1PF@ -REPLACE_LOG1PL = @REPLACE_LOG1PL@ -REPLACE_LOG2 = @REPLACE_LOG2@ -REPLACE_LOG2F = @REPLACE_LOG2F@ -REPLACE_LOG2L = @REPLACE_LOG2L@ -REPLACE_LOGB = @REPLACE_LOGB@ -REPLACE_LOGBF = @REPLACE_LOGBF@ -REPLACE_LOGBL = @REPLACE_LOGBL@ -REPLACE_LOGF = @REPLACE_LOGF@ -REPLACE_LOGL = @REPLACE_LOGL@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ @@ -1434,16 +1242,11 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ -REPLACE_MODF = @REPLACE_MODF@ -REPLACE_MODFF = @REPLACE_MODFF@ -REPLACE_MODFL = @REPLACE_MODFL@ -REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_OPENAT = @REPLACE_OPENAT@ -REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -1460,24 +1263,15 @@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ REPLACE_REALLOC = @REPLACE_REALLOC@ REPLACE_REALPATH = @REPLACE_REALPATH@ -REPLACE_REMAINDER = @REPLACE_REMAINDER@ -REPLACE_REMAINDERF = @REPLACE_REMAINDERF@ -REPLACE_REMAINDERL = @REPLACE_REMAINDERL@ REPLACE_REMOVE = @REPLACE_REMOVE@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ -REPLACE_ROUND = @REPLACE_ROUND@ -REPLACE_ROUNDF = @REPLACE_ROUNDF@ -REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ -REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ -REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_SQRTL = @REPLACE_SQRTL@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ @@ -1495,13 +1289,11 @@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ -REPLACE_TRUNC = @REPLACE_TRUNC@ -REPLACE_TRUNCF = @REPLACE_TRUNCF@ -REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ @@ -1529,18 +1321,18 @@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDALIGN_H = @STDALIGN_H@ -STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ -SYSEXITS_H = @SYSEXITS_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@ -SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TSS_CFLAGS = @TSS_CFLAGS@ +TSS_LIBS = @TSS_LIBS@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNBOUND_CFLAGS = @UNBOUND_CFLAGS@ +UNBOUND_LIBS = @UNBOUND_LIBS@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -1557,6 +1349,9 @@ WSTACK_CFLAGS = @WSTACK_CFLAGS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YEAR = @YEAR@ +YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -1583,6 +1378,11 @@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ +ggl_LIBOBJS = @ggl_LIBOBJS@ +ggl_LTLIBOBJS = @ggl_LTLIBOBJS@ +ggltests_LIBOBJS = @ggltests_LIBOBJS@ +ggltests_LTLIBOBJS = @ggltests_LTLIBOBJS@ +ggltests_WITNESS = @ggltests_WITNESS@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ @@ -1625,24 +1425,25 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) # so we just silence the warning instead of fixing the code here. AM_CPPFLAGS = -I$(top_srcdir)/lib/includes \ -I$(top_builddir)/lib/includes -I$(top_srcdir)/extra/includes \ + -I$(top_srcdir)/src/gl -I$(top_builddir)/src/gl \ -I$(top_srcdir)/gl -I$(top_builddir)/gl -D_GL_NO_LARGE_FILES \ -DNO_LIBCURL AM_LDFLAGS = -no-install LDADD = libexamples.la \ ../../lib/libgnutls.la \ ../../gl/libgnu.la \ + ../../src/gl/libgnu_gpl.la \ $(LIBSOCKET) $(INET_NTOP_LIB) $(INET_PTON_LIB) -CXX_LDADD = $(LDADD) \ - ../../lib/libgnutlsxx.la +CXX_LDADD = ../../lib/libgnutlsxx.la \ + $(LDADD) @ENABLE_CXX_TRUE@ex_cxx_SOURCES = ex-cxx.cpp @ENABLE_CXX_TRUE@ex_cxx_LDADD = $(CXX_LDADD) noinst_LTLIBRARIES = libexamples.la libexamples_la_SOURCES = examples.h ex-alert.c ex-pkcs12.c \ ex-session-info.c ex-x509-info.c ex-verify.c \ - tcp.c udp.c ex-pkcs11-list.c verify.c ex-verify-ssh.c \ - ex-serv-dtls.c print-ciphersuites.c + tcp.c udp.c ex-pkcs11-list.c verify.c ex-verify-ssh.c all: all-am @@ -1681,12 +1482,15 @@ $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + libexamples.la: $(libexamples_la_OBJECTS) $(libexamples_la_DEPENDENCIES) $(EXTRA_libexamples_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libexamples_la_OBJECTS) $(libexamples_la_LIBADD) $(LIBS) @@ -1698,49 +1502,75 @@ clean-noinstPROGRAMS: list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list + ex-cert-select$(EXEEXT): $(ex_cert_select_OBJECTS) $(ex_cert_select_DEPENDENCIES) $(EXTRA_ex_cert_select_DEPENDENCIES) @rm -f ex-cert-select$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_cert_select_OBJECTS) $(ex_cert_select_LDADD) $(LIBS) + ex-cert-select-pkcs11$(EXEEXT): $(ex_cert_select_pkcs11_OBJECTS) $(ex_cert_select_pkcs11_DEPENDENCIES) $(EXTRA_ex_cert_select_pkcs11_DEPENDENCIES) @rm -f ex-cert-select-pkcs11$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_cert_select_pkcs11_OBJECTS) $(ex_cert_select_pkcs11_LDADD) $(LIBS) + ex-client-anon$(EXEEXT): $(ex_client_anon_OBJECTS) $(ex_client_anon_DEPENDENCIES) $(EXTRA_ex_client_anon_DEPENDENCIES) @rm -f ex-client-anon$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_anon_OBJECTS) $(ex_client_anon_LDADD) $(LIBS) + ex-client-dtls$(EXEEXT): $(ex_client_dtls_OBJECTS) $(ex_client_dtls_DEPENDENCIES) $(EXTRA_ex_client_dtls_DEPENDENCIES) @rm -f ex-client-dtls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_dtls_OBJECTS) $(ex_client_dtls_LDADD) $(LIBS) + ex-client-psk$(EXEEXT): $(ex_client_psk_OBJECTS) $(ex_client_psk_DEPENDENCIES) $(EXTRA_ex_client_psk_DEPENDENCIES) @rm -f ex-client-psk$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_psk_OBJECTS) $(ex_client_psk_LDADD) $(LIBS) + ex-client-resume$(EXEEXT): $(ex_client_resume_OBJECTS) $(ex_client_resume_DEPENDENCIES) $(EXTRA_ex_client_resume_DEPENDENCIES) @rm -f ex-client-resume$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_resume_OBJECTS) $(ex_client_resume_LDADD) $(LIBS) + ex-client-srp$(EXEEXT): $(ex_client_srp_OBJECTS) $(ex_client_srp_DEPENDENCIES) $(EXTRA_ex_client_srp_DEPENDENCIES) @rm -f ex-client-srp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_srp_OBJECTS) $(ex_client_srp_LDADD) $(LIBS) + ex-client-x509$(EXEEXT): $(ex_client_x509_OBJECTS) $(ex_client_x509_DEPENDENCIES) $(EXTRA_ex_client_x509_DEPENDENCIES) @rm -f ex-client-x509$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_client_x509_OBJECTS) $(ex_client_x509_LDADD) $(LIBS) + ex-cxx$(EXEEXT): $(ex_cxx_OBJECTS) $(ex_cxx_DEPENDENCIES) $(EXTRA_ex_cxx_DEPENDENCIES) @rm -f ex-cxx$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(ex_cxx_OBJECTS) $(ex_cxx_LDADD) $(LIBS) + ex-ocsp-client$(EXEEXT): $(ex_ocsp_client_OBJECTS) $(ex_ocsp_client_DEPENDENCIES) $(EXTRA_ex_ocsp_client_DEPENDENCIES) @rm -f ex-ocsp-client$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_ocsp_client_OBJECTS) $(ex_ocsp_client_LDADD) $(LIBS) + ex-serv-anon$(EXEEXT): $(ex_serv_anon_OBJECTS) $(ex_serv_anon_DEPENDENCIES) $(EXTRA_ex_serv_anon_DEPENDENCIES) @rm -f ex-serv-anon$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_serv_anon_OBJECTS) $(ex_serv_anon_LDADD) $(LIBS) + +ex-serv-dtls$(EXEEXT): $(ex_serv_dtls_OBJECTS) $(ex_serv_dtls_DEPENDENCIES) $(EXTRA_ex_serv_dtls_DEPENDENCIES) + @rm -f ex-serv-dtls$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ex_serv_dtls_OBJECTS) $(ex_serv_dtls_LDADD) $(LIBS) + ex-serv-pgp$(EXEEXT): $(ex_serv_pgp_OBJECTS) $(ex_serv_pgp_DEPENDENCIES) $(EXTRA_ex_serv_pgp_DEPENDENCIES) @rm -f ex-serv-pgp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_serv_pgp_OBJECTS) $(ex_serv_pgp_LDADD) $(LIBS) + ex-serv-psk$(EXEEXT): $(ex_serv_psk_OBJECTS) $(ex_serv_psk_DEPENDENCIES) $(EXTRA_ex_serv_psk_DEPENDENCIES) @rm -f ex-serv-psk$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_serv_psk_OBJECTS) $(ex_serv_psk_LDADD) $(LIBS) + ex-serv-srp$(EXEEXT): $(ex_serv_srp_OBJECTS) $(ex_serv_srp_DEPENDENCIES) $(EXTRA_ex_serv_srp_DEPENDENCIES) @rm -f ex-serv-srp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ex_serv_srp_OBJECTS) $(ex_serv_srp_LDADD) $(LIBS) +ex-serv-x509$(EXEEXT): $(ex_serv_x509_OBJECTS) $(ex_serv_x509_DEPENDENCIES) $(EXTRA_ex_serv_x509_DEPENDENCIES) + @rm -f ex-serv-x509$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ex_serv_x509_OBJECTS) $(ex_serv_x509_LDADD) $(LIBS) + +print-ciphersuites$(EXEEXT): $(print_ciphersuites_OBJECTS) $(print_ciphersuites_DEPENDENCIES) $(EXTRA_print_ciphersuites_DEPENDENCIES) + @rm -f print-ciphersuites$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(print_ciphersuites_OBJECTS) $(print_ciphersuites_LDADD) $(LIBS) + mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -1761,57 +1591,64 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-pkcs11-list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-pkcs12.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-anon.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-dtls.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-dtls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-pgp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-psk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-srp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-serv-x509.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-session-info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-verify-ssh.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-verify.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex-x509-info.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-ciphersuites.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-ciphersuites.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verify.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< .cpp.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< @@ -1822,26 +1659,15 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -1853,15 +1679,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -1870,6 +1692,21 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -2011,19 +1848,19 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \ - ctags distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am + tags tags-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/examples/ex-alert.c b/doc/examples/ex-alert.c index 6bc1456..868771a 100644 --- a/doc/examples/ex-alert.c +++ b/doc/examples/ex-alert.c @@ -14,25 +14,23 @@ * a gnutls function (recv/send), is an alert, and will print * that alert. */ -void -check_alert (gnutls_session_t session, int ret) +void check_alert(gnutls_session_t session, int ret) { - int last_alert; + int last_alert; - if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED - || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) - { - last_alert = gnutls_alert_get (session); + if (ret == GNUTLS_E_WARNING_ALERT_RECEIVED + || ret == GNUTLS_E_FATAL_ALERT_RECEIVED) { + last_alert = gnutls_alert_get(session); - /* The check for renegotiation is only useful if we are - * a server, and we had requested a rehandshake. - */ - if (last_alert == GNUTLS_A_NO_RENEGOTIATION && - ret == GNUTLS_E_WARNING_ALERT_RECEIVED) - printf ("* Received NO_RENEGOTIATION alert. " - "Client Does not support renegotiation.\n"); - else - printf ("* Received alert '%d': %s.\n", last_alert, - gnutls_alert_get_name (last_alert)); - } + /* The check for renegotiation is only useful if we are + * a server, and we had requested a rehandshake. + */ + if (last_alert == GNUTLS_A_NO_RENEGOTIATION && + ret == GNUTLS_E_WARNING_ALERT_RECEIVED) + printf("* Received NO_RENEGOTIATION alert. " + "Client Does not support renegotiation.\n"); + else + printf("* Received alert '%d': %s.\n", last_alert, + gnutls_alert_get_name(last_alert)); + } } diff --git a/doc/examples/ex-cert-select-pkcs11.c b/doc/examples/ex-cert-select-pkcs11.c index 83c2e64..a7f4e7c 100644 --- a/doc/examples/ex-cert-select-pkcs11.c +++ b/doc/examples/ex-cert-select-pkcs11.c @@ -17,7 +17,7 @@ #include #include #include -#include /* for getpass() */ +#include /* for getpass() */ /* A TLS client that loads the certificate and key. */ @@ -36,139 +36,137 @@ #define CERT_URL "pkcs11:manufacturer=SomeManufacturer;object=Certificate;" \ "objecttype=cert;id=db%5b%3e%b5%72%33" -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern int tcp_connect(void); +extern void tcp_close(int sd); static int -pin_callback (void *user, int attempt, const char *token_url, - const char *token_label, unsigned int flags, char *pin, - size_t pin_max) +pin_callback(void *user, int attempt, const char *token_url, + const char *token_label, unsigned int flags, char *pin, + size_t pin_max) { - const char *password; - int len; - - /* Note that a PIN callback may be called multiple times during a - * session. It is expected to cache and return the same PIN for - * the same token_url, unless flags is set to GNUTLS_PKCS11_PIN_WRONG. - */ - - printf ("PIN required for token '%s' with URL '%s'\n", token_label, - token_url); - if (flags & GNUTLS_PKCS11_PIN_FINAL_TRY) - printf ("*** This is the final try before locking!\n"); - if (flags & GNUTLS_PKCS11_PIN_COUNT_LOW) - printf ("*** Only few tries left before locking!\n"); - if (flags & GNUTLS_PKCS11_PIN_WRONG) - printf ("*** Wrong PIN\n"); - - password = getpass ("Enter pin: "); - if (password == NULL || password[0] == 0) - { - fprintf (stderr, "No password given\n"); - exit (1); - } - - len = MIN (pin_max, strlen (password)); - memcpy (pin, password, len); - pin[len] = 0; - - return 0; + const char *password; + int len; + + printf("PIN required for token '%s' with URL '%s'\n", token_label, + token_url); + if (flags & GNUTLS_PIN_FINAL_TRY) + printf("*** This is the final try before locking!\n"); + if (flags & GNUTLS_PIN_COUNT_LOW) + printf("*** Only few tries left before locking!\n"); + if (flags & GNUTLS_PIN_WRONG) + printf("*** Wrong PIN\n"); + + password = getpass("Enter pin: "); + if (password == NULL || password[0] == 0) { + fprintf(stderr, "No password given\n"); + exit(1); + } + + len = MIN(pin_max - 1, strlen(password)); + memcpy(pin, password, len); + pin[len] = 0; + + return 0; } -int -main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - gnutls_priority_t priorities_cache; - char buffer[MAX_BUF + 1]; - gnutls_certificate_credentials_t xcred; - /* Allow connections to servers that have OpenPGP keys as well. - */ - - gnutls_global_init (); - /* PKCS11 private key operations might require PIN. - * Register a callback. - */ - gnutls_pkcs11_set_pin_function (pin_callback, NULL); - - /* X509 stuff */ - gnutls_certificate_allocate_credentials (&xcred); - - /* priorities */ - gnutls_priority_init (&priorities_cache, "NORMAL", NULL); - - /* sets the trusted cas file - */ - gnutls_certificate_set_x509_trust_file (xcred, CAFILE, GNUTLS_X509_FMT_PEM); - - gnutls_certificate_set_x509_key_file (xcred, CERT_URL, KEY_URL, GNUTLS_X509_FMT_DER); - - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); - - /* Use default priorities */ - gnutls_priority_set (session, priorities_cache); - - /* put the x509 credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred); - - /* connect to the peer - */ - sd = tcp_connect (); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - ret = gnutls_handshake (session); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - gnutls_bye (session, GNUTLS_SHUT_RDWR); - -end: - - tcp_close (sd); - - gnutls_deinit (session); - - gnutls_certificate_free_credentials (xcred); - gnutls_priority_deinit (priorities_cache); - - gnutls_global_deinit (); - - return 0; + int ret, sd, ii; + gnutls_session_t session; + gnutls_priority_t priorities_cache; + char buffer[MAX_BUF + 1]; + gnutls_certificate_credentials_t xcred; + /* Allow connections to servers that have OpenPGP keys as well. + */ + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); + } + + gnutls_global_init(); + /* PKCS11 private key operations might require PIN. + * Register a callback. + */ + gnutls_pkcs11_set_pin_function(pin_callback, NULL); + + /* X509 stuff */ + gnutls_certificate_allocate_credentials(&xcred); + + /* priorities */ + gnutls_priority_init(&priorities_cache, + "NORMAL", NULL); + + /* sets the trusted cas file + */ + gnutls_certificate_set_x509_trust_file(xcred, CAFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_certificate_set_x509_key_file(xcred, CERT_URL, KEY_URL, + GNUTLS_X509_FMT_DER); + + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); + + /* Use default priorities */ + gnutls_priority_set(session, priorities_cache); + + /* put the x509 credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + + /* connect to the peer + */ + sd = tcp_connect(); + + gnutls_transport_set_int(session, sd); + + /* Perform the TLS handshake + */ + ret = gnutls_handshake(session); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); + } + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } + + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + + gnutls_bye(session, GNUTLS_SHUT_RDWR); + + end: + + tcp_close(sd); + + gnutls_deinit(session); + + gnutls_certificate_free_credentials(xcred); + gnutls_priority_deinit(priorities_cache); + + gnutls_global_deinit(); + + return 0; } diff --git a/doc/examples/ex-cert-select.c b/doc/examples/ex-cert-select.c index e99baf4..7437e26 100644 --- a/doc/examples/ex-cert-select.c +++ b/doc/examples/ex-cert-select.c @@ -28,206 +28,158 @@ #define KEY_FILE "key.pem" #define CAFILE "/etc/ssl/certs/ca-certificates.crt" -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern int tcp_connect(void); +extern void tcp_close(int sd); static int -cert_callback (gnutls_session_t session, - const gnutls_datum_t * req_ca_rdn, int nreqs, - const gnutls_pk_algorithm_t * sign_algos, - int sign_algos_length, gnutls_pcert_st ** pcert, - unsigned int *pcert_length, gnutls_privkey_t * pkey); +cert_callback(gnutls_session_t session, + const gnutls_datum_t * req_ca_rdn, int nreqs, + const gnutls_pk_algorithm_t * sign_algos, + int sign_algos_length, gnutls_pcert_st ** pcert, + unsigned int *pcert_length, gnutls_privkey_t * pkey); -gnutls_pcert_st crt; +gnutls_pcert_st pcrt; gnutls_privkey_t key; -/* Helper functions to load a certificate and key - * files into memory. +/* Load the certificate and the private key. */ -static gnutls_datum_t -load_file (const char *file) +static void load_keys(void) { - FILE *f; - gnutls_datum_t loaded_file = { NULL, 0 }; - long filelen; - void *ptr; - - if (!(f = fopen (file, "r")) - || fseek (f, 0, SEEK_END) != 0 - || (filelen = ftell (f)) < 0 - || fseek (f, 0, SEEK_SET) != 0 - || !(ptr = malloc ((size_t) filelen)) - || fread (ptr, 1, (size_t) filelen, f) < (size_t) filelen) - { - if (f) - fclose (f); - return loaded_file; - } - - loaded_file.data = ptr; - loaded_file.size = (unsigned int) filelen; - return loaded_file; -} + int ret; + gnutls_datum_t data; -static void -unload_file (gnutls_datum_t data) -{ - free (data.data); -} + ret = gnutls_load_file(CERT_FILE, &data); + if (ret < 0) { + fprintf(stderr, "*** Error loading certificate file.\n"); + exit(1); + } -/* Load the certificate and the private key. - */ -static void -load_keys (void) -{ - int ret; - gnutls_datum_t data; - gnutls_x509_privkey_t x509_key; - - data = load_file (CERT_FILE); - if (data.data == NULL) - { - fprintf (stderr, "*** Error loading certificate file.\n"); - exit (1); - } - - ret = gnutls_pcert_import_x509_raw (&crt, &data, GNUTLS_X509_FMT_PEM, 0); - if (ret < 0) - { - fprintf (stderr, "*** Error loading certificate file: %s\n", - gnutls_strerror (ret)); - exit (1); - } - - unload_file (data); - - data = load_file (KEY_FILE); - if (data.data == NULL) - { - fprintf (stderr, "*** Error loading key file.\n"); - exit (1); - } - - gnutls_x509_privkey_init (&x509_key); - - ret = gnutls_x509_privkey_import (x509_key, &data, GNUTLS_X509_FMT_PEM); - if (ret < 0) - { - fprintf (stderr, "*** Error loading key file: %s\n", - gnutls_strerror (ret)); - exit (1); - } - - gnutls_privkey_init (&key); - - ret = - gnutls_privkey_import_x509 (key, x509_key, - GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE); - if (ret < 0) - { - fprintf (stderr, "*** Error importing key: %s\n", - gnutls_strerror (ret)); - exit (1); - } - - unload_file (data); + ret = + gnutls_pcert_import_x509_raw(&pcrt, &data, GNUTLS_X509_FMT_PEM, + 0); + if (ret < 0) { + fprintf(stderr, "*** Error loading certificate file: %s\n", + gnutls_strerror(ret)); + exit(1); + } + + gnutls_free(data.data); + + ret = gnutls_load_file(KEY_FILE, &data); + if (ret < 0) { + fprintf(stderr, "*** Error loading key file.\n"); + exit(1); + } + + gnutls_privkey_init(&key); + + ret = + gnutls_privkey_import_x509_raw(key, &data, GNUTLS_X509_FMT_PEM, + NULL, 0); + if (ret < 0) { + fprintf(stderr, "*** Error loading key file: %s\n", + gnutls_strerror(ret)); + exit(1); + } + + gnutls_free(data.data); } -int -main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - gnutls_priority_t priorities_cache; - char buffer[MAX_BUF + 1]; - gnutls_certificate_credentials_t xcred; - /* Allow connections to servers that have OpenPGP keys as well. - */ + int ret, sd, ii; + gnutls_session_t session; + gnutls_priority_t priorities_cache; + char buffer[MAX_BUF + 1]; + gnutls_certificate_credentials_t xcred; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); + } - gnutls_global_init (); + gnutls_global_init(); - load_keys (); + load_keys(); - /* X509 stuff */ - gnutls_certificate_allocate_credentials (&xcred); + /* X509 stuff */ + gnutls_certificate_allocate_credentials(&xcred); - /* priorities */ - gnutls_priority_init (&priorities_cache, "NORMAL", NULL); + /* priorities */ + gnutls_priority_init(&priorities_cache, + "NORMAL", NULL); + /* sets the trusted cas file + */ + gnutls_certificate_set_x509_trust_file(xcred, CAFILE, + GNUTLS_X509_FMT_PEM); - /* sets the trusted cas file - */ - gnutls_certificate_set_x509_trust_file (xcred, CAFILE, GNUTLS_X509_FMT_PEM); + gnutls_certificate_set_retrieve_function2(xcred, cert_callback); - gnutls_certificate_set_retrieve_function2 (xcred, cert_callback); + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); + /* Use default priorities */ + gnutls_priority_set(session, priorities_cache); - /* Use default priorities */ - gnutls_priority_set (session, priorities_cache); + /* put the x509 credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); - /* put the x509 credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred); + /* connect to the peer + */ + sd = tcp_connect(); - /* connect to the peer - */ - sd = tcp_connect (); + gnutls_transport_set_int(session, sd); - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); + /* Perform the TLS handshake + */ + ret = gnutls_handshake(session); - /* Perform the TLS handshake - */ - ret = gnutls_handshake (session); + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); + } - gnutls_record_send (session, MSG, strlen (MSG)); + gnutls_record_send(session, MSG, strlen(MSG)); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); - gnutls_bye (session, GNUTLS_SHUT_RDWR); + gnutls_bye(session, GNUTLS_SHUT_RDWR); -end: + end: - tcp_close (sd); + tcp_close(sd); - gnutls_deinit (session); + gnutls_deinit(session); - gnutls_certificate_free_credentials (xcred); - gnutls_priority_deinit (priorities_cache); + gnutls_certificate_free_credentials(xcred); + gnutls_priority_deinit(priorities_cache); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } @@ -238,52 +190,48 @@ end: */ static int -cert_callback (gnutls_session_t session, - const gnutls_datum_t * req_ca_rdn, int nreqs, - const gnutls_pk_algorithm_t * sign_algos, - int sign_algos_length, gnutls_pcert_st ** pcert, - unsigned int *pcert_length, gnutls_privkey_t * pkey) +cert_callback(gnutls_session_t session, + const gnutls_datum_t * req_ca_rdn, int nreqs, + const gnutls_pk_algorithm_t * sign_algos, + int sign_algos_length, gnutls_pcert_st ** pcert, + unsigned int *pcert_length, gnutls_privkey_t * pkey) { - char issuer_dn[256]; - int i, ret; - size_t len; - gnutls_certificate_type_t type; - - /* Print the server's trusted CAs - */ - if (nreqs > 0) - printf ("- Server's trusted authorities:\n"); - else - printf ("- Server did not send us any trusted authorities names.\n"); - - /* print the names (if any) */ - for (i = 0; i < nreqs; i++) - { - len = sizeof (issuer_dn); - ret = gnutls_x509_rdn_get (&req_ca_rdn[i], issuer_dn, &len); - if (ret >= 0) - { - printf (" [%d]: ", i); - printf ("%s\n", issuer_dn); + char issuer_dn[256]; + int i, ret; + size_t len; + gnutls_certificate_type_t type; + + /* Print the server's trusted CAs + */ + if (nreqs > 0) + printf("- Server's trusted authorities:\n"); + else + printf + ("- Server did not send us any trusted authorities names.\n"); + + /* print the names (if any) */ + for (i = 0; i < nreqs; i++) { + len = sizeof(issuer_dn); + ret = gnutls_x509_rdn_get(&req_ca_rdn[i], issuer_dn, &len); + if (ret >= 0) { + printf(" [%d]: ", i); + printf("%s\n", issuer_dn); + } } - } - - /* Select a certificate and return it. - * The certificate must be of any of the "sign algorithms" - * supported by the server. - */ - type = gnutls_certificate_type_get (session); - if (type == GNUTLS_CRT_X509) - { - *pcert_length = 1; - *pcert = &crt; - *pkey = key; - } - else - { - return -1; - } - - return 0; + + /* Select a certificate and return it. + * The certificate must be of any of the "sign algorithms" + * supported by the server. + */ + type = gnutls_certificate_type_get(session); + if (type == GNUTLS_CRT_X509) { + *pcert_length = 1; + *pcert = &pcrt; + *pkey = key; + } else { + return -1; + } + + return 0; } diff --git a/doc/examples/ex-client-anon.c b/doc/examples/ex-client-anon.c index ba56934..e86e930 100644 --- a/doc/examples/ex-client-anon.c +++ b/doc/examples/ex-client-anon.c @@ -19,91 +19,93 @@ #define MAX_BUF 1024 #define MSG "GET / HTTP/1.0\r\n\r\n" -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern int tcp_connect(void); +extern void tcp_close(int sd); -int -main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - gnutls_anon_client_credentials_t anoncred; - /* Need to enable anonymous KX specifically. */ - - gnutls_global_init (); - - gnutls_anon_allocate_client_credentials (&anoncred); - - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); - - /* Use default priorities */ - gnutls_priority_set_direct (session, "PERFORMANCE:+ANON-ECDH:+ANON-DH", - NULL); - - /* put the anonymous credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_ANON, anoncred); - - /* connect to the peer - */ - sd = tcp_connect (); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - gnutls_bye (session, GNUTLS_SHUT_RDWR); - -end: - - tcp_close (sd); - - gnutls_deinit (session); - - gnutls_anon_free_client_credentials (anoncred); - - gnutls_global_deinit (); - - return 0; + int ret, sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + gnutls_anon_client_credentials_t anoncred; + /* Need to enable anonymous KX specifically. */ + + gnutls_global_init(); + + gnutls_anon_allocate_client_credentials(&anoncred); + + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); + + /* Use default priorities */ + gnutls_priority_set_direct(session, + "PERFORMANCE:+ANON-ECDH:+ANON-DH", + NULL); + + /* put the anonymous credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred); + + /* connect to the peer + */ + sd = tcp_connect(); + + gnutls_transport_set_int(session, sd); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake + */ + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); + } + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + } + + gnutls_bye(session, GNUTLS_SHUT_RDWR); + + end: + + tcp_close(sd); + + gnutls_deinit(session); + + gnutls_anon_free_client_credentials(anoncred); + + gnutls_global_deinit(); + + return 0; } diff --git a/doc/examples/ex-client-dtls.c b/doc/examples/ex-client-dtls.c index 21e7244..dcb0e10 100644 --- a/doc/examples/ex-client-dtls.c +++ b/doc/examples/ex-client-dtls.c @@ -21,108 +21,116 @@ #define CAFILE "/etc/ssl/certs/ca-certificates.crt" #define MSG "GET / HTTP/1.0\r\n\r\n" -extern int udp_connect (void); -extern void udp_close (int sd); -extern int verify_certificate_callback (gnutls_session_t session); +extern int udp_connect(void); +extern void udp_close(int sd); +extern int verify_certificate_callback(gnutls_session_t session); -int -main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - const char *err; - gnutls_certificate_credentials_t xcred; - - gnutls_global_init (); - - /* X509 stuff */ - gnutls_certificate_allocate_credentials (&xcred); - - /* sets the trusted cas file */ - gnutls_certificate_set_x509_trust_file (xcred, CAFILE, GNUTLS_X509_FMT_PEM); - gnutls_certificate_set_verify_function (xcred, verify_certificate_callback); - - /* Initialize TLS session */ - gnutls_init (&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM); - - /* Use default priorities */ - ret = gnutls_priority_set_direct (session, "NORMAL", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); + int ret, sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + const char *err; + gnutls_certificate_credentials_t xcred; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - exit (1); - } - - /* put the x509 credentials to the current session */ - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred); - gnutls_server_name_set (session, GNUTLS_NAME_DNS, "my_host_name", - strlen("my_host_name")); - - /* connect to the peer */ - sd = udp_connect (); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* set the connection MTU */ - gnutls_dtls_set_mtu (session, 1000); - - /* Perform the TLS handshake */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - /* It is suggested not to use GNUTLS_SHUT_RDWR in DTLS - * connections because the peer's closure message might - * be lost */ - gnutls_bye (session, GNUTLS_SHUT_WR); - -end: - - udp_close (sd); - - gnutls_deinit (session); - - gnutls_certificate_free_credentials (xcred); - - gnutls_global_deinit (); - - return 0; + + gnutls_global_init(); + + /* X509 stuff */ + gnutls_certificate_allocate_credentials(&xcred); + + /* sets the trusted cas file */ + gnutls_certificate_set_x509_trust_file(xcred, CAFILE, + GNUTLS_X509_FMT_PEM); + gnutls_certificate_set_verify_function(xcred, + verify_certificate_callback); + + /* Initialize TLS session */ + gnutls_init(&session, GNUTLS_CLIENT | GNUTLS_DATAGRAM); + + /* Use default priorities */ + ret = gnutls_priority_set_direct(session, + "NORMAL", &err); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); + } + exit(1); + } + + /* put the x509 credentials to the current session */ + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + gnutls_server_name_set(session, GNUTLS_NAME_DNS, "my_host_name", + strlen("my_host_name")); + + /* connect to the peer */ + sd = udp_connect(); + + gnutls_transport_set_int(session, sd); + + /* set the connection MTU */ + gnutls_dtls_set_mtu(session, 1000); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake */ + do { + ret = gnutls_handshake(session); + } + while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN); + /* Note that DTLS may also receive GNUTLS_E_LARGE_PACKET */ + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); + } + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + } + + /* It is suggested not to use GNUTLS_SHUT_RDWR in DTLS + * connections because the peer's closure message might + * be lost */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + end: + + udp_close(sd); + + gnutls_deinit(session); + + gnutls_certificate_free_credentials(xcred); + + gnutls_global_deinit(); + + return 0; } diff --git a/doc/examples/ex-client-psk.c b/doc/examples/ex-client-psk.c index 63366c2..63a24a7 100644 --- a/doc/examples/ex-client-psk.c +++ b/doc/examples/ex-client-psk.c @@ -19,101 +19,103 @@ #define MAX_BUF 1024 #define MSG "GET / HTTP/1.0\r\n\r\n" -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern int tcp_connect(void); +extern void tcp_close(int sd); -int -main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - const char *err; - gnutls_psk_client_credentials_t pskcred; - const gnutls_datum_t key = { (void *) "DEADBEEF", 8 }; - - gnutls_global_init (); - - gnutls_psk_allocate_client_credentials (&pskcred); - gnutls_psk_set_client_credentials (pskcred, "test", &key, - GNUTLS_PSK_KEY_HEX); - - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); - - /* Use default priorities */ - ret = gnutls_priority_set_direct (session, "PERFORMANCE:+ECDHE-PSK:+DHE-PSK:+PSK", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); + int ret, sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + const char *err; + gnutls_psk_client_credentials_t pskcred; + const gnutls_datum_t key = { (void *) "DEADBEEF", 8 }; + + gnutls_global_init(); + + gnutls_psk_allocate_client_credentials(&pskcred); + gnutls_psk_set_client_credentials(pskcred, "test", &key, + GNUTLS_PSK_KEY_HEX); + + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); + + /* Use default priorities */ + ret = + gnutls_priority_set_direct(session, + "PERFORMANCE:+ECDHE-PSK:+DHE-PSK:+PSK", + &err); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); + } + exit(1); } - exit (1); - } - - /* put the x509 credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_PSK, pskcred); - - /* connect to the peer - */ - sd = tcp_connect (); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - gnutls_bye (session, GNUTLS_SHUT_RDWR); - -end: - - tcp_close (sd); - - gnutls_deinit (session); - - gnutls_psk_free_client_credentials (pskcred); - - gnutls_global_deinit (); - - return 0; + + /* put the x509 credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_PSK, pskcred); + + /* connect to the peer + */ + sd = tcp_connect(); + + gnutls_transport_set_int(session, sd); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake + */ + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); + } + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + } + + gnutls_bye(session, GNUTLS_SHUT_RDWR); + + end: + + tcp_close(sd); + + gnutls_deinit(session); + + gnutls_psk_free_client_credentials(pskcred); + + gnutls_global_deinit(); + + return 0; } diff --git a/doc/examples/ex-client-resume.c b/doc/examples/ex-client-resume.c index c094950..218cc44 100644 --- a/doc/examples/ex-client-resume.c +++ b/doc/examples/ex-client-resume.c @@ -11,137 +11,136 @@ /* Those functions are defined in other examples. */ -extern void check_alert (gnutls_session_t session, int ret); -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern void check_alert(gnutls_session_t session, int ret); +extern int tcp_connect(void); +extern void tcp_close(int sd); #define MAX_BUF 1024 #define CAFILE "/etc/ssl/certs/ca-certificates.crt" #define MSG "GET / HTTP/1.0\r\n\r\n" -int -main (void) +int main(void) { - int ret; - int sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - gnutls_certificate_credentials_t xcred; - - /* variables used in session resuming - */ - int t; - char *session_data = NULL; - size_t session_data_size = 0; - - gnutls_global_init (); - - /* X509 stuff */ - gnutls_certificate_allocate_credentials (&xcred); - - gnutls_certificate_set_x509_trust_file (xcred, CAFILE, GNUTLS_X509_FMT_PEM); - - for (t = 0; t < 2; t++) - { /* connect 2 times to the server */ - - sd = tcp_connect (); - - gnutls_init (&session, GNUTLS_CLIENT); - - gnutls_priority_set_direct (session, "PERFORMANCE:!ARCFOUR-128", NULL); - - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred); - - if (t > 0) - { - /* if this is not the first time we connect */ - gnutls_session_set_data (session, session_data, session_data_size); - free (session_data); - } - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - if (t == 0) - { /* the first time we connect */ - /* get the session data size */ - gnutls_session_get_data (session, NULL, &session_data_size); - session_data = malloc (session_data_size); - - /* put session data to the session variable */ - gnutls_session_get_data (session, session_data, &session_data_size); - - } - else - { /* the second time we connect */ - - /* check if we actually resumed the previous session */ - if (gnutls_session_is_resumed (session) != 0) - { - printf ("- Previous session was resumed\n"); - } - else - { - fprintf (stderr, "*** Previous session was NOT resumed\n"); - } - } - - /* This function was defined in a previous example - */ - /* print_info(session); */ - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - gnutls_bye (session, GNUTLS_SHUT_RDWR); + int ret; + int sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + gnutls_certificate_credentials_t xcred; + + /* variables used in session resuming + */ + int t; + char *session_data = NULL; + size_t session_data_size = 0; + + gnutls_global_init(); + + /* X509 stuff */ + gnutls_certificate_allocate_credentials(&xcred); + + gnutls_certificate_set_x509_trust_file(xcred, CAFILE, + GNUTLS_X509_FMT_PEM); + + for (t = 0; t < 2; t++) { /* connect 2 times to the server */ + + sd = tcp_connect(); + + gnutls_init(&session, GNUTLS_CLIENT); + + gnutls_priority_set_direct(session, + "PERFORMANCE:!ARCFOUR-128", + NULL); + + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, + xcred); + + if (t > 0) { + /* if this is not the first time we connect */ + gnutls_session_set_data(session, session_data, + session_data_size); + free(session_data); + } + + gnutls_transport_set_int(session, sd); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake + */ + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + printf("- Handshake was completed\n"); + } + + if (t == 0) { /* the first time we connect */ + /* get the session data size */ + gnutls_session_get_data(session, NULL, + &session_data_size); + session_data = malloc(session_data_size); + + /* put session data to the session variable */ + gnutls_session_get_data(session, session_data, + &session_data_size); + + } else { /* the second time we connect */ + + /* check if we actually resumed the previous session */ + if (gnutls_session_is_resumed(session) != 0) { + printf("- Previous session was resumed\n"); + } else { + fprintf(stderr, + "*** Previous session was NOT resumed\n"); + } + } + + /* This function was defined in a previous example + */ + /* print_info(session); */ + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", + gnutls_strerror(ret)); + goto end; + } + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + } + + gnutls_bye(session, GNUTLS_SHUT_RDWR); - end: + end: - tcp_close (sd); + tcp_close(sd); - gnutls_deinit (session); - - } /* for() */ + gnutls_deinit(session); + + } /* for() */ - gnutls_certificate_free_credentials (xcred); - - gnutls_global_deinit (); - - return 0; + gnutls_certificate_free_credentials(xcred); + + gnutls_global_deinit(); + + return 0; } diff --git a/doc/examples/ex-client-srp.c b/doc/examples/ex-client-srp.c index 7784075..4542724 100644 --- a/doc/examples/ex-client-srp.c +++ b/doc/examples/ex-client-srp.c @@ -11,9 +11,9 @@ /* Those functions are defined in other examples. */ -extern void check_alert (gnutls_session_t session, int ret); -extern int tcp_connect (void); -extern void tcp_close (int sd); +extern void check_alert(gnutls_session_t session, int ret); +extern int tcp_connect(void); +extern void tcp_close(int sd); #define MAX_BUF 1024 #define USERNAME "user" @@ -21,104 +21,107 @@ extern void tcp_close (int sd); #define CAFILE "/etc/ssl/certs/ca-certificates.crt" #define MSG "GET / HTTP/1.0\r\n\r\n" -int -main (void) +int main(void) { - int ret; - int sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - gnutls_srp_client_credentials_t srp_cred; - gnutls_certificate_credentials_t cert_cred; - - gnutls_global_init (); - - gnutls_srp_allocate_client_credentials (&srp_cred); - gnutls_certificate_allocate_credentials (&cert_cred); - - gnutls_certificate_set_x509_trust_file (cert_cred, CAFILE, - GNUTLS_X509_FMT_PEM); - gnutls_srp_set_client_credentials (srp_cred, USERNAME, PASSWORD); - - /* connects to server - */ - sd = tcp_connect (); - - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); - - - /* Set the priorities. - */ - gnutls_priority_set_direct (session, "NORMAL:+SRP:+SRP-RSA:+SRP-DSS", NULL); - - /* put the SRP credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_SRP, srp_cred); - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, cert_cred); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (gnutls_error_is_fatal (ret) != 0 || ret == 0) - { - if (ret == 0) - { - printf ("- Peer has closed the GnuTLS connection\n"); - goto end; + int ret; + int sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + gnutls_srp_client_credentials_t srp_cred; + gnutls_certificate_credentials_t cert_cred; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - else - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; + + gnutls_global_init(); + + gnutls_srp_allocate_client_credentials(&srp_cred); + gnutls_certificate_allocate_credentials(&cert_cred); + + gnutls_certificate_set_x509_trust_file(cert_cred, CAFILE, + GNUTLS_X509_FMT_PEM); + gnutls_srp_set_client_credentials(srp_cred, USERNAME, PASSWORD); + + /* connects to server + */ + sd = tcp_connect(); + + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); + + + /* Set the priorities. + */ + gnutls_priority_set_direct(session, + "NORMAL:+SRP:+SRP-RSA:+SRP-DSS", + NULL); + + /* put the SRP credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_SRP, srp_cred); + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, cert_cred); + + gnutls_transport_set_int(session, sd); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake + */ + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); } - } - else - check_alert (session, ret); - - if (ret > 0) - { - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (gnutls_error_is_fatal(ret) != 0 || ret == 0) { + if (ret == 0) { + printf + ("- Peer has closed the GnuTLS connection\n"); + goto end; + } else { + fprintf(stderr, "*** Error: %s\n", + gnutls_strerror(ret)); + goto end; + } + } else + check_alert(session, ret); + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); } - fputs ("\n", stdout); - } - gnutls_bye (session, GNUTLS_SHUT_RDWR); + gnutls_bye(session, GNUTLS_SHUT_RDWR); -end: + end: - tcp_close (sd); + tcp_close(sd); - gnutls_deinit (session); + gnutls_deinit(session); - gnutls_srp_free_client_credentials (srp_cred); - gnutls_certificate_free_credentials (cert_cred); + gnutls_srp_free_client_credentials(srp_cred); + gnutls_certificate_free_credentials(cert_cred); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-client-x509.c b/doc/examples/ex-client-x509.c index 0abb61e..01762e8 100644 --- a/doc/examples/ex-client-x509.c +++ b/doc/examples/ex-client-x509.c @@ -12,7 +12,7 @@ #include "examples.h" /* A very basic TLS client, with X.509 authentication and server certificate - * verification. Note that error checking for missing files etc. is missing + * verification. Note that error checking for missing files etc. is omitted * for simplicity. */ @@ -20,201 +20,193 @@ #define CAFILE "/etc/ssl/certs/ca-certificates.crt" #define MSG "GET / HTTP/1.0\r\n\r\n" -extern int tcp_connect (void); -extern void tcp_close (int sd); -static int _verify_certificate_callback (gnutls_session_t session); +extern int tcp_connect(void); +extern void tcp_close(int sd); +static int _verify_certificate_callback(gnutls_session_t session); -int main (void) +int main(void) { - int ret, sd, ii; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - const char *err; - gnutls_certificate_credentials_t xcred; - - gnutls_global_init (); - - /* X509 stuff */ - gnutls_certificate_allocate_credentials (&xcred); - - /* sets the trusted cas file - */ - /* gnutls_certificate_set_x509_system_trust(xcred); */ - gnutls_certificate_set_x509_trust_file (xcred, CAFILE, GNUTLS_X509_FMT_PEM); - gnutls_certificate_set_verify_function (xcred, _verify_certificate_callback); - - /* If client holds a certificate it can be set using the following: - * - gnutls_certificate_set_x509_key_file (xcred, - "cert.pem", "key.pem", - GNUTLS_X509_FMT_PEM); - */ - - /* Initialize TLS session - */ - gnutls_init (&session, GNUTLS_CLIENT); - - gnutls_session_set_ptr (session, (void *) "my_host_name"); - gnutls_server_name_set (session, GNUTLS_NAME_DNS, "my_host_name", - strlen("my_host_name")); - - /* Use default priorities */ - ret = gnutls_priority_set_direct (session, "NORMAL", &err); - if (ret < 0) - { - if (ret == GNUTLS_E_INVALID_REQUEST) - { - fprintf (stderr, "Syntax error at: %s\n", err); + int ret, sd, ii; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + const char *err; + gnutls_certificate_credentials_t xcred; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); + } + + gnutls_global_init(); + + /* X509 stuff */ + gnutls_certificate_allocate_credentials(&xcred); + + /* sets the trusted cas file + */ + gnutls_certificate_set_x509_trust_file(xcred, CAFILE, + GNUTLS_X509_FMT_PEM); + gnutls_certificate_set_verify_function(xcred, + _verify_certificate_callback); + + /* If client holds a certificate it can be set using the following: + * + gnutls_certificate_set_x509_key_file (xcred, + "cert.pem", "key.pem", + GNUTLS_X509_FMT_PEM); + */ + + /* Initialize TLS session + */ + gnutls_init(&session, GNUTLS_CLIENT); + + gnutls_session_set_ptr(session, (void *) "my_host_name"); + + gnutls_server_name_set(session, GNUTLS_NAME_DNS, "my_host_name", + strlen("my_host_name")); + + /* use default priorities */ + gnutls_set_default_priority(session); +#if 0 + /* if more fine-graned control is required */ + ret = gnutls_priority_set_direct(session, + "NORMAL", &err); + if (ret < 0) { + if (ret == GNUTLS_E_INVALID_REQUEST) { + fprintf(stderr, "Syntax error at: %s\n", err); + } + exit(1); + } +#endif + + /* put the x509 credentials to the current session + */ + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred); + + /* connect to the peer + */ + sd = tcp_connect(); + + gnutls_transport_set_int(session, sd); + gnutls_handshake_set_timeout(session, + GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT); + + /* Perform the TLS handshake + */ + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + fprintf(stderr, "*** Handshake failed\n"); + gnutls_perror(ret); + goto end; + } else { + char *desc; + + desc = gnutls_session_get_desc(session); + printf("- Session info: %s\n", desc); + gnutls_free(desc); } - exit (1); - } - - /* put the x509 credentials to the current session - */ - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, xcred); - - /* connect to the peer - */ - sd = tcp_connect (); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - /* Perform the TLS handshake - */ - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "*** Handshake failed\n"); - gnutls_perror (ret); - goto end; - } - else - { - printf ("- Handshake was completed\n"); - } - - gnutls_record_send (session, MSG, strlen (MSG)); - - ret = gnutls_record_recv (session, buffer, MAX_BUF); - if (ret == 0) - { - printf ("- Peer has closed the TLS connection\n"); - goto end; - } - else if (ret < 0) - { - fprintf (stderr, "*** Error: %s\n", gnutls_strerror (ret)); - goto end; - } - - printf ("- Received %d bytes: ", ret); - for (ii = 0; ii < ret; ii++) - { - fputc (buffer[ii], stdout); - } - fputs ("\n", stdout); - - gnutls_bye (session, GNUTLS_SHUT_RDWR); - -end: - - tcp_close (sd); - - gnutls_deinit (session); - - gnutls_certificate_free_credentials (xcred); - - gnutls_global_deinit (); - - return 0; + + gnutls_record_send(session, MSG, strlen(MSG)); + + ret = gnutls_record_recv(session, buffer, MAX_BUF); + if (ret == 0) { + printf("- Peer has closed the TLS connection\n"); + goto end; + } else if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "*** Error: %s\n", gnutls_strerror(ret)); + goto end; + } + + if (ret > 0) { + printf("- Received %d bytes: ", ret); + for (ii = 0; ii < ret; ii++) { + fputc(buffer[ii], stdout); + } + fputs("\n", stdout); + } + + gnutls_bye(session, GNUTLS_SHUT_RDWR); + + end: + + tcp_close(sd); + + gnutls_deinit(session); + + gnutls_certificate_free_credentials(xcred); + + gnutls_global_deinit(); + + return 0; } /* This function will verify the peer's certificate, and check * if the hostname matches, as well as the activation, expiration dates. */ -static int -_verify_certificate_callback (gnutls_session_t session) +static int _verify_certificate_callback(gnutls_session_t session) { - unsigned int status; - const gnutls_datum_t *cert_list; - unsigned int cert_list_size; - int ret; - gnutls_x509_crt_t cert; - const char *hostname; - - /* read hostname */ - hostname = gnutls_session_get_ptr (session); - - /* This verification function uses the trusted CAs in the credentials - * structure. So you must have installed one or more CA certificates. - */ - ret = gnutls_certificate_verify_peers2 (session, &status); - if (ret < 0) - { - printf ("Error\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - if (status & GNUTLS_CERT_SIGNER_NOT_FOUND) - printf ("The certificate hasn't got a known issuer.\n"); - - if (status & GNUTLS_CERT_REVOKED) - printf ("The certificate has been revoked.\n"); - - if (status & GNUTLS_CERT_EXPIRED) - printf ("The certificate has expired\n"); - - if (status & GNUTLS_CERT_NOT_ACTIVATED) - printf ("The certificate is not yet activated\n"); - - if (status & GNUTLS_CERT_INVALID) - { - printf ("The certificate is not trusted.\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - /* Up to here the process is the same for X.509 certificates and - * OpenPGP keys. From now on X.509 certificates are assumed. This can - * be easily extended to work with openpgp keys as well. - */ - if (gnutls_certificate_type_get (session) != GNUTLS_CRT_X509) - return GNUTLS_E_CERTIFICATE_ERROR; - - if (gnutls_x509_crt_init (&cert) < 0) - { - printf ("error in initialization\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - cert_list = gnutls_certificate_get_peers (session, &cert_list_size); - if (cert_list == NULL) - { - printf ("No certificate was found!\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - if (gnutls_x509_crt_import (cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0) - { - printf ("error parsing certificate\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - - if (!gnutls_x509_crt_check_hostname (cert, hostname)) - { - printf ("The certificate's owner does not match hostname '%s'\n", - hostname); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - gnutls_x509_crt_deinit (cert); - - /* notify gnutls to continue handshake normally */ - return 0; -} + unsigned int status; + int ret, type; + const char *hostname; + gnutls_datum_t out; + + /* read hostname */ + hostname = gnutls_session_get_ptr(session); + + /* This verification function uses the trusted CAs in the credentials + * structure. So you must have installed one or more CA certificates. + */ + + /* The following demonstrate two different verification functions, + * the more flexible gnutls_certificate_verify_peers(), as well + * as the old gnutls_certificate_verify_peers3(). */ +#if 1 + { + gnutls_typed_vdata_st data[2]; + + memset(data, 0, sizeof(data)); + + data[0].type = GNUTLS_DT_DNS_HOSTNAME; + data[0].data = (void*)hostname; + + data[1].type = GNUTLS_DT_KEY_PURPOSE_OID; + data[1].data = (void*)GNUTLS_KP_TLS_WWW_SERVER; + + ret = gnutls_certificate_verify_peers(session, data, 2, + &status); + } +#else + ret = gnutls_certificate_verify_peers3(session, hostname, + &status); +#endif + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + type = gnutls_certificate_type_get(session); + + ret = + gnutls_certificate_verification_status_print(status, type, + &out, 0); + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + printf("%s", out.data); + + gnutls_free(out.data); + + if (status != 0) /* Certificate is not trusted */ + return GNUTLS_E_CERTIFICATE_ERROR; + + /* notify gnutls to continue handshake normally */ + return 0; +} diff --git a/doc/examples/ex-crq.c b/doc/examples/ex-crq.c index f452460..08f47f6 100644 --- a/doc/examples/ex-crq.c +++ b/doc/examples/ex-crq.c @@ -16,72 +16,76 @@ * request. */ -int -main (void) +int main(void) { - gnutls_x509_crq_t crq; - gnutls_x509_privkey_t key; - unsigned char buffer[10 * 1024]; - size_t buffer_size = sizeof (buffer); - unsigned int bits; + gnutls_x509_crq_t crq; + gnutls_x509_privkey_t key; + unsigned char buffer[10 * 1024]; + size_t buffer_size = sizeof(buffer); + unsigned int bits; - gnutls_global_init (); + gnutls_global_init(); - /* Initialize an empty certificate request, and - * an empty private key. - */ - gnutls_x509_crq_init (&crq); + /* Initialize an empty certificate request, and + * an empty private key. + */ + gnutls_x509_crq_init(&crq); - gnutls_x509_privkey_init (&key); + gnutls_x509_privkey_init(&key); - /* Generate an RSA key of moderate security. - */ - bits = gnutls_sec_param_to_pk_bits (GNUTLS_PK_RSA, GNUTLS_SEC_PARAM_NORMAL); - gnutls_x509_privkey_generate (key, GNUTLS_PK_RSA, bits, 0); + /* Generate an RSA key of moderate security. + */ + bits = + gnutls_sec_param_to_pk_bits(GNUTLS_PK_RSA, + GNUTLS_SEC_PARAM_MEDIUM); + gnutls_x509_privkey_generate(key, GNUTLS_PK_RSA, bits, 0); - /* Add stuff to the distinguished name - */ - gnutls_x509_crq_set_dn_by_oid (crq, GNUTLS_OID_X520_COUNTRY_NAME, - 0, "GR", 2); + /* Add stuff to the distinguished name + */ + gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COUNTRY_NAME, + 0, "GR", 2); - gnutls_x509_crq_set_dn_by_oid (crq, GNUTLS_OID_X520_COMMON_NAME, - 0, "Nikos", strlen ("Nikos")); + gnutls_x509_crq_set_dn_by_oid(crq, GNUTLS_OID_X520_COMMON_NAME, + 0, "Nikos", strlen("Nikos")); - /* Set the request version. - */ - gnutls_x509_crq_set_version (crq, 1); + /* Set the request version. + */ + gnutls_x509_crq_set_version(crq, 1); - /* Set a challenge password. - */ - gnutls_x509_crq_set_challenge_password (crq, "something to remember here"); + /* Set a challenge password. + */ + gnutls_x509_crq_set_challenge_password(crq, + "something to remember here"); - /* Associate the request with the private key - */ - gnutls_x509_crq_set_key (crq, key); + /* Associate the request with the private key + */ + gnutls_x509_crq_set_key(crq, key); - /* Self sign the certificate request. - */ - gnutls_x509_crq_sign2 (crq, key, GNUTLS_DIG_SHA1, 0); + /* Self sign the certificate request. + */ + gnutls_x509_crq_sign2(crq, key, GNUTLS_DIG_SHA1, 0); - /* Export the PEM encoded certificate request, and - * display it. - */ - gnutls_x509_crq_export (crq, GNUTLS_X509_FMT_PEM, buffer, &buffer_size); + /* Export the PEM encoded certificate request, and + * display it. + */ + gnutls_x509_crq_export(crq, GNUTLS_X509_FMT_PEM, buffer, + &buffer_size); - printf ("Certificate Request: \n%s", buffer); + printf("Certificate Request: \n%s", buffer); - /* Export the PEM encoded private key, and - * display it. - */ - buffer_size = sizeof (buffer); - gnutls_x509_privkey_export (key, GNUTLS_X509_FMT_PEM, buffer, &buffer_size); + /* Export the PEM encoded private key, and + * display it. + */ + buffer_size = sizeof(buffer); + gnutls_x509_privkey_export(key, GNUTLS_X509_FMT_PEM, buffer, + &buffer_size); - printf ("\n\nPrivate key: \n%s", buffer); + printf("\n\nPrivate key: \n%s", buffer); - gnutls_x509_crq_deinit (crq); - gnutls_x509_privkey_deinit (key); + gnutls_x509_crq_deinit(crq); + gnutls_x509_privkey_deinit(key); - return 0; + return 0; } diff --git a/doc/examples/ex-ocsp-client.c b/doc/examples/ex-ocsp-client.c index 9ca7100..33eff67 100644 --- a/doc/examples/ex-ocsp-client.c +++ b/doc/examples/ex-ocsp-client.c @@ -15,15 +15,15 @@ #endif #include "read-file.h" -size_t get_data (void *buffer, size_t size, size_t nmemb, - void *userp); -static gnutls_x509_crt_t load_cert (const char *cert_file); -static void _response_info (const gnutls_datum_t * data); +size_t get_data(void *buffer, size_t size, size_t nmemb, void *userp); +static gnutls_x509_crt_t load_cert(const char *cert_file); +static void _response_info(const gnutls_datum_t * data); static void -_generate_request (gnutls_datum_t * rdata, const char *cert_file, - const char *issuer_file); -static int _verify_response (gnutls_datum_t * data, - const char *signer_file); +_generate_request(gnutls_datum_t * rdata, gnutls_x509_crt_t cert, + gnutls_x509_crt_t issuer, gnutls_datum_t *nonce); +static int +_verify_response(gnutls_datum_t * data, gnutls_x509_crt_t cert, + gnutls_x509_crt_t signer, gnutls_datum_t *nonce); /* This program queries an OCSP server. It expects three files. argv[1] containing the certificate to @@ -34,295 +34,284 @@ static int _verify_response (gnutls_datum_t * data, For simplicity the libcurl library is used. */ -int -main (int argc, char *argv[]) +int main(int argc, char *argv[]) { - gnutls_datum_t ud, tmp; - int ret; - gnutls_datum_t req; + gnutls_datum_t ud, tmp; + int ret; + gnutls_datum_t req; + gnutls_x509_crt_t cert, issuer, signer; #ifndef NO_LIBCURL - CURL *handle; - struct curl_slist *headers = NULL; + CURL *handle; + struct curl_slist *headers = NULL; #endif - int v, seq; - const char *cert_file = argv[1]; - const char *issuer_file = argv[2]; - const char *signer_file = argv[3]; - char *hostname = NULL; - - gnutls_global_init (); - - if (argc > 4) - hostname = argv[4]; - - if (hostname == NULL) - { - gnutls_x509_crt_t cert = load_cert (cert_file); - - for (seq = 0;; seq++) - { - ret = gnutls_x509_crt_get_authority_info_access (cert, seq, - GNUTLS_IA_OCSP_URI, - &tmp, - NULL); - if (ret == GNUTLS_E_UNKNOWN_ALGORITHM) - continue; - if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) - { - fprintf (stderr, - "No URI was found in the certificate.\n"); - exit (1); - } - if (ret < 0) - { - fprintf (stderr, "error: %s\n", - gnutls_strerror (ret)); - exit (1); - } - - printf ("CA issuers URI: %.*s\n", tmp.size, tmp.data); - - hostname = malloc (tmp.size + 1); - memcpy (hostname, tmp.data, tmp.size); - hostname[tmp.size] = 0; - - gnutls_free (tmp.data); - break; - } - - gnutls_x509_crt_deinit (cert); - } - - /* Note that the OCSP servers hostname might be available - * using gnutls_x509_crt_get_authority_info_access() in the issuer's - * certificate */ - - memset (&ud, 0, sizeof (ud)); - fprintf (stderr, "Connecting to %s\n", hostname); - - _generate_request (&req, cert_file, issuer_file); + int v, seq; + const char *cert_file = argv[1]; + const char *issuer_file = argv[2]; + const char *signer_file = argv[3]; + char *hostname = NULL; + unsigned char noncebuf[23]; + gnutls_datum_t nonce = { noncebuf, sizeof(noncebuf) }; + + gnutls_global_init(); + + if (argc > 4) + hostname = argv[4]; + + ret = gnutls_rnd(GNUTLS_RND_NONCE, nonce.data, nonce.size); + if (ret < 0) + exit(1); + + cert = load_cert(cert_file); + issuer = load_cert(issuer_file); + signer = load_cert(signer_file); + + if (hostname == NULL) { + + for (seq = 0;; seq++) { + ret = + gnutls_x509_crt_get_authority_info_access(cert, + seq, + GNUTLS_IA_OCSP_URI, + &tmp, + NULL); + if (ret == GNUTLS_E_UNKNOWN_ALGORITHM) + continue; + if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { + fprintf(stderr, + "No URI was found in the certificate.\n"); + exit(1); + } + if (ret < 0) { + fprintf(stderr, "error: %s\n", + gnutls_strerror(ret)); + exit(1); + } + + printf("CA issuers URI: %.*s\n", tmp.size, + tmp.data); + + hostname = malloc(tmp.size + 1); + memcpy(hostname, tmp.data, tmp.size); + hostname[tmp.size] = 0; + + gnutls_free(tmp.data); + break; + } + + } + + /* Note that the OCSP servers hostname might be available + * using gnutls_x509_crt_get_authority_info_access() in the issuer's + * certificate */ + + memset(&ud, 0, sizeof(ud)); + fprintf(stderr, "Connecting to %s\n", hostname); + + _generate_request(&req, cert, issuer, &nonce); #ifndef NO_LIBCURL - curl_global_init (CURL_GLOBAL_ALL); - - handle = curl_easy_init (); - if (handle == NULL) - exit (1); - - headers = - curl_slist_append (headers, - "Content-Type: application/ocsp-request"); - - curl_easy_setopt (handle, CURLOPT_HTTPHEADER, headers); - curl_easy_setopt (handle, CURLOPT_POSTFIELDS, (void *) req.data); - curl_easy_setopt (handle, CURLOPT_POSTFIELDSIZE, req.size); - curl_easy_setopt (handle, CURLOPT_URL, hostname); - curl_easy_setopt (handle, CURLOPT_WRITEFUNCTION, get_data); - curl_easy_setopt (handle, CURLOPT_WRITEDATA, &ud); - - ret = curl_easy_perform (handle); - if (ret != 0) - { - fprintf (stderr, "curl[%d] error %d\n", __LINE__, ret); - exit (1); - } - - curl_easy_cleanup (handle); + curl_global_init(CURL_GLOBAL_ALL); + + handle = curl_easy_init(); + if (handle == NULL) + exit(1); + + headers = + curl_slist_append(headers, + "Content-Type: application/ocsp-request"); + + curl_easy_setopt(handle, CURLOPT_HTTPHEADER, headers); + curl_easy_setopt(handle, CURLOPT_POSTFIELDS, (void *) req.data); + curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, req.size); + curl_easy_setopt(handle, CURLOPT_URL, hostname); + curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, get_data); + curl_easy_setopt(handle, CURLOPT_WRITEDATA, &ud); + + ret = curl_easy_perform(handle); + if (ret != 0) { + fprintf(stderr, "curl[%d] error %d\n", __LINE__, ret); + exit(1); + } + + curl_easy_cleanup(handle); #endif - _response_info (&ud); + _response_info(&ud); - v = _verify_response (&ud, signer_file); + v = _verify_response(&ud, cert, signer, &nonce); - gnutls_global_deinit (); + gnutls_x509_crt_deinit(cert); + gnutls_x509_crt_deinit(issuer); + gnutls_x509_crt_deinit(signer); + gnutls_global_deinit(); - return v; + return v; } -static void -_response_info (const gnutls_datum_t * data) +static void _response_info(const gnutls_datum_t * data) { - gnutls_ocsp_resp_t resp; - int ret; - gnutls_datum buf; + gnutls_ocsp_resp_t resp; + int ret; + gnutls_datum buf; - ret = gnutls_ocsp_resp_init (&resp); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_resp_init(&resp); + if (ret < 0) + exit(1); - ret = gnutls_ocsp_resp_import (resp, data); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_resp_import(resp, data); + if (ret < 0) + exit(1); - ret = gnutls_ocsp_resp_print (resp, GNUTLS_OCSP_PRINT_FULL, &buf); - if (ret != 0) - exit (1); + ret = gnutls_ocsp_resp_print(resp, GNUTLS_OCSP_PRINT_FULL, &buf); + if (ret != 0) + exit(1); - printf ("%.*s", buf.size, buf.data); - gnutls_free (buf.data); + printf("%.*s", buf.size, buf.data); + gnutls_free(buf.data); - gnutls_ocsp_resp_deinit (resp); + gnutls_ocsp_resp_deinit(resp); } -static gnutls_x509_crt_t -load_cert (const char *cert_file) +static gnutls_x509_crt_t load_cert(const char *cert_file) { - gnutls_x509_crt_t crt; - int ret; - gnutls_datum_t data; - size_t size; - - ret = gnutls_x509_crt_init (&crt); - if (ret < 0) - exit (1); - - data.data = (void *) read_binary_file (cert_file, &size); - data.size = size; - - if (!data.data) - { - fprintf (stderr, "Cannot open file: %s\n", cert_file); - exit (1); - } - - ret = gnutls_x509_crt_import (crt, &data, GNUTLS_X509_FMT_PEM); - free (data.data); - if (ret < 0) - { - fprintf (stderr, "Cannot import certificate in %s: %s\n", - cert_file, gnutls_strerror (ret)); - exit (1); - } - - return crt; + gnutls_x509_crt_t crt; + int ret; + gnutls_datum_t data; + size_t size; + + ret = gnutls_x509_crt_init(&crt); + if (ret < 0) + exit(1); + + data.data = (void *) read_binary_file(cert_file, &size); + data.size = size; + + if (!data.data) { + fprintf(stderr, "Cannot open file: %s\n", cert_file); + exit(1); + } + + ret = gnutls_x509_crt_import(crt, &data, GNUTLS_X509_FMT_PEM); + free(data.data); + if (ret < 0) { + fprintf(stderr, "Cannot import certificate in %s: %s\n", + cert_file, gnutls_strerror(ret)); + exit(1); + } + + return crt; } static void -_generate_request (gnutls_datum_t * rdata, const char *cert_file, - const char *issuer_file) +_generate_request(gnutls_datum_t * rdata, gnutls_x509_crt_t cert, + gnutls_x509_crt_t issuer, gnutls_datum_t *nonce) { - gnutls_ocsp_req_t req; - int ret; - gnutls_x509_crt_t issuer, cert; - unsigned char noncebuf[23]; - gnutls_datum_t nonce = { noncebuf, sizeof (noncebuf) }; - - ret = gnutls_ocsp_req_init (&req); - if (ret < 0) - exit (1); + gnutls_ocsp_req_t req; + int ret; - issuer = load_cert (issuer_file); - cert = load_cert (cert_file); + ret = gnutls_ocsp_req_init(&req); + if (ret < 0) + exit(1); - ret = gnutls_ocsp_req_add_cert (req, GNUTLS_DIG_SHA1, issuer, cert); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_req_add_cert(req, GNUTLS_DIG_SHA1, issuer, cert); + if (ret < 0) + exit(1); - gnutls_x509_crt_deinit (issuer); - gnutls_x509_crt_deinit (cert); - ret = gnutls_rnd (GNUTLS_RND_RANDOM, nonce.data, nonce.size); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_req_set_nonce(req, 0, nonce); + if (ret < 0) + exit(1); - ret = gnutls_ocsp_req_set_nonce (req, 0, &nonce); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_req_export(req, rdata); + if (ret != 0) + exit(1); - ret = gnutls_ocsp_req_export (req, rdata); - if (ret != 0) - exit (1); + gnutls_ocsp_req_deinit(req); - gnutls_ocsp_req_deinit (req); - - return; + return; } static int -_verify_response (gnutls_datum_t * data, const char *signer_file) +_verify_response(gnutls_datum_t * data, gnutls_x509_crt_t cert, + gnutls_x509_crt_t signer, gnutls_datum_t *nonce) { - gnutls_ocsp_resp_t resp; - int ret; - size_t size; - gnutls_x509_crt_t signer; - unsigned verify; - gnutls_datum_t dat; - - ret = gnutls_ocsp_resp_init (&resp); - if (ret < 0) - exit (1); + gnutls_ocsp_resp_t resp; + int ret; + unsigned verify; + gnutls_datum_t rnonce; - ret = gnutls_ocsp_resp_import (resp, data); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_resp_init(&resp); + if (ret < 0) + exit(1); - ret = gnutls_x509_crt_init (&signer); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_resp_import(resp, data); + if (ret < 0) + exit(1); - dat.data = (void *) read_binary_file (signer_file, &size); - if (dat.data == NULL) - exit (1); + ret = gnutls_ocsp_resp_check_crt(resp, 0, cert); + if (ret < 0) + exit(1); - dat.size = size; + ret = gnutls_ocsp_resp_get_nonce(resp, NULL, &rnonce); + if (ret < 0) + exit(1); - ret = gnutls_x509_crt_import (signer, &dat, GNUTLS_X509_FMT_PEM); - free (dat.data); - if (ret < 0) - exit (1); + if (rnonce.size != nonce->size || memcmp(nonce->data, rnonce.data, + nonce->size) != 0) { + exit(1); + } - ret = gnutls_ocsp_resp_verify_direct (resp, signer, &verify, 0); - if (ret < 0) - exit (1); + ret = gnutls_ocsp_resp_verify_direct(resp, signer, &verify, 0); + if (ret < 0) + exit(1); - printf ("Verifying OCSP Response: "); - if (verify == 0) - printf ("Verification success!\n"); - else - printf ("Verification error!\n"); + printf("Verifying OCSP Response: "); + if (verify == 0) + printf("Verification success!\n"); + else + printf("Verification error!\n"); - if (verify & GNUTLS_OCSP_VERIFY_SIGNER_NOT_FOUND) - printf ("Signer cert not found\n"); + if (verify & GNUTLS_OCSP_VERIFY_SIGNER_NOT_FOUND) + printf("Signer cert not found\n"); - if (verify & GNUTLS_OCSP_VERIFY_SIGNER_KEYUSAGE_ERROR) - printf ("Signer cert keyusage error\n"); + if (verify & GNUTLS_OCSP_VERIFY_SIGNER_KEYUSAGE_ERROR) + printf("Signer cert keyusage error\n"); - if (verify & GNUTLS_OCSP_VERIFY_UNTRUSTED_SIGNER) - printf ("Signer cert is not trusted\n"); + if (verify & GNUTLS_OCSP_VERIFY_UNTRUSTED_SIGNER) + printf("Signer cert is not trusted\n"); - if (verify & GNUTLS_OCSP_VERIFY_INSECURE_ALGORITHM) - printf ("Insecure algorithm\n"); + if (verify & GNUTLS_OCSP_VERIFY_INSECURE_ALGORITHM) + printf("Insecure algorithm\n"); - if (verify & GNUTLS_OCSP_VERIFY_SIGNATURE_FAILURE) - printf ("Signature failure\n"); + if (verify & GNUTLS_OCSP_VERIFY_SIGNATURE_FAILURE) + printf("Signature failure\n"); - if (verify & GNUTLS_OCSP_VERIFY_CERT_NOT_ACTIVATED) - printf ("Signer cert not yet activated\n"); + if (verify & GNUTLS_OCSP_VERIFY_CERT_NOT_ACTIVATED) + printf("Signer cert not yet activated\n"); - if (verify & GNUTLS_OCSP_VERIFY_CERT_EXPIRED) - printf ("Signer cert expired\n"); + if (verify & GNUTLS_OCSP_VERIFY_CERT_EXPIRED) + printf("Signer cert expired\n"); - gnutls_ocsp_resp_deinit (resp); + gnutls_free(rnonce.data); + gnutls_ocsp_resp_deinit(resp); - return verify; + return verify; } -size_t -get_data (void *buffer, size_t size, size_t nmemb, void *userp) +size_t get_data(void *buffer, size_t size, size_t nmemb, void *userp) { - gnutls_datum_t *ud = userp; + gnutls_datum_t *ud = userp; - size *= nmemb; + size *= nmemb; - ud->data = realloc (ud->data, size + ud->size); - if (ud->data == NULL) - { - fprintf (stderr, "Not enough memory for the request\n"); - exit (1); - } + ud->data = realloc(ud->data, size + ud->size); + if (ud->data == NULL) { + fprintf(stderr, "Not enough memory for the request\n"); + exit(1); + } - memcpy (&ud->data[ud->size], buffer, size); - ud->size += size; + memcpy(&ud->data[ud->size], buffer, size); + ud->size += size; - return size; + return size; } diff --git a/doc/examples/ex-pkcs11-list.c b/doc/examples/ex-pkcs11-list.c index 70849be..5091161 100644 --- a/doc/examples/ex-pkcs11-list.c +++ b/doc/examples/ex-pkcs11-list.c @@ -8,45 +8,43 @@ #define URL "pkcs11:URL" -int -main (int argc, char** argv) +int main(int argc, char **argv) { - gnutls_pkcs11_obj_t *obj_list; - gnutls_x509_crt_t xcrt; - unsigned int obj_list_size = 0; - gnutls_datum_t cinfo; - int ret; - unsigned int i; - - obj_list_size = 0; - ret = gnutls_pkcs11_obj_list_import_url (NULL, &obj_list_size, URL, - GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY, - 0); - if (ret < 0 && ret != GNUTLS_E_SHORT_MEMORY_BUFFER) - return -1; + gnutls_pkcs11_obj_t *obj_list; + gnutls_x509_crt_t xcrt; + unsigned int obj_list_size = 0; + gnutls_datum_t cinfo; + int ret; + unsigned int i; + + obj_list_size = 0; + ret = gnutls_pkcs11_obj_list_import_url(NULL, &obj_list_size, URL, + GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY, + 0); + if (ret < 0 && ret != GNUTLS_E_SHORT_MEMORY_BUFFER) + return -1; /* no error checking from now on */ - obj_list = malloc (sizeof (*obj_list) * obj_list_size); + obj_list = malloc(sizeof(*obj_list) * obj_list_size); - gnutls_pkcs11_obj_list_import_url (obj_list, &obj_list_size, URL, - GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY, - 0); + gnutls_pkcs11_obj_list_import_url(obj_list, &obj_list_size, URL, + GNUTLS_PKCS11_OBJ_ATTR_CRT_WITH_PRIVKEY, + 0); /* now all certificates are in obj_list */ - for (i = 0; i < obj_list_size; i++) - { + for (i = 0; i < obj_list_size; i++) { - gnutls_x509_crt_init (&xcrt); + gnutls_x509_crt_init(&xcrt); - gnutls_x509_crt_import_pkcs11 (xcrt, obj_list[i]); + gnutls_x509_crt_import_pkcs11(xcrt, obj_list[i]); - gnutls_x509_crt_print (xcrt, GNUTLS_CRT_PRINT_FULL, &cinfo); + gnutls_x509_crt_print(xcrt, GNUTLS_CRT_PRINT_FULL, &cinfo); - fprintf (stdout, "cert[%d]:\n %s\n\n", i, cinfo.data); + fprintf(stdout, "cert[%d]:\n %s\n\n", i, cinfo.data); - gnutls_free (cinfo.data); - gnutls_x509_crt_deinit (xcrt); - } + gnutls_free(cinfo.data); + gnutls_x509_crt_deinit(xcrt); + } - return 0; + return 0; } diff --git a/doc/examples/ex-pkcs12.c b/doc/examples/ex-pkcs12.c index 69e7987..7890518 100644 --- a/doc/examples/ex-pkcs12.c +++ b/doc/examples/ex-pkcs12.c @@ -20,115 +20,113 @@ * password: is the password used to encrypt the PKCS #12 packet. */ int -write_pkcs12 (const gnutls_datum_t * cert, - const gnutls_datum_t * pkcs8_key, const char *password) +write_pkcs12(const gnutls_datum_t * cert, + const gnutls_datum_t * pkcs8_key, const char *password) { - gnutls_pkcs12_t pkcs12; - int ret, bag_index; - gnutls_pkcs12_bag_t bag, key_bag; - char pkcs12_struct[10 * 1024]; - size_t pkcs12_struct_size; - FILE *fd; - - /* A good idea might be to use gnutls_x509_privkey_get_key_id() - * to obtain a unique ID. - */ - gnutls_datum_t key_id = { (void *) "\x00\x00\x07", 3 }; - - gnutls_global_init (); - - /* Firstly we create two helper bags, which hold the certificate, - * and the (encrypted) key. - */ - - gnutls_pkcs12_bag_init (&bag); - gnutls_pkcs12_bag_init (&key_bag); - - ret = gnutls_pkcs12_bag_set_data (bag, GNUTLS_BAG_CERTIFICATE, cert); - if (ret < 0) - { - fprintf (stderr, "ret: %s\n", gnutls_strerror (ret)); - return 1; - } - - /* ret now holds the bag's index. - */ - bag_index = ret; - - /* Associate a friendly name with the given certificate. Used - * by browsers. - */ - gnutls_pkcs12_bag_set_friendly_name (bag, bag_index, "My name"); - - /* Associate the certificate with the key using a unique key - * ID. - */ - gnutls_pkcs12_bag_set_key_id (bag, bag_index, &key_id); - - /* use weak encryption for the certificate. - */ - gnutls_pkcs12_bag_encrypt (bag, password, GNUTLS_PKCS_USE_PKCS12_RC2_40); - - /* Now the key. - */ - - ret = gnutls_pkcs12_bag_set_data (key_bag, - GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, - pkcs8_key); - if (ret < 0) - { - fprintf (stderr, "ret: %s\n", gnutls_strerror (ret)); - return 1; - } - - /* Note that since the PKCS #8 key is already encrypted we don't - * bother encrypting that bag. - */ - bag_index = ret; - - gnutls_pkcs12_bag_set_friendly_name (key_bag, bag_index, "My name"); - - gnutls_pkcs12_bag_set_key_id (key_bag, bag_index, &key_id); - - - /* The bags were filled. Now create the PKCS #12 structure. - */ - gnutls_pkcs12_init (&pkcs12); - - /* Insert the two bags in the PKCS #12 structure. - */ - - gnutls_pkcs12_set_bag (pkcs12, bag); - gnutls_pkcs12_set_bag (pkcs12, key_bag); - - - /* Generate a message authentication code for the PKCS #12 - * structure. - */ - gnutls_pkcs12_generate_mac (pkcs12, password); - - pkcs12_struct_size = sizeof (pkcs12_struct); - ret = - gnutls_pkcs12_export (pkcs12, GNUTLS_X509_FMT_DER, pkcs12_struct, - &pkcs12_struct_size); - if (ret < 0) - { - fprintf (stderr, "ret: %s\n", gnutls_strerror (ret)); - return 1; - } - - fd = fopen (OUTFILE, "w"); - if (fd == NULL) - { - fprintf (stderr, "cannot open file\n"); - return 1; - } - fwrite (pkcs12_struct, 1, pkcs12_struct_size, fd); - fclose (fd); - - gnutls_pkcs12_bag_deinit (bag); - gnutls_pkcs12_bag_deinit (key_bag); - gnutls_pkcs12_deinit (pkcs12); - - return 0; + gnutls_pkcs12_t pkcs12; + int ret, bag_index; + gnutls_pkcs12_bag_t bag, key_bag; + char pkcs12_struct[10 * 1024]; + size_t pkcs12_struct_size; + FILE *fd; + + /* A good idea might be to use gnutls_x509_privkey_get_key_id() + * to obtain a unique ID. + */ + gnutls_datum_t key_id = { (void *) "\x00\x00\x07", 3 }; + + gnutls_global_init(); + + /* Firstly we create two helper bags, which hold the certificate, + * and the (encrypted) key. + */ + + gnutls_pkcs12_bag_init(&bag); + gnutls_pkcs12_bag_init(&key_bag); + + ret = + gnutls_pkcs12_bag_set_data(bag, GNUTLS_BAG_CERTIFICATE, cert); + if (ret < 0) { + fprintf(stderr, "ret: %s\n", gnutls_strerror(ret)); + return 1; + } + + /* ret now holds the bag's index. + */ + bag_index = ret; + + /* Associate a friendly name with the given certificate. Used + * by browsers. + */ + gnutls_pkcs12_bag_set_friendly_name(bag, bag_index, "My name"); + + /* Associate the certificate with the key using a unique key + * ID. + */ + gnutls_pkcs12_bag_set_key_id(bag, bag_index, &key_id); + + /* use weak encryption for the certificate. + */ + gnutls_pkcs12_bag_encrypt(bag, password, + GNUTLS_PKCS_USE_PKCS12_RC2_40); + + /* Now the key. + */ + + ret = gnutls_pkcs12_bag_set_data(key_bag, + GNUTLS_BAG_PKCS8_ENCRYPTED_KEY, + pkcs8_key); + if (ret < 0) { + fprintf(stderr, "ret: %s\n", gnutls_strerror(ret)); + return 1; + } + + /* Note that since the PKCS #8 key is already encrypted we don't + * bother encrypting that bag. + */ + bag_index = ret; + + gnutls_pkcs12_bag_set_friendly_name(key_bag, bag_index, "My name"); + + gnutls_pkcs12_bag_set_key_id(key_bag, bag_index, &key_id); + + + /* The bags were filled. Now create the PKCS #12 structure. + */ + gnutls_pkcs12_init(&pkcs12); + + /* Insert the two bags in the PKCS #12 structure. + */ + + gnutls_pkcs12_set_bag(pkcs12, bag); + gnutls_pkcs12_set_bag(pkcs12, key_bag); + + + /* Generate a message authentication code for the PKCS #12 + * structure. + */ + gnutls_pkcs12_generate_mac(pkcs12, password); + + pkcs12_struct_size = sizeof(pkcs12_struct); + ret = + gnutls_pkcs12_export(pkcs12, GNUTLS_X509_FMT_DER, + pkcs12_struct, &pkcs12_struct_size); + if (ret < 0) { + fprintf(stderr, "ret: %s\n", gnutls_strerror(ret)); + return 1; + } + + fd = fopen(OUTFILE, "w"); + if (fd == NULL) { + fprintf(stderr, "cannot open file\n"); + return 1; + } + fwrite(pkcs12_struct, 1, pkcs12_struct_size, fd); + fclose(fd); + + gnutls_pkcs12_bag_deinit(bag); + gnutls_pkcs12_bag_deinit(key_bag); + gnutls_pkcs12_deinit(pkcs12); + + return 0; } diff --git a/doc/examples/ex-serv-anon.c b/doc/examples/ex-serv-anon.c index 75a0bf2..dc0a55b 100644 --- a/doc/examples/ex-serv-anon.c +++ b/doc/examples/ex-serv-anon.c @@ -22,157 +22,144 @@ #define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);} #define MAX_BUF 1024 #define PORT 5556 /* listen to 5556 port */ -#define DH_BITS 1024 /* These are global */ -gnutls_anon_server_credentials_t anoncred; - -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set_direct (session, "NORMAL:+ANON-ECDH:+ANON-DH", NULL); - - gnutls_credentials_set (session, GNUTLS_CRD_ANON, anoncred); - - gnutls_dh_set_prime_bits (session, DH_BITS); - - return session; -} - static gnutls_dh_params_t dh_params; -static int -generate_dh_params (void) +static int generate_dh_params(void) { - - /* Generate Diffie-Hellman parameters - for use with DHE - * kx algorithms. These should be discarded and regenerated - * once a day, once a week or once a month. Depending on the - * security requirements. - */ - gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, DH_BITS); - - return 0; + unsigned int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, + GNUTLS_SEC_PARAM_LEGACY); + /* Generate Diffie-Hellman parameters - for use with DHE + * kx algorithms. These should be discarded and regenerated + * once a day, once a week or once a month. Depending on the + * security requirements. + */ + gnutls_dh_params_init(&dh_params); + gnutls_dh_params_generate2(dh_params, bits); + + return 0; } -int -main (void) +int main(void) { - int err, listen_sd; - int sd, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in sa_cli; - socklen_t client_len; - char topbuf[512]; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - int optval = 1; - - /* this must be called once in the program - */ - gnutls_global_init (); - - gnutls_anon_allocate_server_credentials (&anoncred); - - generate_dh_params (); - - gnutls_anon_set_server_dh_params (anoncred, dh_params); - - /* Socket operations - */ - listen_sd = socket (AF_INET, SOCK_STREAM, 0); - SOCKET_ERR (listen_sd, "socket"); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); /* Server Port number */ - - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, - sizeof (int)); - - err = bind (listen_sd, (struct sockaddr *) & sa_serv, sizeof (sa_serv)); - SOCKET_ERR (err, "bind"); - err = listen (listen_sd, 1024); - SOCKET_ERR (err, "listen"); - - printf ("Server ready. Listening to port '%d'.\n\n", PORT); - - client_len = sizeof (sa_cli); - for (;;) - { - session = initialize_tls_session (); - - sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); - - printf ("- connection from %s, port %d\n", - inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf, - sizeof (topbuf)), ntohs (sa_cli.sin_port)); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) ((ptrdiff_t) sd)); - - do - { - ret = gnutls_handshake (session); + int err, listen_sd; + int sd, ret; + struct sockaddr_in sa_serv; + struct sockaddr_in sa_cli; + socklen_t client_len; + char topbuf[512]; + gnutls_session_t session; + gnutls_anon_server_credentials_t anoncred; + char buffer[MAX_BUF + 1]; + int optval = 1; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - close (sd); - gnutls_deinit (session); - fprintf (stderr, "*** Handshake has failed (%s)\n\n", - gnutls_strerror (ret)); - continue; - } - printf ("- Handshake was completed\n"); - - /* see the Getting peer's information example */ - /* print_info(session); */ - - for (;;) - { - memset (buffer, 0, MAX_BUF + 1); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - - if (ret == 0) - { - printf ("\n- Peer has closed the GnuTLS connection\n"); - break; - } - else if (ret < 0) - { - fprintf (stderr, "\n*** Received corrupted " - "data(%d). Closing the connection.\n\n", ret); - break; - } - else if (ret > 0) - { - /* echo data back to the client - */ - gnutls_record_send (session, buffer, strlen (buffer)); - } - } - printf ("\n"); - /* do not wait for the peer to close the connection. - */ - gnutls_bye (session, GNUTLS_SHUT_WR); - close (sd); - gnutls_deinit (session); + gnutls_global_init(); + + gnutls_anon_allocate_server_credentials(&anoncred); + + generate_dh_params(); + + gnutls_anon_set_server_dh_params(anoncred, dh_params); + + /* Socket operations + */ + listen_sd = socket(AF_INET, SOCK_STREAM, 0); + SOCKET_ERR(listen_sd, "socket"); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); /* Server Port number */ + + setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, + sizeof(int)); + + err = + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + SOCKET_ERR(err, "bind"); + err = listen(listen_sd, 1024); + SOCKET_ERR(err, "listen"); + + printf("Server ready. Listening to port '%d'.\n\n", PORT); + + client_len = sizeof(sa_cli); + for (;;) { + gnutls_init(&session, GNUTLS_SERVER); + gnutls_priority_set_direct(session, + "NORMAL::+ANON-ECDH:+ANON-DH", + NULL); + gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred); + + sd = accept(listen_sd, (struct sockaddr *) &sa_cli, + &client_len); + + printf("- connection from %s, port %d\n", + inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf, + sizeof(topbuf)), ntohs(sa_cli.sin_port)); + + gnutls_transport_set_int(session, sd); + + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + close(sd); + gnutls_deinit(session); + fprintf(stderr, + "*** Handshake has failed (%s)\n\n", + gnutls_strerror(ret)); + continue; + } + printf("- Handshake was completed\n"); + + /* see the Getting peer's information example */ + /* print_info(session); */ + + for (;;) { + ret = gnutls_record_recv(session, buffer, MAX_BUF); + + if (ret == 0) { + printf + ("\n- Peer has closed the GnuTLS connection\n"); + break; + } else if (ret < 0 + && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "\n*** Received corrupted " + "data(%d). Closing the connection.\n\n", + ret); + break; + } else if (ret > 0) { + /* echo data back to the client + */ + gnutls_record_send(session, buffer, ret); + } + } + printf("\n"); + /* do not wait for the peer to close the connection. + */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + close(sd); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_anon_free_server_credentials (anoncred); + gnutls_anon_free_server_credentials(anoncred); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-serv-dtls.c b/doc/examples/ex-serv-dtls.c index adcc7eb..7e35bbc 100644 --- a/doc/examples/ex-serv-dtls.c +++ b/doc/examples/ex-serv-dtls.c @@ -30,23 +30,22 @@ #define MAX_BUFFER 1024 #define PORT 5556 -typedef struct -{ - gnutls_session_t session; - int fd; - struct sockaddr *cli_addr; - socklen_t cli_addr_size; +typedef struct { + gnutls_session_t session; + int fd; + struct sockaddr *cli_addr; + socklen_t cli_addr_size; } priv_data_st; -static int pull_timeout_func (gnutls_transport_ptr_t ptr, unsigned int ms); -static ssize_t push_func (gnutls_transport_ptr_t p, const void *data, - size_t size); -static ssize_t pull_func (gnutls_transport_ptr_t p, void *data, size_t size); -static const char *human_addr (const struct sockaddr *sa, socklen_t salen, - char *buf, size_t buflen); -static int wait_for_connection (int fd); -static gnutls_session_t initialize_tls_session (void); -static int generate_dh_params (void); +static int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms); +static ssize_t push_func(gnutls_transport_ptr_t p, const void *data, + size_t size); +static ssize_t pull_func(gnutls_transport_ptr_t p, void *data, + size_t size); +static const char *human_addr(const struct sockaddr *sa, socklen_t salen, + char *buf, size_t buflen); +static int wait_for_connection(int fd); +static int generate_dh_params(void); /* Use global credentials and parameters to simplify * the example. */ @@ -54,380 +53,386 @@ static gnutls_certificate_credentials_t x509_cred; static gnutls_priority_t priority_cache; static gnutls_dh_params_t dh_params; -int -main (void) +int main(void) { - int listen_sd; - int sock, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in cli_addr; - socklen_t cli_addr_size; - gnutls_session_t session; - char buffer[MAX_BUFFER]; - priv_data_st priv; - gnutls_datum_t cookie_key; - gnutls_dtls_prestate_st prestate; - int mtu = 1400; - unsigned char sequence[8]; - - /* this must be called once in the program - */ - gnutls_global_init (); - - gnutls_certificate_allocate_credentials (&x509_cred); - gnutls_certificate_set_x509_trust_file (x509_cred, CAFILE, - GNUTLS_X509_FMT_PEM); - - gnutls_certificate_set_x509_crl_file (x509_cred, CRLFILE, - GNUTLS_X509_FMT_PEM); - - ret = gnutls_certificate_set_x509_key_file (x509_cred, CERTFILE, KEYFILE, - GNUTLS_X509_FMT_PEM); - if (ret < 0) - { - printf("No certificate or key were found\n"); - exit(1); - } - - generate_dh_params (); - - gnutls_certificate_set_dh_params (x509_cred, dh_params); - - gnutls_priority_init (&priority_cache, - "PERFORMANCE:-VERS-TLS-ALL:+VERS-DTLS1.0:%SERVER_PRECEDENCE", - NULL); - - gnutls_key_generate (&cookie_key, GNUTLS_COOKIE_KEY_SIZE); - - /* Socket operations - */ - listen_sd = socket (AF_INET, SOCK_DGRAM, 0); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); - - { /* DTLS requires the IP don't fragment (DF) bit to be set */ + int listen_sd; + int sock, ret; + struct sockaddr_in sa_serv; + struct sockaddr_in cli_addr; + socklen_t cli_addr_size; + gnutls_session_t session; + char buffer[MAX_BUFFER]; + priv_data_st priv; + gnutls_datum_t cookie_key; + gnutls_dtls_prestate_st prestate; + int mtu = 1400; + unsigned char sequence[8]; + + /* this must be called once in the program + */ + gnutls_global_init(); + + gnutls_certificate_allocate_credentials(&x509_cred); + gnutls_certificate_set_x509_trust_file(x509_cred, CAFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_certificate_set_x509_crl_file(x509_cred, CRLFILE, + GNUTLS_X509_FMT_PEM); + + ret = + gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE, + KEYFILE, + GNUTLS_X509_FMT_PEM); + if (ret < 0) { + printf("No certificate or key were found\n"); + exit(1); + } + + generate_dh_params(); + + gnutls_certificate_set_dh_params(x509_cred, dh_params); + + gnutls_priority_init(&priority_cache, + "PERFORMANCE:-VERS-TLS-ALL:+VERS-DTLS1.0:%SERVER_PRECEDENCE", + NULL); + + gnutls_key_generate(&cookie_key, GNUTLS_COOKIE_KEY_SIZE); + + /* Socket operations + */ + listen_sd = socket(AF_INET, SOCK_DGRAM, 0); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); + + { /* DTLS requires the IP don't fragment (DF) bit to be set */ #if defined(IP_DONTFRAG) - int optval = 1; - setsockopt (listen_sd, IPPROTO_IP, IP_DONTFRAG, - (const void *) &optval, sizeof (optval)); + int optval = 1; + setsockopt(listen_sd, IPPROTO_IP, IP_DONTFRAG, + (const void *) &optval, sizeof(optval)); #elif defined(IP_MTU_DISCOVER) - int optval = IP_PMTUDISC_DO; - setsockopt(listen_sd, IPPROTO_IP, IP_MTU_DISCOVER, - (const void*) &optval, sizeof (optval)); + int optval = IP_PMTUDISC_DO; + setsockopt(listen_sd, IPPROTO_IP, IP_MTU_DISCOVER, + (const void *) &optval, sizeof(optval)); #endif - } - - bind (listen_sd, (struct sockaddr *) &sa_serv, sizeof (sa_serv)); - - printf ("UDP server ready. Listening to port '%d'.\n\n", PORT); - - for (;;) - { - printf ("Waiting for connection...\n"); - sock = wait_for_connection (listen_sd); - if (sock < 0) - continue; - - cli_addr_size = sizeof (cli_addr); - ret = recvfrom (sock, buffer, sizeof (buffer), MSG_PEEK, - (struct sockaddr *) &cli_addr, &cli_addr_size); - if (ret > 0) - { - memset (&prestate, 0, sizeof (prestate)); - ret = gnutls_dtls_cookie_verify (&cookie_key, &cli_addr, - sizeof (cli_addr), buffer, ret, - &prestate); - if (ret < 0) /* cookie not valid */ - { - priv_data_st s; - - memset (&s, 0, sizeof (s)); - s.fd = sock; - s.cli_addr = (void *) &cli_addr; - s.cli_addr_size = sizeof (cli_addr); - - printf ("Sending hello verify request to %s\n", - human_addr ((struct sockaddr *) &cli_addr, - sizeof (cli_addr), buffer, - sizeof (buffer))); - - gnutls_dtls_cookie_send (&cookie_key, &cli_addr, - sizeof (cli_addr), &prestate, - (gnutls_transport_ptr_t) & s, - push_func); - - /* discard peeked data */ - recvfrom (sock, buffer, sizeof (buffer), 0, - (struct sockaddr *) &cli_addr, &cli_addr_size); - usleep (100); - continue; - } - printf ("Accepted connection from %s\n", - human_addr ((struct sockaddr *) - &cli_addr, sizeof (cli_addr), buffer, - sizeof (buffer))); - } - else - continue; - - session = initialize_tls_session (); - gnutls_dtls_prestate_set (session, &prestate); - gnutls_dtls_set_mtu (session, mtu); - - priv.session = session; - priv.fd = sock; - priv.cli_addr = (struct sockaddr *) &cli_addr; - priv.cli_addr_size = sizeof (cli_addr); - - gnutls_transport_set_ptr (session, &priv); - gnutls_transport_set_push_function (session, push_func); - gnutls_transport_set_pull_function (session, pull_func); - gnutls_transport_set_pull_timeout_function (session, pull_timeout_func); - - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - fprintf (stderr, "Error in handshake(): %s\n", - gnutls_strerror (ret)); - gnutls_deinit (session); - continue; } - printf ("- Handshake was completed\n"); - - for (;;) - { - do - { - ret = gnutls_record_recv_seq (session, buffer, MAX_BUFFER, - sequence); - } - while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED); - - if (ret < 0) - { - fprintf (stderr, "Error in recv(): %s\n", - gnutls_strerror (ret)); - break; - } - if (ret == 0) - { - printf ("EOF\n\n"); - break; - } - buffer[ret] = 0; - printf ("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n", - sequence[0], sequence[1], sequence[2], sequence[3], - sequence[4], sequence[5], sequence[6], sequence[7], buffer); - - /* reply back */ - ret = gnutls_record_send (session, buffer, ret); - if (ret < 0) - { - fprintf (stderr, "Error in send(): %s\n", - gnutls_strerror (ret)); - break; - } - } - - gnutls_bye (session, GNUTLS_SHUT_WR); - gnutls_deinit (session); + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + + printf("UDP server ready. Listening to port '%d'.\n\n", PORT); + + for (;;) { + printf("Waiting for connection...\n"); + sock = wait_for_connection(listen_sd); + if (sock < 0) + continue; + + cli_addr_size = sizeof(cli_addr); + ret = recvfrom(sock, buffer, sizeof(buffer), MSG_PEEK, + (struct sockaddr *) &cli_addr, + &cli_addr_size); + if (ret > 0) { + memset(&prestate, 0, sizeof(prestate)); + ret = + gnutls_dtls_cookie_verify(&cookie_key, + &cli_addr, + sizeof(cli_addr), + buffer, ret, + &prestate); + if (ret < 0) { /* cookie not valid */ + priv_data_st s; + + memset(&s, 0, sizeof(s)); + s.fd = sock; + s.cli_addr = (void *) &cli_addr; + s.cli_addr_size = sizeof(cli_addr); + + printf + ("Sending hello verify request to %s\n", + human_addr((struct sockaddr *) + &cli_addr, + sizeof(cli_addr), buffer, + sizeof(buffer))); + + gnutls_dtls_cookie_send(&cookie_key, + &cli_addr, + sizeof(cli_addr), + &prestate, + (gnutls_transport_ptr_t) + & s, push_func); + + /* discard peeked data */ + recvfrom(sock, buffer, sizeof(buffer), 0, + (struct sockaddr *) &cli_addr, + &cli_addr_size); + usleep(100); + continue; + } + printf("Accepted connection from %s\n", + human_addr((struct sockaddr *) + &cli_addr, sizeof(cli_addr), + buffer, sizeof(buffer))); + } else + continue; + + gnutls_init(&session, GNUTLS_SERVER | GNUTLS_DATAGRAM); + gnutls_priority_set(session, priority_cache); + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, + x509_cred); + + gnutls_dtls_prestate_set(session, &prestate); + gnutls_dtls_set_mtu(session, mtu); + + priv.session = session; + priv.fd = sock; + priv.cli_addr = (struct sockaddr *) &cli_addr; + priv.cli_addr_size = sizeof(cli_addr); + + gnutls_transport_set_ptr(session, &priv); + gnutls_transport_set_push_function(session, push_func); + gnutls_transport_set_pull_function(session, pull_func); + gnutls_transport_set_pull_timeout_function(session, + pull_timeout_func); + + do { + ret = gnutls_handshake(session); + } + while (ret == GNUTLS_E_INTERRUPTED + || ret == GNUTLS_E_AGAIN); + /* Note that DTLS may also receive GNUTLS_E_LARGE_PACKET. + * In that case the MTU should be adjusted. + */ + + if (ret < 0) { + fprintf(stderr, "Error in handshake(): %s\n", + gnutls_strerror(ret)); + gnutls_deinit(session); + continue; + } + + printf("- Handshake was completed\n"); + + for (;;) { + do { + ret = + gnutls_record_recv_seq(session, buffer, + MAX_BUFFER, + sequence); + } + while (ret == GNUTLS_E_AGAIN + || ret == GNUTLS_E_INTERRUPTED); + + if (ret < 0 && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + continue; + } else if (ret < 0) { + fprintf(stderr, "Error in recv(): %s\n", + gnutls_strerror(ret)); + break; + } + + if (ret == 0) { + printf("EOF\n\n"); + break; + } + + buffer[ret] = 0; + printf + ("received[%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x]: %s\n", + sequence[0], sequence[1], sequence[2], + sequence[3], sequence[4], sequence[5], + sequence[6], sequence[7], buffer); + + /* reply back */ + ret = gnutls_record_send(session, buffer, ret); + if (ret < 0) { + fprintf(stderr, "Error in send(): %s\n", + gnutls_strerror(ret)); + break; + } + } + + gnutls_bye(session, GNUTLS_SHUT_WR); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_certificate_free_credentials (x509_cred); - gnutls_priority_deinit (priority_cache); + gnutls_certificate_free_credentials(x509_cred); + gnutls_priority_deinit(priority_cache); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } -static int -wait_for_connection (int fd) +static int wait_for_connection(int fd) { - fd_set rd, wr; - int n; + fd_set rd, wr; + int n; - FD_ZERO (&rd); - FD_ZERO (&wr); + FD_ZERO(&rd); + FD_ZERO(&wr); - FD_SET (fd, &rd); + FD_SET(fd, &rd); - /* waiting part */ - n = select (fd + 1, &rd, &wr, NULL, NULL); - if (n == -1 && errno == EINTR) - return -1; - if (n < 0) - { - perror ("select()"); - exit (1); - } + /* waiting part */ + n = select(fd + 1, &rd, &wr, NULL, NULL); + if (n == -1 && errno == EINTR) + return -1; + if (n < 0) { + perror("select()"); + exit(1); + } - return fd; + return fd; } /* Wait for data to be received within a timeout period in milliseconds */ -static int -pull_timeout_func (gnutls_transport_ptr_t ptr, unsigned int ms) +static int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms) { - fd_set rfds; - struct timeval tv; - priv_data_st *priv = ptr; - struct sockaddr_in cli_addr; - socklen_t cli_addr_size; - int ret; - char c; - - FD_ZERO (&rfds); - FD_SET (priv->fd, &rfds); - - tv.tv_sec = 0; - tv.tv_usec = ms * 1000; - - ret = select (priv->fd + 1, &rfds, NULL, NULL, &tv); - - if (ret <= 0) - return ret; - - /* only report ok if the next message is from the peer we expect - * from - */ - cli_addr_size = sizeof (cli_addr); - ret = - recvfrom (priv->fd, &c, 1, MSG_PEEK, (struct sockaddr *) &cli_addr, - &cli_addr_size); - if (ret > 0) - { - if (cli_addr_size == priv->cli_addr_size - && memcmp (&cli_addr, priv->cli_addr, sizeof (cli_addr)) == 0) - return 1; - } - - return 0; + fd_set rfds; + struct timeval tv; + priv_data_st *priv = ptr; + struct sockaddr_in cli_addr; + socklen_t cli_addr_size; + int ret; + char c; + + FD_ZERO(&rfds); + FD_SET(priv->fd, &rfds); + + tv.tv_sec = 0; + tv.tv_usec = ms * 1000; + + while (tv.tv_usec >= 1000000) { + tv.tv_usec -= 1000000; + tv.tv_sec++; + } + + ret = select(priv->fd + 1, &rfds, NULL, NULL, &tv); + + if (ret <= 0) + return ret; + + /* only report ok if the next message is from the peer we expect + * from + */ + cli_addr_size = sizeof(cli_addr); + ret = + recvfrom(priv->fd, &c, 1, MSG_PEEK, + (struct sockaddr *) &cli_addr, &cli_addr_size); + if (ret > 0) { + if (cli_addr_size == priv->cli_addr_size + && memcmp(&cli_addr, priv->cli_addr, + sizeof(cli_addr)) == 0) + return 1; + } + + return 0; } static ssize_t -push_func (gnutls_transport_ptr_t p, const void *data, size_t size) +push_func(gnutls_transport_ptr_t p, const void *data, size_t size) { - priv_data_st *priv = p; + priv_data_st *priv = p; - return sendto (priv->fd, data, size, 0, priv->cli_addr, - priv->cli_addr_size); + return sendto(priv->fd, data, size, 0, priv->cli_addr, + priv->cli_addr_size); } -static ssize_t -pull_func (gnutls_transport_ptr_t p, void *data, size_t size) +static ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size) { - priv_data_st *priv = p; - struct sockaddr_in cli_addr; - socklen_t cli_addr_size; - char buffer[64]; - int ret; - - cli_addr_size = sizeof (cli_addr); - ret = - recvfrom (priv->fd, data, size, 0, (struct sockaddr *) &cli_addr, - &cli_addr_size); - if (ret == -1) - return ret; - - if (cli_addr_size == priv->cli_addr_size - && memcmp (&cli_addr, priv->cli_addr, sizeof (cli_addr)) == 0) - return ret; - - printf ("Denied connection from %s\n", - human_addr ((struct sockaddr *) - &cli_addr, sizeof (cli_addr), buffer, sizeof (buffer))); - - gnutls_transport_set_errno (priv->session, EAGAIN); - return -1; + priv_data_st *priv = p; + struct sockaddr_in cli_addr; + socklen_t cli_addr_size; + char buffer[64]; + int ret; + + cli_addr_size = sizeof(cli_addr); + ret = + recvfrom(priv->fd, data, size, 0, + (struct sockaddr *) &cli_addr, &cli_addr_size); + if (ret == -1) + return ret; + + if (cli_addr_size == priv->cli_addr_size + && memcmp(&cli_addr, priv->cli_addr, sizeof(cli_addr)) == 0) + return ret; + + printf("Denied connection from %s\n", + human_addr((struct sockaddr *) + &cli_addr, sizeof(cli_addr), buffer, + sizeof(buffer))); + + gnutls_transport_set_errno(priv->session, EAGAIN); + return -1; } -static const char * -human_addr (const struct sockaddr *sa, socklen_t salen, - char *buf, size_t buflen) +static const char *human_addr(const struct sockaddr *sa, socklen_t salen, + char *buf, size_t buflen) { - const char *save_buf = buf; - size_t l; + const char *save_buf = buf; + size_t l; - if (!buf || !buflen) - return NULL; + if (!buf || !buflen) + return NULL; - *buf = '\0'; + *buf = '\0'; - switch (sa->sa_family) - { + switch (sa->sa_family) { #if HAVE_IPV6 - case AF_INET6: - snprintf (buf, buflen, "IPv6 "); - break; + case AF_INET6: + snprintf(buf, buflen, "IPv6 "); + break; #endif - case AF_INET: - snprintf (buf, buflen, "IPv4 "); - break; - } - - l = strlen (buf); - buf += l; - buflen -= l; - - if (getnameinfo (sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) != 0) - return NULL; - - l = strlen (buf); - buf += l; - buflen -= l; - - strncat (buf, " port ", buflen); - - l = strlen (buf); - buf += l; - buflen -= l; + case AF_INET: + snprintf(buf, buflen, "IPv4 "); + break; + } - if (getnameinfo (sa, salen, NULL, 0, buf, buflen, NI_NUMERICSERV) != 0) - return NULL; + l = strlen(buf); + buf += l; + buflen -= l; - return save_buf; -} + if (getnameinfo(sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) != + 0) + return NULL; -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; + l = strlen(buf); + buf += l; + buflen -= l; - gnutls_init (&session, GNUTLS_SERVER | GNUTLS_DATAGRAM); + strncat(buf, " port ", buflen); - gnutls_priority_set (session, priority_cache); + l = strlen(buf); + buf += l; + buflen -= l; - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, x509_cred); + if (getnameinfo(sa, salen, NULL, 0, buf, buflen, NI_NUMERICSERV) != + 0) + return NULL; - return session; + return save_buf; } -static int -generate_dh_params (void) +static int generate_dh_params(void) { - int bits = gnutls_sec_param_to_pk_bits (GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LOW); + int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, + GNUTLS_SEC_PARAM_LEGACY); - /* Generate Diffie-Hellman parameters - for use with DHE - * kx algorithms. When short bit length is used, it might - * be wise to regenerate parameters often. - */ - gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, bits); + /* Generate Diffie-Hellman parameters - for use with DHE + * kx algorithms. When short bit length is used, it might + * be wise to regenerate parameters often. + */ + gnutls_dh_params_init(&dh_params); + gnutls_dh_params_generate2(dh_params, bits); - return 0; + return 0; } diff --git a/doc/examples/ex-serv-pgp.c b/doc/examples/ex-serv-pgp.c index 6946d29..d68a11c 100644 --- a/doc/examples/ex-serv-pgp.c +++ b/doc/examples/ex-serv-pgp.c @@ -27,160 +27,151 @@ #define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);} #define MAX_BUF 1024 #define PORT 5556 /* listen to 5556 port */ -#define DH_BITS 1024 /* These are global */ -gnutls_certificate_credentials_t cred; gnutls_dh_params_t dh_params; -static int -generate_dh_params (void) +static int generate_dh_params(void) { - - /* Generate Diffie-Hellman parameters - for use with DHE - * kx algorithms. These should be discarded and regenerated - * once a day, once a week or once a month. Depending on the - * security requirements. - */ - gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, DH_BITS); - - return 0; -} - -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set_direct (session, "NORMAL:+CTYPE-OPENPGP", NULL); - - /* request client certificate if any. - */ - gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); - - gnutls_dh_set_prime_bits (session, DH_BITS); - - return session; + unsigned int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, + GNUTLS_SEC_PARAM_LEGACY); + + /* Generate Diffie-Hellman parameters - for use with DHE + * kx algorithms. These should be discarded and regenerated + * once a day, once a week or once a month. Depending on the + * security requirements. + */ + gnutls_dh_params_init(&dh_params); + gnutls_dh_params_generate2(dh_params, bits); + + return 0; } -int -main (void) +int main(void) { - int err, listen_sd; - int sd, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in sa_cli; - socklen_t client_len; - char topbuf[512]; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - int optval = 1; - char name[256]; - - strcpy (name, "Echo Server"); - - /* this must be called once in the program - */ - gnutls_global_init (); - - gnutls_certificate_allocate_credentials (&cred); - gnutls_certificate_set_openpgp_keyring_file (cred, RINGFILE, - GNUTLS_OPENPGP_FMT_BASE64); - - gnutls_certificate_set_openpgp_key_file (cred, CERTFILE, KEYFILE, - GNUTLS_OPENPGP_FMT_BASE64); - - generate_dh_params (); - - gnutls_certificate_set_dh_params (cred, dh_params); - - /* Socket operations - */ - listen_sd = socket (AF_INET, SOCK_STREAM, 0); - SOCKET_ERR (listen_sd, "socket"); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); /* Server Port number */ - - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, - sizeof (int)); - - err = bind (listen_sd, (struct sockaddr *) & sa_serv, sizeof (sa_serv)); - SOCKET_ERR (err, "bind"); - err = listen (listen_sd, 1024); - SOCKET_ERR (err, "listen"); - - printf ("%s ready. Listening to port '%d'.\n\n", name, PORT); - - client_len = sizeof (sa_cli); - for (;;) - { - session = initialize_tls_session (); - - sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); - - printf ("- connection from %s, port %d\n", - inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf, - sizeof (topbuf)), ntohs (sa_cli.sin_port)); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - ret = gnutls_handshake (session); - if (ret < 0) - { - close (sd); - gnutls_deinit (session); - fprintf (stderr, "*** Handshake has failed (%s)\n\n", - gnutls_strerror (ret)); - continue; - } - printf ("- Handshake was completed\n"); - - /* see the Getting peer's information example */ - /* print_info(session); */ - - for (;;) - { - memset (buffer, 0, MAX_BUF + 1); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - - if (ret == 0) - { - printf ("\n- Peer has closed the GnuTLS connection\n"); - break; - } - else if (ret < 0) - { - fprintf (stderr, "\n*** Received corrupted " - "data(%d). Closing the connection.\n\n", ret); - break; - } - else if (ret > 0) - { - /* echo data back to the client - */ - gnutls_record_send (session, buffer, strlen (buffer)); - } + int err, listen_sd; + int sd, ret; + struct sockaddr_in sa_serv; + struct sockaddr_in sa_cli; + socklen_t client_len; + char topbuf[512]; + gnutls_session_t session; + gnutls_certificate_credentials_t cred; + char buffer[MAX_BUF + 1]; + int optval = 1; + char name[256]; + + strcpy(name, "Echo Server"); + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - printf ("\n"); - /* do not wait for the peer to close the connection. - */ - gnutls_bye (session, GNUTLS_SHUT_WR); - close (sd); - gnutls_deinit (session); + gnutls_global_init(); + + gnutls_certificate_allocate_credentials(&cred); + gnutls_certificate_set_openpgp_keyring_file(cred, RINGFILE, + GNUTLS_OPENPGP_FMT_BASE64); + + gnutls_certificate_set_openpgp_key_file(cred, CERTFILE, KEYFILE, + GNUTLS_OPENPGP_FMT_BASE64); + + generate_dh_params(); + + gnutls_certificate_set_dh_params(cred, dh_params); + + /* Socket operations + */ + listen_sd = socket(AF_INET, SOCK_STREAM, 0); + SOCKET_ERR(listen_sd, "socket"); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); /* Server Port number */ + + setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, + sizeof(int)); + + err = + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + SOCKET_ERR(err, "bind"); + err = listen(listen_sd, 1024); + SOCKET_ERR(err, "listen"); + + printf("%s ready. Listening to port '%d'.\n\n", name, PORT); + + client_len = sizeof(sa_cli); + for (;;) { + gnutls_init(&session, GNUTLS_SERVER); + gnutls_priority_set_direct(session, + "NORMAL:+CTYPE-OPENPGP", NULL); + + /* request client certificate if any. + */ + gnutls_certificate_server_set_request(session, + GNUTLS_CERT_REQUEST); + + sd = accept(listen_sd, (struct sockaddr *) &sa_cli, + &client_len); + + printf("- connection from %s, port %d\n", + inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf, + sizeof(topbuf)), ntohs(sa_cli.sin_port)); + + gnutls_transport_set_int(session, sd); + ret = gnutls_handshake(session); + if (ret < 0) { + close(sd); + gnutls_deinit(session); + fprintf(stderr, + "*** Handshake has failed (%s)\n\n", + gnutls_strerror(ret)); + continue; + } + printf("- Handshake was completed\n"); + + /* see the Getting peer's information example */ + /* print_info(session); */ + + for (;;) { + ret = gnutls_record_recv(session, buffer, MAX_BUF); + + if (ret == 0) { + printf + ("\n- Peer has closed the GnuTLS connection\n"); + break; + } else if (ret < 0 + && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "\n*** Received corrupted " + "data(%d). Closing the connection.\n\n", + ret); + break; + } else if (ret > 0) { + /* echo data back to the client + */ + gnutls_record_send(session, buffer, ret); + } + } + printf("\n"); + /* do not wait for the peer to close the connection. + */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + close(sd); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_certificate_free_credentials (cred); + gnutls_certificate_free_credentials(cred); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-serv-psk.c b/doc/examples/ex-serv-psk.c index 1f2af6c..c83658b 100644 --- a/doc/examples/ex-serv-psk.c +++ b/doc/examples/ex-serv-psk.c @@ -30,192 +30,185 @@ #define DH_BITS 1024 /* These are global */ -gnutls_certificate_credentials_t x509_cred; -gnutls_psk_server_credentials_t psk_cred; -gnutls_priority_t priority_cache; - -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set (session, priority_cache); - - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, x509_cred); - gnutls_credentials_set (session, GNUTLS_CRD_PSK, psk_cred); - - /* request client certificate if any. - */ - gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); - - return session; -} - static gnutls_dh_params_t dh_params; -static int -generate_dh_params (void) +static int generate_dh_params(void) { - /* Generate Diffie-Hellman parameters - for use with DHE - * kx algorithms. When short bit length is used, it might - * be wise to regenerate parameters. - * - * Check the ex-serv-export.c example for using static - * parameters. - */ - gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, DH_BITS); - - return 0; + /* Generate Diffie-Hellman parameters - for use with DHE + * kx algorithms. When short bit length is used, it might + * be wise to regenerate parameters. + * + * Check the ex-serv-export.c example for using static + * parameters. + */ + gnutls_dh_params_init(&dh_params); + gnutls_dh_params_generate2(dh_params, DH_BITS); + + return 0; } static int -pskfunc (gnutls_session_t session, const char *username, gnutls_datum_t * key) +pskfunc(gnutls_session_t session, const char *username, + gnutls_datum_t * key) { - printf ("psk: username %s\n", username); - key->data = gnutls_malloc (4); - key->data[0] = 0xDE; - key->data[1] = 0xAD; - key->data[2] = 0xBE; - key->data[3] = 0xEF; - key->size = 4; - return 0; + printf("psk: username %s\n", username); + key->data = gnutls_malloc(4); + key->data[0] = 0xDE; + key->data[1] = 0xAD; + key->data[2] = 0xBE; + key->data[3] = 0xEF; + key->size = 4; + return 0; } -int -main (void) +int main(void) { - int err, listen_sd; - int sd, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in sa_cli; - socklen_t client_len; - char topbuf[512]; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - int optval = 1; - int kx; - - /* this must be called once in the program - */ - gnutls_global_init (); - - gnutls_certificate_allocate_credentials (&x509_cred); - gnutls_certificate_set_x509_trust_file (x509_cred, CAFILE, - GNUTLS_X509_FMT_PEM); - - gnutls_certificate_set_x509_crl_file (x509_cred, CRLFILE, - GNUTLS_X509_FMT_PEM); - - gnutls_certificate_set_x509_key_file (x509_cred, CERTFILE, KEYFILE, - GNUTLS_X509_FMT_PEM); - - gnutls_psk_allocate_server_credentials (&psk_cred); - gnutls_psk_set_server_credentials_function (psk_cred, pskfunc); - - generate_dh_params (); - - gnutls_priority_init (&priority_cache, "NORMAL:+PSK:+ECDHE-PSK:+DHE-PSK", NULL); - - gnutls_certificate_set_dh_params (x509_cred, dh_params); - - /* Socket operations - */ - listen_sd = socket (AF_INET, SOCK_STREAM, 0); - SOCKET_ERR (listen_sd, "socket"); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); /* Server Port number */ - - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, - sizeof (int)); - - err = bind (listen_sd, (struct sockaddr *) & sa_serv, sizeof (sa_serv)); - SOCKET_ERR (err, "bind"); - err = listen (listen_sd, 1024); - SOCKET_ERR (err, "listen"); - - printf ("Server ready. Listening to port '%d'.\n\n", PORT); - - client_len = sizeof (sa_cli); - for (;;) - { - session = initialize_tls_session (); - - sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); - - printf ("- connection from %s, port %d\n", - inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf, - sizeof (topbuf)), ntohs (sa_cli.sin_port)); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - ret = gnutls_handshake (session); - if (ret < 0) - { - close (sd); - gnutls_deinit (session); - fprintf (stderr, "*** Handshake has failed (%s)\n\n", - gnutls_strerror (ret)); - continue; - } - printf ("- Handshake was completed\n"); - - kx = gnutls_kx_get(session); - if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK || - kx == GNUTLS_KX_ECDHE_PSK) - { - printf("- User %s was connected\n", gnutls_psk_server_get_username(session)); + int err, listen_sd; + int sd, ret; + struct sockaddr_in sa_serv; + struct sockaddr_in sa_cli; + socklen_t client_len; + char topbuf[512]; + gnutls_session_t session; + gnutls_certificate_credentials_t x509_cred; + gnutls_psk_server_credentials_t psk_cred; + gnutls_priority_t priority_cache; + char buffer[MAX_BUF + 1]; + int optval = 1; + int kx; + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - /* see the Getting peer's information example */ - /* print_info(session); */ - - for (;;) - { - memset (buffer, 0, MAX_BUF + 1); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - - if (ret == 0) - { - printf ("\n- Peer has closed the GnuTLS connection\n"); - break; - } - else if (ret < 0) - { - fprintf (stderr, "\n*** Received corrupted " - "data(%d). Closing the connection.\n\n", ret); - break; - } - else if (ret > 0) - { - /* echo data back to the client - */ - gnutls_record_send (session, buffer, strlen (buffer)); - } - } - printf ("\n"); - /* do not wait for the peer to close the connection. - */ - gnutls_bye (session, GNUTLS_SHUT_WR); - - close (sd); - gnutls_deinit (session); + gnutls_global_init(); + + gnutls_certificate_allocate_credentials(&x509_cred); + gnutls_certificate_set_x509_trust_file(x509_cred, CAFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_certificate_set_x509_crl_file(x509_cred, CRLFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE, KEYFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_psk_allocate_server_credentials(&psk_cred); + gnutls_psk_set_server_credentials_function(psk_cred, pskfunc); + + generate_dh_params(); + + gnutls_priority_init(&priority_cache, + "NORMAL:+PSK:+ECDHE-PSK:+DHE-PSK", + NULL); + + gnutls_certificate_set_dh_params(x509_cred, dh_params); + + /* Socket operations + */ + listen_sd = socket(AF_INET, SOCK_STREAM, 0); + SOCKET_ERR(listen_sd, "socket"); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); /* Server Port number */ + + setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, + sizeof(int)); + + err = + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + SOCKET_ERR(err, "bind"); + err = listen(listen_sd, 1024); + SOCKET_ERR(err, "listen"); + + printf("Server ready. Listening to port '%d'.\n\n", PORT); + + client_len = sizeof(sa_cli); + for (;;) { + gnutls_init(&session, GNUTLS_SERVER); + gnutls_priority_set(session, priority_cache); + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, + x509_cred); + gnutls_credentials_set(session, GNUTLS_CRD_PSK, psk_cred); + + /* request client certificate if any. + */ + gnutls_certificate_server_set_request(session, + GNUTLS_CERT_REQUEST); + + sd = accept(listen_sd, (struct sockaddr *) &sa_cli, + &client_len); + + printf("- connection from %s, port %d\n", + inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf, + sizeof(topbuf)), ntohs(sa_cli.sin_port)); + + gnutls_transport_set_int(session, sd); + ret = gnutls_handshake(session); + if (ret < 0) { + close(sd); + gnutls_deinit(session); + fprintf(stderr, + "*** Handshake has failed (%s)\n\n", + gnutls_strerror(ret)); + continue; + } + printf("- Handshake was completed\n"); + + kx = gnutls_kx_get(session); + if (kx == GNUTLS_KX_PSK || kx == GNUTLS_KX_DHE_PSK || + kx == GNUTLS_KX_ECDHE_PSK) { + printf("- User %s was connected\n", + gnutls_psk_server_get_username(session)); + } + + /* see the Getting peer's information example */ + /* print_info(session); */ + + for (;;) { + ret = gnutls_record_recv(session, buffer, MAX_BUF); + + if (ret == 0) { + printf + ("\n- Peer has closed the GnuTLS connection\n"); + break; + } else if (ret < 0 + && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "\n*** Received corrupted " + "data(%d). Closing the connection.\n\n", + ret); + break; + } else if (ret > 0) { + /* echo data back to the client + */ + gnutls_record_send(session, buffer, ret); + } + } + printf("\n"); + /* do not wait for the peer to close the connection. + */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + close(sd); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_certificate_free_credentials (x509_cred); - gnutls_psk_free_server_credentials (psk_cred); + gnutls_certificate_free_credentials(x509_cred); + gnutls_psk_free_server_credentials(psk_cred); - gnutls_priority_deinit (priority_cache); + gnutls_priority_deinit(priority_cache); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-serv-srp.c b/doc/examples/ex-serv-srp.c index 880f70c..9f1f58a 100644 --- a/doc/examples/ex-serv-srp.c +++ b/doc/examples/ex-serv-srp.c @@ -29,151 +29,149 @@ #define MAX_BUF 1024 #define PORT 5556 /* listen to 5556 port */ -/* These are global */ -gnutls_srp_server_credentials_t srp_cred; -gnutls_certificate_credentials_t cert_cred; - -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set_direct (session, "NORMAL:-KX-ALL:+SRP:+SRP-DSS:+SRP-RSA", NULL); - - gnutls_credentials_set (session, GNUTLS_CRD_SRP, srp_cred); - /* for the certificate authenticated ciphersuites. - */ - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, cert_cred); - - /* request client certificate if any. - */ - gnutls_certificate_server_set_request (session, GNUTLS_CERT_IGNORE); - - return session; -} - -int -main (void) +int main(void) { - int err, listen_sd; - int sd, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in sa_cli; - socklen_t client_len; - char topbuf[512]; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - int optval = 1; - char name[256]; - - strcpy (name, "Echo Server"); - - gnutls_global_init (); - - /* SRP_PASSWD a password file (created with the included srptool utility) - */ - gnutls_srp_allocate_server_credentials (&srp_cred); - gnutls_srp_set_server_credentials_file (srp_cred, SRP_PASSWD, - SRP_PASSWD_CONF); - - gnutls_certificate_allocate_credentials (&cert_cred); - gnutls_certificate_set_x509_trust_file (cert_cred, CAFILE, - GNUTLS_X509_FMT_PEM); - gnutls_certificate_set_x509_key_file (cert_cred, CERTFILE, KEYFILE, - GNUTLS_X509_FMT_PEM); - - /* TCP socket operations - */ - listen_sd = socket (AF_INET, SOCK_STREAM, 0); - SOCKET_ERR (listen_sd, "socket"); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); /* Server Port number */ - - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, - sizeof (int)); - - err = bind (listen_sd, (struct sockaddr *) & sa_serv, sizeof (sa_serv)); - SOCKET_ERR (err, "bind"); - err = listen (listen_sd, 1024); - SOCKET_ERR (err, "listen"); - - printf ("%s ready. Listening to port '%d'.\n\n", name, PORT); - - client_len = sizeof (sa_cli); - for (;;) - { - session = initialize_tls_session (); - - sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); - - printf ("- connection from %s, port %d\n", - inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf, - sizeof (topbuf)), ntohs (sa_cli.sin_port)); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - do - { - ret = gnutls_handshake (session); + int err, listen_sd; + int sd, ret; + struct sockaddr_in sa_serv; + struct sockaddr_in sa_cli; + socklen_t client_len; + char topbuf[512]; + gnutls_session_t session; + gnutls_srp_server_credentials_t srp_cred; + gnutls_certificate_credentials_t cert_cred; + char buffer[MAX_BUF + 1]; + int optval = 1; + char name[256]; + + strcpy(name, "Echo Server"); + + if (gnutls_check_version("3.1.4") == NULL) { + fprintf(stderr, "GnuTLS 3.1.4 is required for this example\n"); + exit(1); } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - close (sd); - gnutls_deinit (session); - fprintf (stderr, "*** Handshake has failed (%s)\n\n", - gnutls_strerror (ret)); - continue; - } - printf ("- Handshake was completed\n"); - printf ("- User %s was connected\n", gnutls_srp_server_get_username(session)); - - /* print_info(session); */ - - for (;;) - { - memset (buffer, 0, MAX_BUF + 1); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - - if (ret == 0) - { - printf ("\n- Peer has closed the GnuTLS connection\n"); - break; - } - else if (ret < 0) - { - fprintf (stderr, "\n*** Received corrupted " - "data(%d). Closing the connection.\n\n", ret); - break; - } - else if (ret > 0) - { - /* echo data back to the client - */ - gnutls_record_send (session, buffer, strlen (buffer)); - } - } - printf ("\n"); - /* do not wait for the peer to close the connection. */ - gnutls_bye (session, GNUTLS_SHUT_WR); - close (sd); - gnutls_deinit (session); + gnutls_global_init(); + + /* SRP_PASSWD a password file (created with the included srptool utility) + */ + gnutls_srp_allocate_server_credentials(&srp_cred); + gnutls_srp_set_server_credentials_file(srp_cred, SRP_PASSWD, + SRP_PASSWD_CONF); + + gnutls_certificate_allocate_credentials(&cert_cred); + gnutls_certificate_set_x509_trust_file(cert_cred, CAFILE, + GNUTLS_X509_FMT_PEM); + gnutls_certificate_set_x509_key_file(cert_cred, CERTFILE, KEYFILE, + GNUTLS_X509_FMT_PEM); + + /* TCP socket operations + */ + listen_sd = socket(AF_INET, SOCK_STREAM, 0); + SOCKET_ERR(listen_sd, "socket"); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); /* Server Port number */ + + setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, + sizeof(int)); + + err = + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + SOCKET_ERR(err, "bind"); + err = listen(listen_sd, 1024); + SOCKET_ERR(err, "listen"); + + printf("%s ready. Listening to port '%d'.\n\n", name, PORT); + + client_len = sizeof(sa_cli); + for (;;) { + gnutls_init(&session, GNUTLS_SERVER); + gnutls_priority_set_direct(session, + "NORMAL" + ":-KX-ALL:+SRP:+SRP-DSS:+SRP-RSA", + NULL); + gnutls_credentials_set(session, GNUTLS_CRD_SRP, srp_cred); + /* for the certificate authenticated ciphersuites. + */ + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, + cert_cred); + + /* We don't request any certificate from the client. + * If we did we would need to verify it. One way of + * doing that is shown in the "Verifying a certificate" + * example. + */ + gnutls_certificate_server_set_request(session, + GNUTLS_CERT_IGNORE); + + sd = accept(listen_sd, (struct sockaddr *) &sa_cli, + &client_len); + + printf("- connection from %s, port %d\n", + inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf, + sizeof(topbuf)), ntohs(sa_cli.sin_port)); + + gnutls_transport_set_int(session, sd); + + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + close(sd); + gnutls_deinit(session); + fprintf(stderr, + "*** Handshake has failed (%s)\n\n", + gnutls_strerror(ret)); + continue; + } + printf("- Handshake was completed\n"); + printf("- User %s was connected\n", + gnutls_srp_server_get_username(session)); + + /* print_info(session); */ + + for (;;) { + ret = gnutls_record_recv(session, buffer, MAX_BUF); + + if (ret == 0) { + printf + ("\n- Peer has closed the GnuTLS connection\n"); + break; + } else if (ret < 0 + && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "\n*** Received corrupted " + "data(%d). Closing the connection.\n\n", + ret); + break; + } else if (ret > 0) { + /* echo data back to the client + */ + gnutls_record_send(session, buffer, ret); + } + } + printf("\n"); + /* do not wait for the peer to close the connection. */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + close(sd); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_srp_free_server_credentials (srp_cred); - gnutls_certificate_free_credentials (cert_cred); + gnutls_srp_free_server_credentials(srp_cred); + gnutls_certificate_free_credentials(cert_cred); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-serv-x509.c b/doc/examples/ex-serv-x509.c index a8dc20e..5380d60 100644 --- a/doc/examples/ex-serv-x509.c +++ b/doc/examples/ex-serv-x509.c @@ -20,181 +20,185 @@ #define CAFILE "/etc/ssl/certs/ca-certificates.crt" #define CRLFILE "crl.pem" -/* This is a sample TLS 1.0 echo server, using X.509 authentication. +/* The OCSP status file contains up to date information about revocation + * of the server's certificate. That can be periodically be updated + * using: + * $ ocsptool --ask --load-cert your_cert.pem --load-issuer your_issuer.pem + * --load-signer your_issuer.pem --outfile ocsp-status.der + */ +#define OCSP_STATUS_FILE "ocsp-status.der" + +/* This is a sample TLS 1.0 echo server, using X.509 authentication and + * OCSP stapling support. */ #define MAX_BUF 1024 #define PORT 5556 /* listen to 5556 port */ /* These are global */ -gnutls_certificate_credentials_t x509_cred; -gnutls_priority_t priority_cache; - -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set (session, priority_cache); - - gnutls_credentials_set (session, GNUTLS_CRD_CERTIFICATE, x509_cred); - - /* We don't request any certificate from the client. - * If we did we would need to verify it. - */ - gnutls_certificate_server_set_request (session, GNUTLS_CERT_IGNORE); - - return session; -} - static gnutls_dh_params_t dh_params; -static int -generate_dh_params (void) +static int generate_dh_params(void) { - int bits = gnutls_sec_param_to_pk_bits (GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LOW); + unsigned int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, + GNUTLS_SEC_PARAM_LEGACY); - /* Generate Diffie-Hellman parameters - for use with DHE - * kx algorithms. When short bit length is used, it might - * be wise to regenerate parameters often. - */ - gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, bits); + /* Generate Diffie-Hellman parameters - for use with DHE + * kx algorithms. When short bit length is used, it might + * be wise to regenerate parameters often. + */ + gnutls_dh_params_init(&dh_params); + gnutls_dh_params_generate2(dh_params, bits); - return 0; + return 0; } -int -main (void) +int main(void) { - int listen_sd; - int sd, ret; - struct sockaddr_in sa_serv; - struct sockaddr_in sa_cli; - socklen_t client_len; - char topbuf[512]; - gnutls_session_t session; - char buffer[MAX_BUF + 1]; - int optval = 1; - - /* this must be called once in the program - */ - gnutls_global_init (); - - gnutls_certificate_allocate_credentials (&x509_cred); - /* gnutls_certificate_set_x509_system_trust(xcred); */ - gnutls_certificate_set_x509_trust_file (x509_cred, CAFILE, - GNUTLS_X509_FMT_PEM); - - gnutls_certificate_set_x509_crl_file (x509_cred, CRLFILE, - GNUTLS_X509_FMT_PEM); - - ret = gnutls_certificate_set_x509_key_file (x509_cred, CERTFILE, KEYFILE, - GNUTLS_X509_FMT_PEM); - if (ret < 0) - { - printf("No certificate or key were found\n"); - exit(1); - } - - generate_dh_params (); - - gnutls_priority_init (&priority_cache, "PERFORMANCE:%SERVER_PRECEDENCE", NULL); - - - gnutls_certificate_set_dh_params (x509_cred, dh_params); - - /* Socket operations - */ - listen_sd = socket (AF_INET, SOCK_STREAM, 0); - - memset (&sa_serv, '\0', sizeof (sa_serv)); - sa_serv.sin_family = AF_INET; - sa_serv.sin_addr.s_addr = INADDR_ANY; - sa_serv.sin_port = htons (PORT); /* Server Port number */ - - setsockopt (listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, - sizeof (int)); - - bind (listen_sd, (struct sockaddr *) & sa_serv, sizeof (sa_serv)); - - listen (listen_sd, 1024); - - printf ("Server ready. Listening to port '%d'.\n\n", PORT); - - client_len = sizeof (sa_cli); - for (;;) - { - session = initialize_tls_session (); - - sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); - - printf ("- connection from %s, port %d\n", - inet_ntop (AF_INET, &sa_cli.sin_addr, topbuf, - sizeof (topbuf)), ntohs (sa_cli.sin_port)); - - gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd); - - do - { - ret = gnutls_handshake (session); - } - while (ret < 0 && gnutls_error_is_fatal (ret) == 0); - - if (ret < 0) - { - close (sd); - gnutls_deinit (session); - fprintf (stderr, "*** Handshake has failed (%s)\n\n", - gnutls_strerror (ret)); - continue; + int listen_sd; + int sd, ret; + gnutls_certificate_credentials_t x509_cred; + gnutls_priority_t priority_cache; + struct sockaddr_in sa_serv; + struct sockaddr_in sa_cli; + socklen_t client_len; + char topbuf[512]; + gnutls_session_t session; + char buffer[MAX_BUF + 1]; + int optval = 1; + + /* this must be called once in the program + */ + gnutls_global_init(); + + gnutls_certificate_allocate_credentials(&x509_cred); + /* gnutls_certificate_set_x509_system_trust(xcred); */ + gnutls_certificate_set_x509_trust_file(x509_cred, CAFILE, + GNUTLS_X509_FMT_PEM); + + gnutls_certificate_set_x509_crl_file(x509_cred, CRLFILE, + GNUTLS_X509_FMT_PEM); + + ret = + gnutls_certificate_set_x509_key_file(x509_cred, CERTFILE, + KEYFILE, + GNUTLS_X509_FMT_PEM); + if (ret < 0) { + printf("No certificate or key were found\n"); + exit(1); } - printf ("- Handshake was completed\n"); - - /* see the Getting peer's information example */ - /* print_info(session); */ - - for (;;) - { - memset (buffer, 0, MAX_BUF + 1); - ret = gnutls_record_recv (session, buffer, MAX_BUF); - - if (ret == 0) - { - printf ("\n- Peer has closed the GnuTLS connection\n"); - break; - } - else if (ret < 0) - { - fprintf (stderr, "\n*** Received corrupted " - "data(%d). Closing the connection.\n\n", ret); - break; - } - else if (ret > 0) - { - /* echo data back to the client - */ - gnutls_record_send (session, buffer, strlen (buffer)); - } - } - printf ("\n"); - /* do not wait for the peer to close the connection. - */ - gnutls_bye (session, GNUTLS_SHUT_WR); - close (sd); - gnutls_deinit (session); + /* loads an OCSP status request if available */ + gnutls_certificate_set_ocsp_status_request_file(x509_cred, + OCSP_STATUS_FILE, + 0); + + generate_dh_params(); + + gnutls_priority_init(&priority_cache, + "PERFORMANCE:%SERVER_PRECEDENCE", NULL); + + + gnutls_certificate_set_dh_params(x509_cred, dh_params); + + /* Socket operations + */ + listen_sd = socket(AF_INET, SOCK_STREAM, 0); + + memset(&sa_serv, '\0', sizeof(sa_serv)); + sa_serv.sin_family = AF_INET; + sa_serv.sin_addr.s_addr = INADDR_ANY; + sa_serv.sin_port = htons(PORT); /* Server Port number */ + + setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, (void *) &optval, + sizeof(int)); + + bind(listen_sd, (struct sockaddr *) &sa_serv, sizeof(sa_serv)); + + listen(listen_sd, 1024); + + printf("Server ready. Listening to port '%d'.\n\n", PORT); + + client_len = sizeof(sa_cli); + for (;;) { + gnutls_init(&session, GNUTLS_SERVER); + gnutls_priority_set(session, priority_cache); + gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, + x509_cred); + + /* We don't request any certificate from the client. + * If we did we would need to verify it. One way of + * doing that is shown in the "Verifying a certificate" + * example. + */ + gnutls_certificate_server_set_request(session, + GNUTLS_CERT_IGNORE); + + sd = accept(listen_sd, (struct sockaddr *) &sa_cli, + &client_len); + + printf("- connection from %s, port %d\n", + inet_ntop(AF_INET, &sa_cli.sin_addr, topbuf, + sizeof(topbuf)), ntohs(sa_cli.sin_port)); + + gnutls_transport_set_int(session, sd); + + do { + ret = gnutls_handshake(session); + } + while (ret < 0 && gnutls_error_is_fatal(ret) == 0); + + if (ret < 0) { + close(sd); + gnutls_deinit(session); + fprintf(stderr, + "*** Handshake has failed (%s)\n\n", + gnutls_strerror(ret)); + continue; + } + printf("- Handshake was completed\n"); + + /* see the Getting peer's information example */ + /* print_info(session); */ + + for (;;) { + ret = gnutls_record_recv(session, buffer, MAX_BUF); + + if (ret == 0) { + printf + ("\n- Peer has closed the GnuTLS connection\n"); + break; + } else if (ret < 0 + && gnutls_error_is_fatal(ret) == 0) { + fprintf(stderr, "*** Warning: %s\n", + gnutls_strerror(ret)); + } else if (ret < 0) { + fprintf(stderr, "\n*** Received corrupted " + "data(%d). Closing the connection.\n\n", + ret); + break; + } else if (ret > 0) { + /* echo data back to the client + */ + gnutls_record_send(session, buffer, ret); + } + } + printf("\n"); + /* do not wait for the peer to close the connection. + */ + gnutls_bye(session, GNUTLS_SHUT_WR); + + close(sd); + gnutls_deinit(session); - } - close (listen_sd); + } + close(listen_sd); - gnutls_certificate_free_credentials (x509_cred); - gnutls_priority_deinit (priority_cache); + gnutls_certificate_free_credentials(x509_cred); + gnutls_priority_deinit(priority_cache); - gnutls_global_deinit (); + gnutls_global_deinit(); - return 0; + return 0; } diff --git a/doc/examples/ex-session-info.c b/doc/examples/ex-session-info.c index e5f0b54..7838e43 100644 --- a/doc/examples/ex-session-info.c +++ b/doc/examples/ex-session-info.c @@ -14,119 +14,121 @@ /* This function will print some details of the * given session. */ -int -print_info (gnutls_session_t session) +int print_info(gnutls_session_t session) { - const char *tmp; - gnutls_credentials_type_t cred; - gnutls_kx_algorithm_t kx; - int dhe, ecdh; - - dhe = ecdh = 0; - - /* print the key exchange's algorithm name - */ - kx = gnutls_kx_get (session); - tmp = gnutls_kx_get_name (kx); - printf ("- Key Exchange: %s\n", tmp); - - /* Check the authentication type used and switch - * to the appropriate. - */ - cred = gnutls_auth_get_type (session); - switch (cred) - { - case GNUTLS_CRD_IA: - printf ("- TLS/IA session\n"); - break; + const char *tmp; + gnutls_credentials_type_t cred; + gnutls_kx_algorithm_t kx; + int dhe, ecdh; + + dhe = ecdh = 0; + + /* print the key exchange's algorithm name + */ + kx = gnutls_kx_get(session); + tmp = gnutls_kx_get_name(kx); + printf("- Key Exchange: %s\n", tmp); + + /* Check the authentication type used and switch + * to the appropriate. + */ + cred = gnutls_auth_get_type(session); + switch (cred) { + case GNUTLS_CRD_IA: + printf("- TLS/IA session\n"); + break; #ifdef ENABLE_SRP - case GNUTLS_CRD_SRP: - printf ("- SRP session with username %s\n", - gnutls_srp_server_get_username (session)); - break; + case GNUTLS_CRD_SRP: + printf("- SRP session with username %s\n", + gnutls_srp_server_get_username(session)); + break; #endif - case GNUTLS_CRD_PSK: - /* This returns NULL in server side. - */ - if (gnutls_psk_client_get_hint (session) != NULL) - printf ("- PSK authentication. PSK hint '%s'\n", - gnutls_psk_client_get_hint (session)); - /* This returns NULL in client side. - */ - if (gnutls_psk_server_get_username (session) != NULL) - printf ("- PSK authentication. Connected as '%s'\n", - gnutls_psk_server_get_username (session)); - - if (kx == GNUTLS_KX_ECDHE_PSK) - ecdh = 1; - else if (kx == GNUTLS_KX_DHE_PSK) - dhe = 1; - break; - - case GNUTLS_CRD_ANON: /* anonymous authentication */ - - printf ("- Anonymous authentication.\n"); - if (kx == GNUTLS_KX_ANON_ECDH) - ecdh = 1; - else if (kx == GNUTLS_KX_ANON_DH) - dhe = 1; - break; - - case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */ - - /* Check if we have been using ephemeral Diffie-Hellman. - */ - if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS) - dhe = 1; - else if (kx == GNUTLS_KX_ECDHE_RSA || kx == GNUTLS_KX_ECDHE_ECDSA) - ecdh = 1; - - /* if the certificate list is available, then - * print some information about it. - */ - print_x509_certificate_info (session); - - } /* switch */ - - if (ecdh != 0) - printf ("- Ephemeral ECDH using curve %s\n", - gnutls_ecc_curve_get_name (gnutls_ecc_curve_get (session))); - else if (dhe != 0) - printf ("- Ephemeral DH using prime of %d bits\n", - gnutls_dh_get_prime_bits (session)); - - /* print the protocol's name (ie TLS 1.0) - */ - tmp = gnutls_protocol_get_name (gnutls_protocol_get_version (session)); - printf ("- Protocol: %s\n", tmp); - - /* print the certificate type of the peer. - * ie X.509 - */ - tmp = - gnutls_certificate_type_get_name (gnutls_certificate_type_get (session)); - - printf ("- Certificate Type: %s\n", tmp); - - /* print the compression algorithm (if any) - */ - tmp = gnutls_compression_get_name (gnutls_compression_get (session)); - printf ("- Compression: %s\n", tmp); - - /* print the name of the cipher used. - * ie 3DES. - */ - tmp = gnutls_cipher_get_name (gnutls_cipher_get (session)); - printf ("- Cipher: %s\n", tmp); - - /* Print the MAC algorithms name. - * ie SHA1 - */ - tmp = gnutls_mac_get_name (gnutls_mac_get (session)); - printf ("- MAC: %s\n", tmp); - - return 0; + case GNUTLS_CRD_PSK: + /* This returns NULL in server side. + */ + if (gnutls_psk_client_get_hint(session) != NULL) + printf("- PSK authentication. PSK hint '%s'\n", + gnutls_psk_client_get_hint(session)); + /* This returns NULL in client side. + */ + if (gnutls_psk_server_get_username(session) != NULL) + printf("- PSK authentication. Connected as '%s'\n", + gnutls_psk_server_get_username(session)); + + if (kx == GNUTLS_KX_ECDHE_PSK) + ecdh = 1; + else if (kx == GNUTLS_KX_DHE_PSK) + dhe = 1; + break; + + case GNUTLS_CRD_ANON: /* anonymous authentication */ + + printf("- Anonymous authentication.\n"); + if (kx == GNUTLS_KX_ANON_ECDH) + ecdh = 1; + else if (kx == GNUTLS_KX_ANON_DH) + dhe = 1; + break; + + case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */ + + /* Check if we have been using ephemeral Diffie-Hellman. + */ + if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS) + dhe = 1; + else if (kx == GNUTLS_KX_ECDHE_RSA + || kx == GNUTLS_KX_ECDHE_ECDSA) + ecdh = 1; + + /* if the certificate list is available, then + * print some information about it. + */ + print_x509_certificate_info(session); + + } /* switch */ + + if (ecdh != 0) + printf("- Ephemeral ECDH using curve %s\n", + gnutls_ecc_curve_get_name(gnutls_ecc_curve_get + (session))); + else if (dhe != 0) + printf("- Ephemeral DH using prime of %d bits\n", + gnutls_dh_get_prime_bits(session)); + + /* print the protocol's name (ie TLS 1.0) + */ + tmp = + gnutls_protocol_get_name(gnutls_protocol_get_version(session)); + printf("- Protocol: %s\n", tmp); + + /* print the certificate type of the peer. + * ie X.509 + */ + tmp = + gnutls_certificate_type_get_name(gnutls_certificate_type_get + (session)); + + printf("- Certificate Type: %s\n", tmp); + + /* print the compression algorithm (if any) + */ + tmp = gnutls_compression_get_name(gnutls_compression_get(session)); + printf("- Compression: %s\n", tmp); + + /* print the name of the cipher used. + * ie 3DES. + */ + tmp = gnutls_cipher_get_name(gnutls_cipher_get(session)); + printf("- Cipher: %s\n", tmp); + + /* Print the MAC algorithms name. + * ie SHA1 + */ + tmp = gnutls_mac_get_name(gnutls_mac_get(session)); + printf("- MAC: %s\n", tmp); + + return 0; } diff --git a/doc/examples/ex-verify-ssh.c b/doc/examples/ex-verify-ssh.c index a748516..1bc0bfa 100644 --- a/doc/examples/ex-verify-ssh.c +++ b/doc/examples/ex-verify-ssh.c @@ -16,127 +16,95 @@ * SSH-style authentication, where ultimately trusted keys * are only the keys that have been seen before. */ -int -_ssh_verify_certificate_callback (gnutls_session_t session) +int _ssh_verify_certificate_callback(gnutls_session_t session) { - unsigned int status; - const gnutls_datum_t *cert_list; - unsigned int cert_list_size; - int ret; - gnutls_x509_crt_t cert; - const char *hostname; - - /* read hostname */ - hostname = gnutls_session_get_ptr (session); - - /* This verification function uses the trusted CAs in the credentials - * structure. So you must have installed one or more CA certificates. - */ - ret = gnutls_certificate_verify_peers2 (session, &status); - if (ret < 0) - { - printf ("Error\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - if (status & GNUTLS_CERT_INVALID) - printf ("The certificate is not trusted.\n"); - - if (status & GNUTLS_CERT_SIGNER_NOT_FOUND) - printf ("The certificate hasn't got a known issuer.\n"); - - if (status & GNUTLS_CERT_REVOKED) - printf ("The certificate has been revoked.\n"); - - if (status & GNUTLS_CERT_EXPIRED) - printf ("The certificate has expired\n"); - - if (status & GNUTLS_CERT_NOT_ACTIVATED) - printf ("The certificate is not yet activated\n"); - - /* Up to here the process is the same for X.509 certificates and - * OpenPGP keys. From now on X.509 certificates are assumed. This can - * be easily extended to work with openpgp keys as well. - */ - if (gnutls_certificate_type_get (session) != GNUTLS_CRT_X509) - return GNUTLS_E_CERTIFICATE_ERROR; - - if (gnutls_x509_crt_init (&cert) < 0) - { - printf ("error in initialization\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - cert_list = gnutls_certificate_get_peers (session, &cert_list_size); - if (cert_list == NULL) - { - printf ("No certificate was found!\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - /* This is not a real world example, since we only check the first - * certificate in the given chain. - */ - if (gnutls_x509_crt_import (cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0) - { - printf ("error parsing certificate\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - if (!gnutls_x509_crt_check_hostname (cert, hostname)) - { - printf ("The certificate's owner does not match hostname '%s'\n", - hostname); - status |= GNUTLS_CERT_INVALID; - } - - gnutls_x509_crt_deinit (cert); - - /* service may be obtained alternatively using getservbyport() */ - ret = gnutls_verify_stored_pubkey(NULL, NULL, hostname, "https", - GNUTLS_CRT_X509, &cert_list[0], 0); - if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND) - { - printf("Host %s is not known.", hostname); - if (status == 0) - printf("Its certificate is valid for %s.\n", hostname); - - /* the certificate must be printed and user must be asked on - * whether it is trustworthy. --see gnutls_x509_crt_print() */ - - /* if not trusted */ - return GNUTLS_E_CERTIFICATE_ERROR; - } - else if (ret == GNUTLS_E_CERTIFICATE_KEY_MISMATCH) - { - printf("Warning: host %s is known but has another key associated.", hostname); - printf("It might be that the server has multiple keys, or you are under attack\n"); - if (status == 0) - printf("Its certificate is valid for %s.\n", hostname); - - /* the certificate must be printed and user must be asked on - * whether it is trustworthy. --see gnutls_x509_crt_print() */ - - /* if not trusted */ - return GNUTLS_E_CERTIFICATE_ERROR; - } - else if (ret < 0) - { - printf("gnutls_verify_stored_pubkey: %s\n", gnutls_strerror(ret)); - return ret; - } - - /* user trusts the key -> store it */ - if (ret != 0) - { - ret = gnutls_store_pubkey(NULL, NULL, hostname, "https", - GNUTLS_CRT_X509, &cert_list[0], - 0, 0); - if (ret < 0) - printf("gnutls_store_pubkey: %s\n", gnutls_strerror(ret)); - } - - /* notify gnutls to continue handshake normally */ - return 0; + unsigned int status; + const gnutls_datum_t *cert_list; + unsigned int cert_list_size; + int ret, type; + gnutls_datum_t out; + const char *hostname; + + /* read hostname */ + hostname = gnutls_session_get_ptr(session); + + /* This verification function uses the trusted CAs in the credentials + * structure. So you must have installed one or more CA certificates. + */ + ret = gnutls_certificate_verify_peers3(session, hostname, &status); + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + type = gnutls_certificate_type_get(session); + + ret = + gnutls_certificate_verification_status_print(status, type, + &out, 0); + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + printf("%s", out.data); + + gnutls_free(out.data); + + if (status != 0) /* Certificate is not trusted */ + return GNUTLS_E_CERTIFICATE_ERROR; + + /* Do SSH verification */ + cert_list = gnutls_certificate_get_peers(session, &cert_list_size); + if (cert_list == NULL) { + printf("No certificate was found!\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + /* service may be obtained alternatively using getservbyport() */ + ret = gnutls_verify_stored_pubkey(NULL, NULL, hostname, "https", + type, &cert_list[0], 0); + if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND) { + printf("Host %s is not known.", hostname); + if (status == 0) + printf("Its certificate is valid for %s.\n", + hostname); + + /* the certificate must be printed and user must be asked on + * whether it is trustworthy. --see gnutls_x509_crt_print() */ + + /* if not trusted */ + return GNUTLS_E_CERTIFICATE_ERROR; + } else if (ret == GNUTLS_E_CERTIFICATE_KEY_MISMATCH) { + printf + ("Warning: host %s is known but has another key associated.", + hostname); + printf + ("It might be that the server has multiple keys, or you are under attack\n"); + if (status == 0) + printf("Its certificate is valid for %s.\n", + hostname); + + /* the certificate must be printed and user must be asked on + * whether it is trustworthy. --see gnutls_x509_crt_print() */ + + /* if not trusted */ + return GNUTLS_E_CERTIFICATE_ERROR; + } else if (ret < 0) { + printf("gnutls_verify_stored_pubkey: %s\n", + gnutls_strerror(ret)); + return ret; + } + + /* user trusts the key -> store it */ + if (ret != 0) { + ret = gnutls_store_pubkey(NULL, NULL, hostname, "https", + type, &cert_list[0], 0, 0); + if (ret < 0) + printf("gnutls_store_pubkey: %s\n", + gnutls_strerror(ret)); + } + + /* notify gnutls to continue handshake normally */ + return 0; } - diff --git a/doc/examples/ex-verify.c b/doc/examples/ex-verify.c index 0d52429..45618b9 100644 --- a/doc/examples/ex-verify.c +++ b/doc/examples/ex-verify.c @@ -22,126 +22,129 @@ int crl_list_size; gnutls_x509_crt_t *ca_list; int ca_list_size; -static int print_details_func (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer, - gnutls_x509_crl_t crl, - unsigned int verification_output); +static int print_details_func(gnutls_x509_crt_t cert, + gnutls_x509_crt_t issuer, + gnutls_x509_crl_t crl, + unsigned int verification_output); /* This function will try to verify the peer's certificate chain, and * also check if the hostname matches. */ void -verify_certificate_chain (const char *hostname, - const gnutls_datum_t * cert_chain, - int cert_chain_length) +verify_certificate_chain(const char *hostname, + const gnutls_datum_t * cert_chain, + int cert_chain_length) { - int i; - gnutls_x509_trust_list_t tlist; - gnutls_x509_crt_t *cert; - - unsigned int output; - - /* Initialize the trusted certificate list. This should be done - * once on initialization. gnutls_x509_crt_list_import2() and - * gnutls_x509_crl_list_import2() can be used to load them. - */ - gnutls_x509_trust_list_init (&tlist, 0); - - gnutls_x509_trust_list_add_cas (tlist, ca_list, ca_list_size, 0); - gnutls_x509_trust_list_add_crls (tlist, crl_list, crl_list_size, - GNUTLS_TL_VERIFY_CRL, 0); - - cert = malloc (sizeof (*cert) * cert_chain_length); - - /* Import all the certificates in the chain to - * native certificate format. - */ - for (i = 0; i < cert_chain_length; i++) - { - gnutls_x509_crt_init (&cert[i]); - gnutls_x509_crt_import (cert[i], &cert_chain[i], GNUTLS_X509_FMT_DER); - } - - gnutls_x509_trust_list_verify_named_crt (tlist, cert[0], hostname, - strlen (hostname), - GNUTLS_VERIFY_DISABLE_CRL_CHECKS, - &output, print_details_func); - - /* if this certificate is not explicitly trusted verify against CAs - */ - if (output != 0) - { - gnutls_x509_trust_list_verify_crt (tlist, cert, cert_chain_length, 0, - &output, print_details_func); - } - - if (output & GNUTLS_CERT_INVALID) - { - fprintf (stderr, "Not trusted"); - - if (output & GNUTLS_CERT_SIGNER_NOT_FOUND) - fprintf (stderr, ": no issuer was found"); - if (output & GNUTLS_CERT_SIGNER_NOT_CA) - fprintf (stderr, ": issuer is not a CA"); - if (output & GNUTLS_CERT_NOT_ACTIVATED) - fprintf (stderr, ": not yet activated\n"); - if (output & GNUTLS_CERT_EXPIRED) - fprintf (stderr, ": expired\n"); - - fprintf (stderr, "\n"); - } - else - fprintf (stderr, "Trusted\n"); - - /* Check if the name in the first certificate matches our destination! - */ - if (!gnutls_x509_crt_check_hostname (cert[0], hostname)) - { - printf ("The certificate's owner does not match hostname '%s'\n", - hostname); - } - - gnutls_x509_trust_list_deinit (tlist, 1); - - return; + int i; + gnutls_x509_trust_list_t tlist; + gnutls_x509_crt_t *cert; + + unsigned int output; + + /* Initialize the trusted certificate list. This should be done + * once on initialization. gnutls_x509_crt_list_import2() and + * gnutls_x509_crl_list_import2() can be used to load them. + */ + gnutls_x509_trust_list_init(&tlist, 0); + + gnutls_x509_trust_list_add_cas(tlist, ca_list, ca_list_size, 0); + gnutls_x509_trust_list_add_crls(tlist, crl_list, crl_list_size, + GNUTLS_TL_VERIFY_CRL, 0); + + cert = malloc(sizeof(*cert) * cert_chain_length); + + /* Import all the certificates in the chain to + * native certificate format. + */ + for (i = 0; i < cert_chain_length; i++) { + gnutls_x509_crt_init(&cert[i]); + gnutls_x509_crt_import(cert[i], &cert_chain[i], + GNUTLS_X509_FMT_DER); + } + + gnutls_x509_trust_list_verify_named_crt(tlist, cert[0], hostname, + strlen(hostname), + GNUTLS_VERIFY_DISABLE_CRL_CHECKS, + &output, + print_details_func); + + /* if this certificate is not explicitly trusted verify against CAs + */ + if (output != 0) { + gnutls_x509_trust_list_verify_crt(tlist, cert, + cert_chain_length, 0, + &output, + print_details_func); + } + + if (output & GNUTLS_CERT_INVALID) { + fprintf(stderr, "Not trusted"); + + if (output & GNUTLS_CERT_SIGNER_NOT_FOUND) + fprintf(stderr, ": no issuer was found"); + if (output & GNUTLS_CERT_SIGNER_NOT_CA) + fprintf(stderr, ": issuer is not a CA"); + if (output & GNUTLS_CERT_NOT_ACTIVATED) + fprintf(stderr, ": not yet activated\n"); + if (output & GNUTLS_CERT_EXPIRED) + fprintf(stderr, ": expired\n"); + + fprintf(stderr, "\n"); + } else + fprintf(stderr, "Trusted\n"); + + /* Check if the name in the first certificate matches our destination! + */ + if (!gnutls_x509_crt_check_hostname(cert[0], hostname)) { + printf + ("The certificate's owner does not match hostname '%s'\n", + hostname); + } + + gnutls_x509_trust_list_deinit(tlist, 1); + + return; } static int -print_details_func (gnutls_x509_crt_t cert, - gnutls_x509_crt_t issuer, gnutls_x509_crl_t crl, - unsigned int verification_output) +print_details_func(gnutls_x509_crt_t cert, + gnutls_x509_crt_t issuer, gnutls_x509_crl_t crl, + unsigned int verification_output) { - char name[512]; - char issuer_name[512]; - size_t name_size; - size_t issuer_name_size; + char name[512]; + char issuer_name[512]; + size_t name_size; + size_t issuer_name_size; - issuer_name_size = sizeof (issuer_name); - gnutls_x509_crt_get_issuer_dn (cert, issuer_name, &issuer_name_size); + issuer_name_size = sizeof(issuer_name); + gnutls_x509_crt_get_issuer_dn(cert, issuer_name, + &issuer_name_size); - name_size = sizeof (name); - gnutls_x509_crt_get_dn (cert, name, &name_size); + name_size = sizeof(name); + gnutls_x509_crt_get_dn(cert, name, &name_size); - fprintf (stdout, "\tSubject: %s\n", name); - fprintf (stdout, "\tIssuer: %s\n", issuer_name); + fprintf(stdout, "\tSubject: %s\n", name); + fprintf(stdout, "\tIssuer: %s\n", issuer_name); - if (issuer != NULL) - { - issuer_name_size = sizeof (issuer_name); - gnutls_x509_crt_get_dn (issuer, issuer_name, &issuer_name_size); + if (issuer != NULL) { + issuer_name_size = sizeof(issuer_name); + gnutls_x509_crt_get_dn(issuer, issuer_name, + &issuer_name_size); - fprintf (stdout, "\tVerified against: %s\n", issuer_name); - } + fprintf(stdout, "\tVerified against: %s\n", issuer_name); + } - if (crl != NULL) - { - issuer_name_size = sizeof (issuer_name); - gnutls_x509_crl_get_issuer_dn (crl, issuer_name, &issuer_name_size); + if (crl != NULL) { + issuer_name_size = sizeof(issuer_name); + gnutls_x509_crl_get_issuer_dn(crl, issuer_name, + &issuer_name_size); - fprintf (stdout, "\tVerified against CRL of: %s\n", issuer_name); - } + fprintf(stdout, "\tVerified against CRL of: %s\n", + issuer_name); + } - fprintf (stdout, "\tVerification output: %x\n\n", verification_output); + fprintf(stdout, "\tVerification output: %x\n\n", + verification_output); - return 0; + return 0; } diff --git a/doc/examples/ex-x509-info.c b/doc/examples/ex-x509-info.c index d2f39cf..a54aeff 100644 --- a/doc/examples/ex-x509-info.c +++ b/doc/examples/ex-x509-info.c @@ -11,112 +11,115 @@ #include "examples.h" -static const char * -bin2hex (const void *bin, size_t bin_size) +static const char *bin2hex(const void *bin, size_t bin_size) { - static char printable[110]; - const unsigned char *_bin = bin; - char *print; - size_t i; - - if (bin_size > 50) - bin_size = 50; - - print = printable; - for (i = 0; i < bin_size; i++) - { - sprintf (print, "%.2x ", _bin[i]); - print += 2; - } - - return printable; + static char printable[110]; + const unsigned char *_bin = bin; + char *print; + size_t i; + + if (bin_size > 50) + bin_size = 50; + + print = printable; + for (i = 0; i < bin_size; i++) { + sprintf(print, "%.2x ", _bin[i]); + print += 2; + } + + return printable; } /* This function will print information about this session's peer * certificate. */ -void -print_x509_certificate_info (gnutls_session_t session) +void print_x509_certificate_info(gnutls_session_t session) { - char serial[40]; - char dn[256]; - size_t size; - unsigned int algo, bits; - time_t expiration_time, activation_time; - const gnutls_datum_t *cert_list; - unsigned int cert_list_size = 0; - gnutls_x509_crt_t cert; - gnutls_datum_t cinfo; + char serial[40]; + char dn[256]; + size_t size; + unsigned int algo, bits; + time_t expiration_time, activation_time; + const gnutls_datum_t *cert_list; + unsigned int cert_list_size = 0; + gnutls_x509_crt_t cert; + gnutls_datum_t cinfo; - /* This function only works for X.509 certificates. - */ - if (gnutls_certificate_type_get (session) != GNUTLS_CRT_X509) - return; + /* This function only works for X.509 certificates. + */ + if (gnutls_certificate_type_get(session) != GNUTLS_CRT_X509) + return; - cert_list = gnutls_certificate_get_peers (session, &cert_list_size); + cert_list = gnutls_certificate_get_peers(session, &cert_list_size); - printf ("Peer provided %d certificates.\n", cert_list_size); + printf("Peer provided %d certificates.\n", cert_list_size); - if (cert_list_size > 0) - { - int ret; + if (cert_list_size > 0) { + int ret; - /* we only print information about the first certificate. - */ - gnutls_x509_crt_init (&cert); + /* we only print information about the first certificate. + */ + gnutls_x509_crt_init(&cert); - gnutls_x509_crt_import (cert, &cert_list[0], GNUTLS_X509_FMT_DER); + gnutls_x509_crt_import(cert, &cert_list[0], + GNUTLS_X509_FMT_DER); - printf ("Certificate info:\n"); + printf("Certificate info:\n"); - /* This is the preferred way of printing short information about - a certificate. */ + /* This is the preferred way of printing short information about + a certificate. */ - ret = gnutls_x509_crt_print (cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (ret == 0) - { - printf ("\t%s\n", cinfo.data); - gnutls_free (cinfo.data); - } + ret = + gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_ONELINE, + &cinfo); + if (ret == 0) { + printf("\t%s\n", cinfo.data); + gnutls_free(cinfo.data); + } - /* If you want to extract fields manually for some other reason, - below are popular example calls. */ + /* If you want to extract fields manually for some other reason, + below are popular example calls. */ - expiration_time = gnutls_x509_crt_get_expiration_time (cert); - activation_time = gnutls_x509_crt_get_activation_time (cert); + expiration_time = + gnutls_x509_crt_get_expiration_time(cert); + activation_time = + gnutls_x509_crt_get_activation_time(cert); - printf ("\tCertificate is valid since: %s", ctime (&activation_time)); - printf ("\tCertificate expires: %s", ctime (&expiration_time)); + printf("\tCertificate is valid since: %s", + ctime(&activation_time)); + printf("\tCertificate expires: %s", + ctime(&expiration_time)); - /* Print the serial number of the certificate. - */ - size = sizeof (serial); - gnutls_x509_crt_get_serial (cert, serial, &size); + /* Print the serial number of the certificate. + */ + size = sizeof(serial); + gnutls_x509_crt_get_serial(cert, serial, &size); - printf ("\tCertificate serial number: %s\n", bin2hex (serial, size)); + printf("\tCertificate serial number: %s\n", + bin2hex(serial, size)); - /* Extract some of the public key algorithm's parameters - */ - algo = gnutls_x509_crt_get_pk_algorithm (cert, &bits); + /* Extract some of the public key algorithm's parameters + */ + algo = gnutls_x509_crt_get_pk_algorithm(cert, &bits); - printf ("Certificate public key: %s", - gnutls_pk_algorithm_get_name (algo)); + printf("Certificate public key: %s", + gnutls_pk_algorithm_get_name(algo)); - /* Print the version of the X.509 - * certificate. - */ - printf ("\tCertificate version: #%d\n", - gnutls_x509_crt_get_version (cert)); + /* Print the version of the X.509 + * certificate. + */ + printf("\tCertificate version: #%d\n", + gnutls_x509_crt_get_version(cert)); - size = sizeof (dn); - gnutls_x509_crt_get_dn (cert, dn, &size); - printf ("\tDN: %s\n", dn); + size = sizeof(dn); + gnutls_x509_crt_get_dn(cert, dn, &size); + printf("\tDN: %s\n", dn); - size = sizeof (dn); - gnutls_x509_crt_get_issuer_dn (cert, dn, &size); - printf ("\tIssuer's DN: %s\n", dn); + size = sizeof(dn); + gnutls_x509_crt_get_issuer_dn(cert, dn, &size); + printf("\tIssuer's DN: %s\n", dn); - gnutls_x509_crt_deinit (cert); + gnutls_x509_crt_deinit(cert); - } + } } diff --git a/doc/examples/examples.h b/doc/examples/examples.h index 0c2dbb3..e5641a5 100644 --- a/doc/examples/examples.h +++ b/doc/examples/examples.h @@ -1,25 +1,24 @@ #ifndef EXAMPLES_H #define EXAMPLES_H -void check_alert (gnutls_session_t session, int ret); +void check_alert(gnutls_session_t session, int ret); -int write_pkcs12 (const gnutls_datum_t * cert, - const gnutls_datum_t * pkcs8_key, const char *password); +int write_pkcs12(const gnutls_datum_t * cert, + const gnutls_datum_t * pkcs8_key, const char *password); -void verify_certificate (gnutls_session_t session, const char *hostname); +void verify_certificate(gnutls_session_t session, const char *hostname); -int print_info (gnutls_session_t session); +int print_info(gnutls_session_t session); -void print_x509_certificate_info (gnutls_session_t session); +void print_x509_certificate_info(gnutls_session_t session); -int -_ssh_verify_certificate_callback (gnutls_session_t session); +int _ssh_verify_certificate_callback(gnutls_session_t session); void -verify_certificate_chain (const char *hostname, - const gnutls_datum_t * cert_chain, - int cert_chain_length); +verify_certificate_chain(const char *hostname, + const gnutls_datum_t * cert_chain, + int cert_chain_length); -int verify_certificate_callback (gnutls_session_t session); +int verify_certificate_callback(gnutls_session_t session); -#endif /* EXAMPLES_H */ +#endif /* EXAMPLES_H */ diff --git a/doc/examples/print-ciphersuites.c b/doc/examples/print-ciphersuites.c index 7b91c3b..c0b8321 100644 --- a/doc/examples/print-ciphersuites.c +++ b/doc/examples/print-ciphersuites.c @@ -6,49 +6,54 @@ #include #include -static void -print_cipher_suite_list (const char* priorities) +static void print_cipher_suite_list(const char *priorities) { - size_t i; - int ret; - unsigned int idx; - const char *name; - const char *err; - unsigned char id[2]; - gnutls_protocol_t version; - gnutls_priority_t pcache; - - if (priorities != NULL) - { - printf ("Cipher suites for %s\n", priorities); - - ret = gnutls_priority_init(&pcache, priorities, &err); - if (ret < 0) - { - fprintf (stderr, "Syntax error at: %s\n", err); - exit(1); - } - - for (i=0;;i++) - { - ret = gnutls_priority_get_cipher_suite_index(pcache, i, &idx); - if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) break; - if (ret == GNUTLS_E_UNKNOWN_CIPHER_SUITE) continue; - - name = gnutls_cipher_suite_info(idx, id, NULL, NULL, NULL, &version); - - if (name != NULL) - printf ("%-50s\t0x%02x, 0x%02x\t%s\n", - name, (unsigned char) id[0], (unsigned char) id[1], - gnutls_protocol_get_name (version)); - } - - return; - } + size_t i; + int ret; + unsigned int idx; + const char *name; + const char *err; + unsigned char id[2]; + gnutls_protocol_t version; + gnutls_priority_t pcache; + + if (priorities != NULL) { + printf("Cipher suites for %s\n", priorities); + + ret = gnutls_priority_init(&pcache, priorities, &err); + if (ret < 0) { + fprintf(stderr, "Syntax error at: %s\n", err); + exit(1); + } + + for (i = 0;; i++) { + ret = + gnutls_priority_get_cipher_suite_index(pcache, + i, + &idx); + if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) + break; + if (ret == GNUTLS_E_UNKNOWN_CIPHER_SUITE) + continue; + + name = + gnutls_cipher_suite_info(idx, id, NULL, NULL, + NULL, &version); + + if (name != NULL) + printf("%-50s\t0x%02x, 0x%02x\t%s\n", + name, (unsigned char) id[0], + (unsigned char) id[1], + gnutls_protocol_get_name(version)); + } + + return; + } } -int main(int argc, char** argv) +int main(int argc, char **argv) { - if (argc > 1) - print_cipher_suite_list (argv[1]); + if (argc > 1) + print_cipher_suite_list(argv[1]); + return 0; } diff --git a/doc/examples/tcp.c b/doc/examples/tcp.c index fcf8441..a9b2f0d 100644 --- a/doc/examples/tcp.c +++ b/doc/examples/tcp.c @@ -14,44 +14,41 @@ #include /* tcp.c */ -int tcp_connect (void); -void tcp_close (int sd); +int tcp_connect(void); +void tcp_close(int sd); /* Connects to the peer and returns a socket * descriptor. */ -extern int -tcp_connect (void) +extern int tcp_connect(void) { - const char *PORT = "5556"; - const char *SERVER = "127.0.0.1"; - int err, sd; - struct sockaddr_in sa; - - /* connects to server - */ - sd = socket (AF_INET, SOCK_STREAM, 0); - - memset (&sa, '\0', sizeof (sa)); - sa.sin_family = AF_INET; - sa.sin_port = htons (atoi (PORT)); - inet_pton (AF_INET, SERVER, &sa.sin_addr); - - err = connect (sd, (struct sockaddr *) & sa, sizeof (sa)); - if (err < 0) - { - fprintf (stderr, "Connect error\n"); - exit (1); - } - - return sd; + const char *PORT = "5556"; + const char *SERVER = "127.0.0.1"; + int err, sd; + struct sockaddr_in sa; + + /* connects to server + */ + sd = socket(AF_INET, SOCK_STREAM, 0); + + memset(&sa, '\0', sizeof(sa)); + sa.sin_family = AF_INET; + sa.sin_port = htons(atoi(PORT)); + inet_pton(AF_INET, SERVER, &sa.sin_addr); + + err = connect(sd, (struct sockaddr *) &sa, sizeof(sa)); + if (err < 0) { + fprintf(stderr, "Connect error\n"); + exit(1); + } + + return sd; } /* closes the given socket descriptor. */ -extern void -tcp_close (int sd) +extern void tcp_close(int sd) { - shutdown (sd, SHUT_RDWR); /* no more receptions */ - close (sd); + shutdown(sd, SHUT_RDWR); /* no more receptions */ + close(sd); } diff --git a/doc/examples/udp.c b/doc/examples/udp.c index 0c48ac1..184f317 100644 --- a/doc/examples/udp.c +++ b/doc/examples/udp.c @@ -14,53 +14,50 @@ #include /* udp.c */ -int udp_connect (void); -void udp_close (int sd); +int udp_connect(void); +void udp_close(int sd); /* Connects to the peer and returns a socket * descriptor. */ -extern int -udp_connect (void) +extern int udp_connect(void) { - const char *PORT = "5557"; - const char *SERVER = "127.0.0.1"; - int err, sd, optval; - struct sockaddr_in sa; + const char *PORT = "5557"; + const char *SERVER = "127.0.0.1"; + int err, sd, optval; + struct sockaddr_in sa; - /* connects to server - */ - sd = socket (AF_INET, SOCK_DGRAM, 0); + /* connects to server + */ + sd = socket(AF_INET, SOCK_DGRAM, 0); - memset (&sa, '\0', sizeof (sa)); - sa.sin_family = AF_INET; - sa.sin_port = htons (atoi (PORT)); - inet_pton (AF_INET, SERVER, &sa.sin_addr); + memset(&sa, '\0', sizeof(sa)); + sa.sin_family = AF_INET; + sa.sin_port = htons(atoi(PORT)); + inet_pton(AF_INET, SERVER, &sa.sin_addr); #if defined(IP_DONTFRAG) - optval = 1; - setsockopt (sd, IPPROTO_IP, IP_DONTFRAG, - (const void *) &optval, sizeof (optval)); + optval = 1; + setsockopt(sd, IPPROTO_IP, IP_DONTFRAG, + (const void *) &optval, sizeof(optval)); #elif defined(IP_MTU_DISCOVER) - optval = IP_PMTUDISC_DO; - setsockopt(sd, IPPROTO_IP, IP_MTU_DISCOVER, - (const void*) &optval, sizeof (optval)); + optval = IP_PMTUDISC_DO; + setsockopt(sd, IPPROTO_IP, IP_MTU_DISCOVER, + (const void *) &optval, sizeof(optval)); #endif - err = connect (sd, (struct sockaddr *) & sa, sizeof (sa)); - if (err < 0) - { - fprintf (stderr, "Connect error\n"); - exit (1); - } + err = connect(sd, (struct sockaddr *) &sa, sizeof(sa)); + if (err < 0) { + fprintf(stderr, "Connect error\n"); + exit(1); + } - return sd; + return sd; } /* closes the given socket descriptor. */ -extern void -udp_close (int sd) +extern void udp_close(int sd) { - close (sd); + close(sd); } diff --git a/doc/examples/verify.c b/doc/examples/verify.c index d02440a..2b5fa7a 100644 --- a/doc/examples/verify.c +++ b/doc/examples/verify.c @@ -10,82 +10,55 @@ #include "examples.h" -int verify_certificate_callback (gnutls_session_t session) +/* The example below demonstrates the usage of the more powerful + * gnutls_certificate_verify_peers() which can be used to check + * the hostname, as well as the key purpose OID of the peer's + * certificate. */ +int verify_certificate_callback(gnutls_session_t session) { - unsigned int status; - const gnutls_datum_t *cert_list; - unsigned int cert_list_size; - int ret; - gnutls_x509_crt_t cert; - const char *hostname; - - /* read hostname */ - hostname = gnutls_session_get_ptr (session); - - /* This verification function uses the trusted CAs in the credentials - * structure. So you must have installed one or more CA certificates. - */ - ret = gnutls_certificate_verify_peers2 (session, &status); - if (ret < 0) - { - printf ("Error\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - if (status & GNUTLS_CERT_INVALID) - printf ("The certificate is not trusted.\n"); - - if (status & GNUTLS_CERT_SIGNER_NOT_FOUND) - printf ("The certificate hasn't got a known issuer.\n"); - - if (status & GNUTLS_CERT_REVOKED) - printf ("The certificate has been revoked.\n"); - - if (status & GNUTLS_CERT_EXPIRED) - printf ("The certificate has expired\n"); - - if (status & GNUTLS_CERT_NOT_ACTIVATED) - printf ("The certificate is not yet activated\n"); - - /* Up to here the process is the same for X.509 certificates and - * OpenPGP keys. From now on X.509 certificates are assumed. This can - * be easily extended to work with openpgp keys as well. - */ - if (gnutls_certificate_type_get (session) != GNUTLS_CRT_X509) - return GNUTLS_E_CERTIFICATE_ERROR; - - if (gnutls_x509_crt_init (&cert) < 0) - { - printf ("error in initialization\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - cert_list = gnutls_certificate_get_peers (session, &cert_list_size); - if (cert_list == NULL) - { - printf ("No certificate was found!\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - /* This is not a real world example, since we only check the first - * certificate in the given chain. - */ - if (gnutls_x509_crt_import (cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0) - { - printf ("error parsing certificate\n"); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - - if (!gnutls_x509_crt_check_hostname (cert, hostname)) - { - printf ("The certificate's owner does not match hostname '%s'\n", - hostname); - return GNUTLS_E_CERTIFICATE_ERROR; - } - - gnutls_x509_crt_deinit (cert); - - /* notify gnutls to continue handshake normally */ - return 0; + unsigned int status; + int ret, type; + const char *hostname; + gnutls_datum_t out; + gnutls_typed_vdata_st data[2]; + + /* read hostname */ + hostname = gnutls_session_get_ptr(session); + + /* This verification function uses the trusted CAs in the credentials + * structure. So you must have installed one or more CA certificates. + */ + data[0].type = GNUTLS_DT_DNS_HOSTNAME; + data[0].data = (void*)hostname; + data[0].size = 0; + + data[1].type = GNUTLS_DT_KEY_PURPOSE_OID; + data[1].data = (void*)GNUTLS_KP_TLS_WWW_SERVER; + data[1].size = 0; + ret = gnutls_certificate_verify_peers(session, data, 2, + &status); + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + type = gnutls_certificate_type_get(session); + + ret = + gnutls_certificate_verification_status_print(status, type, + &out, 0); + if (ret < 0) { + printf("Error\n"); + return GNUTLS_E_CERTIFICATE_ERROR; + } + + printf("%s", out.data); + + gnutls_free(out.data); + + if (status != 0) /* Certificate is not trusted */ + return GNUTLS_E_CERTIFICATE_ERROR; + + /* notify gnutls to continue handshake normally */ + return 0; } diff --git a/doc/functions/dane_cert_type_name b/doc/functions/dane_cert_type_name new file mode 100644 index 0000000..4d2f1d6 --- /dev/null +++ b/doc/functions/dane_cert_type_name @@ -0,0 +1,11 @@ + + + +@deftypefun {const char *} {dane_cert_type_name} (dane_cert_type_t @var{type}) +@var{type}: is a DANE match type + +Convert a @code{dane_cert_type_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun diff --git a/doc/functions/dane_cert_type_name.short b/doc/functions/dane_cert_type_name.short new file mode 100644 index 0000000..6efa1a1 --- /dev/null +++ b/doc/functions/dane_cert_type_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{dane_cert_type_name} (dane_cert_type_t @var{type}) diff --git a/doc/functions/dane_cert_usage_name b/doc/functions/dane_cert_usage_name new file mode 100644 index 0000000..24336c3 --- /dev/null +++ b/doc/functions/dane_cert_usage_name @@ -0,0 +1,12 @@ + + + + +@deftypefun {const char *} {dane_cert_usage_name} (dane_cert_usage_t @var{usage}) +@var{usage}: -- undescribed -- + +Convert a @code{dane_cert_usage_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun diff --git a/doc/functions/dane_cert_usage_name.short b/doc/functions/dane_cert_usage_name.short new file mode 100644 index 0000000..e80ecaf --- /dev/null +++ b/doc/functions/dane_cert_usage_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{dane_cert_usage_name} (dane_cert_usage_t @var{usage}) diff --git a/doc/functions/dane_match_type_name b/doc/functions/dane_match_type_name new file mode 100644 index 0000000..fea04a1 --- /dev/null +++ b/doc/functions/dane_match_type_name @@ -0,0 +1,12 @@ + + + + +@deftypefun {const char *} {dane_match_type_name} (dane_match_type_t @var{type}) +@var{type}: is a DANE match type + +Convert a @code{dane_match_type_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified +type, or @code{NULL} . +@end deftypefun diff --git a/doc/functions/dane_match_type_name.short b/doc/functions/dane_match_type_name.short new file mode 100644 index 0000000..05170a3 --- /dev/null +++ b/doc/functions/dane_match_type_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{dane_match_type_name} (dane_match_type_t @var{type}) diff --git a/doc/functions/dane_query_data b/doc/functions/dane_query_data new file mode 100644 index 0000000..9ecbaaf --- /dev/null +++ b/doc/functions/dane_query_data @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {dane_query_data} (dane_query_t @var{q}, unsigned int @var{idx}, unsigned int * @var{usage}, unsigned int * @var{type}, unsigned int * @var{match}, gnutls_datum_t * @var{data}) +@var{q}: The query result structure + +@var{idx}: The index of the query response. + +@var{usage}: The certificate usage (see @code{dane_cert_usage_t} ) + +@var{type}: The certificate type (see @code{dane_cert_type_t} ) + +@var{match}: The DANE matching type (see @code{dane_match_type_t} ) + +@var{data}: The DANE data. + +This function will provide the DANE data from the query +response. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_query_data.short b/doc/functions/dane_query_data.short new file mode 100644 index 0000000..336cda4 --- /dev/null +++ b/doc/functions/dane_query_data.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_query_data} (dane_query_t @var{q}, unsigned int @var{idx}, unsigned int * @var{usage}, unsigned int * @var{type}, unsigned int * @var{match}, gnutls_datum_t * @var{data}) diff --git a/doc/functions/dane_query_deinit b/doc/functions/dane_query_deinit new file mode 100644 index 0000000..ae4cbf8 --- /dev/null +++ b/doc/functions/dane_query_deinit @@ -0,0 +1,9 @@ + + + + +@deftypefun {void} {dane_query_deinit} (dane_query_t @var{q}) +@var{q}: The structure to be deinitialized + +This function will deinitialize a DANE query result structure. +@end deftypefun diff --git a/doc/functions/dane_query_deinit.short b/doc/functions/dane_query_deinit.short new file mode 100644 index 0000000..944bb72 --- /dev/null +++ b/doc/functions/dane_query_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{dane_query_deinit} (dane_query_t @var{q}) diff --git a/doc/functions/dane_query_entries b/doc/functions/dane_query_entries new file mode 100644 index 0000000..3129cda --- /dev/null +++ b/doc/functions/dane_query_entries @@ -0,0 +1,11 @@ + + + + +@deftypefun {unsigned int} {dane_query_entries} (dane_query_t @var{q}) +@var{q}: The query result structure + +This function will return the number of entries in a query. + +@strong{Returns:} The number of entries. +@end deftypefun diff --git a/doc/functions/dane_query_entries.short b/doc/functions/dane_query_entries.short new file mode 100644 index 0000000..b777053 --- /dev/null +++ b/doc/functions/dane_query_entries.short @@ -0,0 +1 @@ +@item @var{unsigned int} @ref{dane_query_entries} (dane_query_t @var{q}) diff --git a/doc/functions/dane_query_status b/doc/functions/dane_query_status new file mode 100644 index 0000000..5a0dcc0 --- /dev/null +++ b/doc/functions/dane_query_status @@ -0,0 +1,12 @@ + + + + +@deftypefun {dane_query_status_t} {dane_query_status} (dane_query_t @var{q}) +@var{q}: The query result structure + +This function will return the status of the query response. +See @code{dane_query_status_t} for the possible types. + +@strong{Returns:} The status type. +@end deftypefun diff --git a/doc/functions/dane_query_status.short b/doc/functions/dane_query_status.short new file mode 100644 index 0000000..fa9b8c2 --- /dev/null +++ b/doc/functions/dane_query_status.short @@ -0,0 +1 @@ +@item @var{dane_query_status_t} @ref{dane_query_status} (dane_query_t @var{q}) diff --git a/doc/functions/dane_query_tlsa b/doc/functions/dane_query_tlsa new file mode 100644 index 0000000..f3626c7 --- /dev/null +++ b/doc/functions/dane_query_tlsa @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {dane_query_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, const char * @var{host}, const char * @var{proto}, unsigned int @var{port}) +@var{s}: The DANE state structure + +@var{r}: A structure to place the result + +@var{host}: The host name to resolve. + +@var{proto}: The protocol type (tcp, udp, etc.) + +@var{port}: The service port number (eg. 443). + +This function will query the DNS server for the TLSA (DANE) +data for the given host. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_query_tlsa.short b/doc/functions/dane_query_tlsa.short new file mode 100644 index 0000000..81eb633 --- /dev/null +++ b/doc/functions/dane_query_tlsa.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_query_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, const char * @var{host}, const char * @var{proto}, unsigned int @var{port}) diff --git a/doc/functions/dane_raw_tlsa b/doc/functions/dane_raw_tlsa new file mode 100644 index 0000000..cefc0db --- /dev/null +++ b/doc/functions/dane_raw_tlsa @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {dane_raw_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, char *const * @var{dane_data}, const int * @var{dane_data_len}, int @var{secure}, int @var{bogus}) +@var{s}: The DANE state structure + +@var{r}: A structure to place the result + +@var{dane_data}: array of DNS rdata items, terminated with a NULL pointer; +caller must guarantee that the referenced data remains +valid until @code{dane_query_deinit()} is called. + +@var{dane_data_len}: the length n bytes of the dane_data items + +@var{secure}: true if the result is validated securely, false if +validation failed or the domain queried has no security info + +@var{bogus}: if the result was not secure (secure = 0) due to a security failure, +and the result is due to a security failure, bogus is true. + +This function will fill in the TLSA (DANE) structure from +the given raw DNS record data. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_raw_tlsa.short b/doc/functions/dane_raw_tlsa.short new file mode 100644 index 0000000..c613df0 --- /dev/null +++ b/doc/functions/dane_raw_tlsa.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_raw_tlsa} (dane_state_t @var{s}, dane_query_t * @var{r}, char *const * @var{dane_data}, const int * @var{dane_data_len}, int @var{secure}, int @var{bogus}) diff --git a/doc/functions/dane_state_deinit b/doc/functions/dane_state_deinit new file mode 100644 index 0000000..eb0ec6d --- /dev/null +++ b/doc/functions/dane_state_deinit @@ -0,0 +1,9 @@ + + + + +@deftypefun {void} {dane_state_deinit} (dane_state_t @var{s}) +@var{s}: The structure to be deinitialized + +This function will deinitialize a DANE query structure. +@end deftypefun diff --git a/doc/functions/dane_state_deinit.short b/doc/functions/dane_state_deinit.short new file mode 100644 index 0000000..670827b --- /dev/null +++ b/doc/functions/dane_state_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{dane_state_deinit} (dane_state_t @var{s}) diff --git a/doc/functions/dane_state_init b/doc/functions/dane_state_init new file mode 100644 index 0000000..55c2740 --- /dev/null +++ b/doc/functions/dane_state_init @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {dane_state_init} (dane_state_t * @var{s}, unsigned int @var{flags}) +@var{s}: The structure to be initialized + +@var{flags}: flags from the @code{dane_state_flags} enumeration + +This function will initialize a DANE query structure. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_state_init.short b/doc/functions/dane_state_init.short new file mode 100644 index 0000000..78acee1 --- /dev/null +++ b/doc/functions/dane_state_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_state_init} (dane_state_t * @var{s}, unsigned int @var{flags}) diff --git a/doc/functions/dane_state_set_dlv_file b/doc/functions/dane_state_set_dlv_file new file mode 100644 index 0000000..2130370 --- /dev/null +++ b/doc/functions/dane_state_set_dlv_file @@ -0,0 +1,12 @@ + + + + +@deftypefun {int} {dane_state_set_dlv_file} (dane_state_t @var{s}, const char * @var{file}) +@var{s}: The structure to be deinitialized + +@var{file}: The file holding the DLV keys. + +This function will set a file with trusted keys +for DLV (DNSSEC Lookaside Validation). +@end deftypefun diff --git a/doc/functions/dane_state_set_dlv_file.short b/doc/functions/dane_state_set_dlv_file.short new file mode 100644 index 0000000..a6a04f9 --- /dev/null +++ b/doc/functions/dane_state_set_dlv_file.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_state_set_dlv_file} (dane_state_t @var{s}, const char * @var{file}) diff --git a/doc/functions/dane_strerror b/doc/functions/dane_strerror new file mode 100644 index 0000000..535febc --- /dev/null +++ b/doc/functions/dane_strerror @@ -0,0 +1,15 @@ + + + + +@deftypefun {const char *} {dane_strerror} (int @var{error}) +@var{error}: is a DANE error code, a negative error code + +This function is similar to strerror. The difference is that it +accepts an error number returned by a gnutls function; In case of +an unknown error a descriptive string is sent instead of @code{NULL} . + +Error codes are always a negative error code. + +@strong{Returns:} A string explaining the DANE error message. +@end deftypefun diff --git a/doc/functions/dane_strerror.short b/doc/functions/dane_strerror.short new file mode 100644 index 0000000..b737005 --- /dev/null +++ b/doc/functions/dane_strerror.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{dane_strerror} (int @var{error}) diff --git a/doc/functions/dane_verification_status_print b/doc/functions/dane_verification_status_print new file mode 100644 index 0000000..659f01d --- /dev/null +++ b/doc/functions/dane_verification_status_print @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {dane_verification_status_print} (unsigned int @var{status}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) +@var{status}: The status flags to be printed + +@var{out}: Newly allocated datum with (0) terminated string. + +@var{flags}: should be zero + +This function will pretty print the status of a verification +process -- eg. the one obtained by @code{dane_verify_crt()} . + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_verification_status_print.short b/doc/functions/dane_verification_status_print.short new file mode 100644 index 0000000..9b55db9 --- /dev/null +++ b/doc/functions/dane_verification_status_print.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_verification_status_print} (unsigned int @var{status}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) diff --git a/doc/functions/dane_verify_crt b/doc/functions/dane_verify_crt new file mode 100644 index 0000000..eb99190 --- /dev/null +++ b/doc/functions/dane_verify_crt @@ -0,0 +1,45 @@ + + + + +@deftypefun {int} {dane_verify_crt} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{chain}: A certificate chain + +@var{chain_size}: The size of the chain + +@var{chain_type}: The type of the certificate chain + +@var{hostname}: The hostname associated with the chain + +@var{proto}: The protocol of the service connecting (e.g. tcp) + +@var{port}: The port of the service connecting (e.g. 443) + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify the given certificate chain against the +CA constrains and/or the certificate available via DANE. +If no information via DANE can be obtained the flag @code{DANE_VERIFY_NO_DANE_INFO} +is set. If a DNSSEC signature is not available for the DANE +record then the verify flag @code{DANE_VERIFY_NO_DNSSEC_DATA} is set. + +Note that the CA constraint only applies for the directly certifying CA +and does not account for long CA chains. Moreover this function does not +validate the provided chain. + +Due to the many possible options of DANE, there is no single threat +model countered. When notifying the user about DANE verification results +it may be better to mention: DANE verification did not reject the certificate, +rather than mentioning a successful DANE verication. + +If the @code{q} parameter is provided it will be used for caching entries. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_verify_crt.short b/doc/functions/dane_verify_crt.short new file mode 100644 index 0000000..773e378 --- /dev/null +++ b/doc/functions/dane_verify_crt.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_verify_crt} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) diff --git a/doc/functions/dane_verify_crt_raw b/doc/functions/dane_verify_crt_raw new file mode 100644 index 0000000..bb6ec59 --- /dev/null +++ b/doc/functions/dane_verify_crt_raw @@ -0,0 +1,40 @@ + + + + +@deftypefun {int} {dane_verify_crt_raw} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, dane_query_t @var{r}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{chain}: A certificate chain + +@var{chain_size}: The size of the chain + +@var{chain_type}: The type of the certificate chain + +@var{r}: DANE data to check against + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify the given certificate chain against the +CA constrains and/or the certificate available via DANE. +If no information via DANE can be obtained the flag @code{DANE_VERIFY_NO_DANE_INFO} +is set. If a DNSSEC signature is not available for the DANE +record then the verify flag @code{DANE_VERIFY_NO_DNSSEC_DATA} is set. + +Note that the CA constraint only applies for the directly certifying CA +and does not account for long CA chains. + +Due to the many possible options of DANE, there is no single threat +model countered. When notifying the user about DANE verification results +it may be better to mention: DANE verification did not reject the certificate, +rather than mentioning a successful DANE verication. + +If the @code{q} parameter is provided it will be used for caching entries. + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_verify_crt_raw.short b/doc/functions/dane_verify_crt_raw.short new file mode 100644 index 0000000..d35abb3 --- /dev/null +++ b/doc/functions/dane_verify_crt_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_verify_crt_raw} (dane_state_t @var{s}, const gnutls_datum_t * @var{chain}, unsigned @var{chain_size}, gnutls_certificate_type_t @var{chain_type}, dane_query_t @var{r}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) diff --git a/doc/functions/dane_verify_session_crt b/doc/functions/dane_verify_session_crt new file mode 100644 index 0000000..73c2dcf --- /dev/null +++ b/doc/functions/dane_verify_session_crt @@ -0,0 +1,32 @@ + + + + +@deftypefun {int} {dane_verify_session_crt} (dane_state_t @var{s}, gnutls_session_t @var{session}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) +@var{s}: A DANE state structure (may be NULL) + +@var{session}: A gnutls session + +@var{hostname}: The hostname associated with the chain + +@var{proto}: The protocol of the service connecting (e.g. tcp) + +@var{port}: The port of the service connecting (e.g. 443) + +@var{sflags}: Flags for the the initialization of @code{s} (if NULL) + +@var{vflags}: Verification flags; an OR'ed list of @code{dane_verify_flags_t} . + +@var{verify}: An OR'ed list of @code{dane_verify_status_t} . + +This function will verify session's certificate chain against the +CA constrains and/or the certificate available via DANE. +See @code{dane_verify_crt()} for more information. + +This will not verify the chain for validity; unless the DANE +verification is restricted to end certificates, this has to +be performed separately using @code{gnutls_certificate_verify_peers3()} . + +@strong{Returns:} On success, @code{DANE_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/dane_verify_session_crt.short b/doc/functions/dane_verify_session_crt.short new file mode 100644 index 0000000..d4617f8 --- /dev/null +++ b/doc/functions/dane_verify_session_crt.short @@ -0,0 +1 @@ +@item @var{int} @ref{dane_verify_session_crt} (dane_state_t @var{s}, gnutls_session_t @var{session}, const char * @var{hostname}, const char * @var{proto}, unsigned int @var{port}, unsigned int @var{sflags}, unsigned int @var{vflags}, unsigned int * @var{verify}) diff --git a/doc/functions/gnutls_alpn_get_selected_protocol b/doc/functions/gnutls_alpn_get_selected_protocol new file mode 100644 index 0000000..6cb8651 --- /dev/null +++ b/doc/functions/gnutls_alpn_get_selected_protocol @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_alpn_get_selected_protocol} (gnutls_session_t @var{session}, gnutls_datum_t * @var{protocol}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{protocol}: will hold the protocol name + +This function allows you to get the negotiated protocol name. The +returned protocol should be treated as opaque, constant value and +only valid during the session life. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.11 +@end deftypefun diff --git a/doc/functions/gnutls_alpn_get_selected_protocol.short b/doc/functions/gnutls_alpn_get_selected_protocol.short new file mode 100644 index 0000000..c6d873d --- /dev/null +++ b/doc/functions/gnutls_alpn_get_selected_protocol.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_alpn_get_selected_protocol} (gnutls_session_t @var{session}, gnutls_datum_t * @var{protocol}) diff --git a/doc/functions/gnutls_alpn_set_protocols b/doc/functions/gnutls_alpn_set_protocols new file mode 100644 index 0000000..b81a41a --- /dev/null +++ b/doc/functions/gnutls_alpn_set_protocols @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_alpn_set_protocols} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{protocols}, unsigned @var{protocols_size}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{protocols}: is the protocol names to add. + +@var{protocols_size}: the number of protocols to add. + +@var{flags}: zero or @code{GNUTLS_ALPN_} * + +This function is to be used by both clients and servers, to declare +the supported ALPN protocols, which are used during peer negotiation. + +If @code{GNUTLS_ALPN_MAND} is specified the connection will be aborted +if no matching ALPN protocol is found. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.11 +@end deftypefun diff --git a/doc/functions/gnutls_alpn_set_protocols.short b/doc/functions/gnutls_alpn_set_protocols.short new file mode 100644 index 0000000..455539a --- /dev/null +++ b/doc/functions/gnutls_alpn_set_protocols.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_alpn_set_protocols} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{protocols}, unsigned @var{protocols_size}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_anon_allocate_client_credentials b/doc/functions/gnutls_anon_allocate_client_credentials index fbd1252..37c9fcd 100644 --- a/doc/functions/gnutls_anon_allocate_client_credentials +++ b/doc/functions/gnutls_anon_allocate_client_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus diff --git a/doc/functions/gnutls_anon_allocate_client_credentials.short b/doc/functions/gnutls_anon_allocate_client_credentials.short index 532f2b7..78cff66 100644 --- a/doc/functions/gnutls_anon_allocate_client_credentials.short +++ b/doc/functions/gnutls_anon_allocate_client_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_anon_allocate_server_credentials b/doc/functions/gnutls_anon_allocate_server_credentials index a4f693c..c7f2981 100644 --- a/doc/functions/gnutls_anon_allocate_server_credentials +++ b/doc/functions/gnutls_anon_allocate_server_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this diff --git a/doc/functions/gnutls_anon_allocate_server_credentials.short b/doc/functions/gnutls_anon_allocate_server_credentials.short index f86de52..285b430 100644 --- a/doc/functions/gnutls_anon_allocate_server_credentials.short +++ b/doc/functions/gnutls_anon_allocate_server_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_anon_set_server_params_function b/doc/functions/gnutls_anon_set_server_params_function index bab0f9a..04017d6 100644 --- a/doc/functions/gnutls_anon_set_server_params_function +++ b/doc/functions/gnutls_anon_set_server_params_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) +@deftypefun {void} {gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) @var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called diff --git a/doc/functions/gnutls_anon_set_server_params_function.short b/doc/functions/gnutls_anon_set_server_params_function.short index faa2825..78a53fe 100644 --- a/doc/functions/gnutls_anon_set_server_params_function.short +++ b/doc/functions/gnutls_anon_set_server_params_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) +@item @var{void} @ref{gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) diff --git a/doc/functions/gnutls_certificate_allocate_credentials b/doc/functions/gnutls_certificate_allocate_credentials index b9fdd36..a183b7e 100644 --- a/doc/functions/gnutls_certificate_allocate_credentials +++ b/doc/functions/gnutls_certificate_allocate_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) +@deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) @var{res}: is a pointer to a @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this diff --git a/doc/functions/gnutls_certificate_allocate_credentials.short b/doc/functions/gnutls_certificate_allocate_credentials.short index e3d6725..4a462a9 100644 --- a/doc/functions/gnutls_certificate_allocate_credentials.short +++ b/doc/functions/gnutls_certificate_allocate_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) +@item @var{int} @ref{gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) diff --git a/doc/functions/gnutls_certificate_client_get_request_status b/doc/functions/gnutls_certificate_client_get_request_status index 5cde139..6235832 100644 --- a/doc/functions/gnutls_certificate_client_get_request_status +++ b/doc/functions/gnutls_certificate_client_get_request_status @@ -8,6 +8,5 @@ Get whether client certificate is requested or not. @strong{Returns:} 0 if the peer (server) did not request client -authentication or 1 otherwise, or a negative error code in case of -error. +authentication or 1 otherwise. @end deftypefun diff --git a/doc/functions/gnutls_certificate_client_set_retrieve_function b/doc/functions/gnutls_certificate_client_set_retrieve_function new file mode 100644 index 0000000..fabebce --- /dev/null +++ b/doc/functions/gnutls_certificate_client_set_retrieve_function @@ -0,0 +1,37 @@ + + + +@deftypefun {void} {gnutls_certificate_client_set_retrieve_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_certificate_client_retrieve_function * @var{func}) +@var{cred}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{func}: is the callback function + +This function sets a callback to be called in order to retrieve the +certificate to be used in the handshake. +You are advised to use @code{gnutls_certificate_set_retrieve_function2()} because it +is much more efficient in the processing it requires from gnutls. + +The callback's function prototype is: +int (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int nreqs, +const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length, gnutls_retr_st* st); + + @code{req_ca_cert} is only used in X.509 certificates. +Contains a list with the CA names that the server considers trusted. +Normally we should send a certificate that is signed +by one of these CAs. These names are DER encoded. To get a more +meaningful value use the function @code{gnutls_x509_rdn_get()} . + + @code{pk_algos} contains a list with server's acceptable signature algorithms. +The certificate returned should support the server's given algorithms. + + @code{st} should contain the certificates and private keys. + +If the callback function is provided then gnutls will call it, in the +handshake, if a certificate is requested by the server (and after the +certificate request message has been received). + +The callback function should set the certificate list to be sent, +and return 0 on success. If no certificate was selected then the +number of certificates should be set to zero. The value (-1) +indicates error and the handshake will be terminated. +@end deftypefun diff --git a/doc/functions/gnutls_certificate_client_set_retrieve_function.short b/doc/functions/gnutls_certificate_client_set_retrieve_function.short new file mode 100644 index 0000000..c64cb65 --- /dev/null +++ b/doc/functions/gnutls_certificate_client_set_retrieve_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_certificate_client_set_retrieve_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_certificate_client_retrieve_function * @var{func}) diff --git a/doc/functions/gnutls_certificate_get_crt_raw b/doc/functions/gnutls_certificate_get_crt_raw new file mode 100644 index 0000000..99de431 --- /dev/null +++ b/doc/functions/gnutls_certificate_get_crt_raw @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_certificate_get_crt_raw} (gnutls_certificate_credentials_t @var{sc}, unsigned @var{idx1}, unsigned @var{idx2}, gnutls_datum_t * @var{cert}) +@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{idx1}: the index of the certificate if multiple are present + +@var{idx2}: the index in the certificate list. Zero gives the server's certificate. + +@var{cert}: Will hold the DER encoded certificate. + +This function will return the DER encoded certificate of the +server or any other certificate on its certificate chain (based on @code{idx2} ). +The returned data should be treated as constant and only accessible during the lifetime +of @code{sc} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. In case the indexes are out of bounds @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +is returned. + +@strong{Since:} 3.2.5 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_get_crt_raw.short b/doc/functions/gnutls_certificate_get_crt_raw.short new file mode 100644 index 0000000..083a996 --- /dev/null +++ b/doc/functions/gnutls_certificate_get_crt_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_get_crt_raw} (gnutls_certificate_credentials_t @var{sc}, unsigned @var{idx1}, unsigned @var{idx2}, gnutls_datum_t * @var{cert}) diff --git a/doc/functions/gnutls_certificate_get_issuer b/doc/functions/gnutls_certificate_get_issuer index d5f1469..b808ebc 100644 --- a/doc/functions/gnutls_certificate_get_issuer +++ b/doc/functions/gnutls_certificate_get_issuer @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t* @var{issuer}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t * @var{issuer}, unsigned int @var{flags}) @var{sc}: is a @code{gnutls_certificate_credentials_t} structure. @var{cert}: is the certificate to find issuer for diff --git a/doc/functions/gnutls_certificate_get_issuer.short b/doc/functions/gnutls_certificate_get_issuer.short index 712b3b2..91a93ee 100644 --- a/doc/functions/gnutls_certificate_get_issuer.short +++ b/doc/functions/gnutls_certificate_get_issuer.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t* @var{issuer}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t * @var{issuer}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_get_peers b/doc/functions/gnutls_certificate_get_peers index de52e3c..39d05a8 100644 --- a/doc/functions/gnutls_certificate_get_peers +++ b/doc/functions/gnutls_certificate_get_peers @@ -2,10 +2,10 @@ -@deftypefun {const gnutls_datum_t *} {gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) +@deftypefun {const gnutls_datum_t *} {gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) @var{session}: is a gnutls session -@var{list_size}: is the length of the certificate list +@var{list_size}: is the length of the certificate list (may be @code{NULL} ) Get the peer's raw certificate (chain) as sent by the peer. These certificates are in raw format (DER encoded for X.509). In case of diff --git a/doc/functions/gnutls_certificate_get_peers.short b/doc/functions/gnutls_certificate_get_peers.short index 4dd268e..c0c945c 100644 --- a/doc/functions/gnutls_certificate_get_peers.short +++ b/doc/functions/gnutls_certificate_get_peers.short @@ -1 +1 @@ -@item @var{const gnutls_datum_t *} @ref{gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) +@item @var{const gnutls_datum_t *} @ref{gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) diff --git a/doc/functions/gnutls_certificate_get_peers_subkey_id b/doc/functions/gnutls_certificate_get_peers_subkey_id new file mode 100644 index 0000000..bc52af1 --- /dev/null +++ b/doc/functions/gnutls_certificate_get_peers_subkey_id @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_certificate_get_peers_subkey_id} (gnutls_session_t @var{session}, gnutls_datum_t * @var{id}) +@var{session}: is a gnutls session + +@var{id}: will contain the ID + +Get the peer's subkey ID when OpenPGP certificates are +used. The returned @code{id} should be treated as constant. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_get_peers_subkey_id.short b/doc/functions/gnutls_certificate_get_peers_subkey_id.short new file mode 100644 index 0000000..50b3ff3 --- /dev/null +++ b/doc/functions/gnutls_certificate_get_peers_subkey_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_get_peers_subkey_id} (gnutls_session_t @var{session}, gnutls_datum_t * @var{id}) diff --git a/doc/functions/gnutls_certificate_server_set_retrieve_function b/doc/functions/gnutls_certificate_server_set_retrieve_function new file mode 100644 index 0000000..4a9e2a7 --- /dev/null +++ b/doc/functions/gnutls_certificate_server_set_retrieve_function @@ -0,0 +1,26 @@ + + + + +@deftypefun {void} {gnutls_certificate_server_set_retrieve_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_certificate_server_retrieve_function * @var{func}) +@var{cred}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{func}: is the callback function + +This function sets a callback to be called in order to retrieve the +certificate to be used in the handshake. +You are advised to use @code{gnutls_certificate_set_retrieve_function2()} because it +is much more efficient in the processing it requires from gnutls. + +The callback's function prototype is: +int (*callback)(gnutls_session_t, gnutls_retr_st* st); + + @code{st} should contain the certificates and private keys. + +If the callback function is provided then gnutls will call it, in the +handshake, after the certificate request message has been received. + +The callback function should set the certificate list to be sent, and +return 0 on success. The value (-1) indicates error and the handshake +will be terminated. +@end deftypefun diff --git a/doc/functions/gnutls_certificate_server_set_retrieve_function.short b/doc/functions/gnutls_certificate_server_set_retrieve_function.short new file mode 100644 index 0000000..d85cbad --- /dev/null +++ b/doc/functions/gnutls_certificate_server_set_retrieve_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_certificate_server_set_retrieve_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_certificate_server_retrieve_function * @var{func}) diff --git a/doc/functions/gnutls_certificate_set_dh_params b/doc/functions/gnutls_certificate_set_dh_params index c5920a6..9c85c35 100644 --- a/doc/functions/gnutls_certificate_set_dh_params +++ b/doc/functions/gnutls_certificate_set_dh_params @@ -10,7 +10,6 @@ This function will set the Diffie-Hellman parameters for a certificate server to use. These parameters will be used in Ephemeral Diffie-Hellman cipher suites. Note that only a pointer -to the parameters are stored in the certificate handle, so if you -deallocate the parameters before the certificate is deallocated, -you must change the parameters stored in the certificate first. +to the parameters are stored in the certificate handle, so you +must not deallocate the parameters before the certificate is deallocated. @end deftypefun diff --git a/doc/functions/gnutls_certificate_set_key b/doc/functions/gnutls_certificate_set_key index c711ea6..571fb8f 100644 --- a/doc/functions/gnutls_certificate_set_key +++ b/doc/functions/gnutls_certificate_set_key @@ -1,7 +1,7 @@ -@deftypefun {int} {gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) +@deftypefun {int} {gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char ** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) @var{res}: is a @code{gnutls_certificate_credentials_t} structure. @var{names}: is an array of DNS name of the certificate (NULL if none) @@ -12,17 +12,18 @@ @var{pcert_list_size}: holds the size of the certificate list -@var{key}: is a gnutls_x509_privkey_t key +@var{key}: is a @code{gnutls_privkey_t} key This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once, in case multiple keys/certificates exist for the server. For clients that wants to send more than its own end entity certificate (e.g., also an intermediate CA cert) then put -the certificate chain in @code{pcert_list} . The @code{pcert_list} and @code{key} will -become part of the credentials structure and must not -be deallocated. They will be automatically deallocated when - @code{res} is deinitialized. +the certificate chain in @code{pcert_list} . + +Note that the @code{pcert_list} and @code{key} will become part of the credentials +structure and must not be deallocated. They will be automatically deallocated +when the @code{res} structure is deinitialized. @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. diff --git a/doc/functions/gnutls_certificate_set_key.short b/doc/functions/gnutls_certificate_set_key.short index 2d0ca05..64bc81f 100644 --- a/doc/functions/gnutls_certificate_set_key.short +++ b/doc/functions/gnutls_certificate_set_key.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) +@item @var{int} @ref{gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char ** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key}) diff --git a/doc/functions/gnutls_certificate_set_ocsp_status_request_file b/doc/functions/gnutls_certificate_set_ocsp_status_request_file new file mode 100644 index 0000000..3cbeef4 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_ocsp_status_request_file @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_certificate_set_ocsp_status_request_file} (gnutls_certificate_credentials_t @var{sc}, const char * @var{response_file}, unsigned int @var{flags}) +@var{sc}: is a credentials structure. + +@var{response_file}: a filename of the OCSP response + +@var{flags}: should be zero + +This function sets the filename of an OCSP response, that will be +sent to the client if requests an OCSP certificate status. This is +a convenience function which is inefficient on busy servers since +the file is opened on every access. Use +@code{gnutls_certificate_set_ocsp_status_request_function()} to fine-tune +file accesses. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_ocsp_status_request_file.short b/doc/functions/gnutls_certificate_set_ocsp_status_request_file.short new file mode 100644 index 0000000..cf6a9e3 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_ocsp_status_request_file.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_set_ocsp_status_request_file} (gnutls_certificate_credentials_t @var{sc}, const char * @var{response_file}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_set_ocsp_status_request_function b/doc/functions/gnutls_certificate_set_ocsp_status_request_function new file mode 100644 index 0000000..4bc5c4f --- /dev/null +++ b/doc/functions/gnutls_certificate_set_ocsp_status_request_function @@ -0,0 +1,32 @@ + + + + +@deftypefun {void} {gnutls_certificate_set_ocsp_status_request_function} (gnutls_certificate_credentials_t @var{sc}, gnutls_status_request_ocsp_func @var{ocsp_func}, void * @var{ptr}) +@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{ocsp_func}: function pointer to OCSP status request callback. + +@var{ptr}: opaque pointer passed to callback function + +This function is to be used by server to register a callback to +handle OCSP status requests from the client. The callback will be +invoked if the client supplied a status-request OCSP extension. +The callback function prototype is: + +typedef int (*gnutls_status_request_ocsp_func) +(gnutls_session_t session, void *ptr, gnutls_datum_t *ocsp_response); + +The callback will be invoked if the client requests an OCSP certificate +status. The callback may return @code{GNUTLS_E_NO_CERTIFICATE_STATUS} , if +there is no recent OCSP response. If the callback returns @code{GNUTLS_E_SUCCESS} , +the server will provide the client with the ocsp_response. + +The response must be a value allocated using @code{gnutls_malloc()} , and will be +deinitialized when needed. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_ocsp_status_request_function.short b/doc/functions/gnutls_certificate_set_ocsp_status_request_function.short new file mode 100644 index 0000000..c48367e --- /dev/null +++ b/doc/functions/gnutls_certificate_set_ocsp_status_request_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_certificate_set_ocsp_status_request_function} (gnutls_certificate_credentials_t @var{sc}, gnutls_status_request_ocsp_func @var{ocsp_func}, void * @var{ptr}) diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_file b/doc/functions/gnutls_certificate_set_openpgp_key_file index 0141f29..5e401e3 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_file +++ b/doc/functions/gnutls_certificate_set_openpgp_key_file @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{certfile}: the file that contains the public key. diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_file.short b/doc/functions/gnutls_certificate_set_openpgp_key_file.short index a66e0af..4b43736 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_file.short +++ b/doc/functions/gnutls_certificate_set_openpgp_key_file.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) +@item @var{int} @ref{gnutls_certificate_set_openpgp_key_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_openpgp_crt_fmt_t @var{format}) diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_file2 b/doc/functions/gnutls_certificate_set_openpgp_key_file2 index 26863dc..626e227 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_file2 +++ b/doc/functions/gnutls_certificate_set_openpgp_key_file2 @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{certfile}: the file that contains the public key. diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_file2.short b/doc/functions/gnutls_certificate_set_openpgp_key_file2.short index a3b54d5..df31a58 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_file2.short +++ b/doc/functions/gnutls_certificate_set_openpgp_key_file2.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@item @var{int} @ref{gnutls_certificate_set_openpgp_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_mem b/doc/functions/gnutls_certificate_set_openpgp_key_mem index 2cf79ab..b97c528 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_mem +++ b/doc/functions/gnutls_certificate_set_openpgp_key_mem @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{cert}: the datum that contains the public key. diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_mem.short b/doc/functions/gnutls_certificate_set_openpgp_key_mem.short index 91f41e1..e40aaa7 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_mem.short +++ b/doc/functions/gnutls_certificate_set_openpgp_key_mem.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) +@item @var{int} @ref{gnutls_certificate_set_openpgp_key_mem} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_openpgp_crt_fmt_t @var{format}) diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_mem2 b/doc/functions/gnutls_certificate_set_openpgp_key_mem2 index d2e9cac..db5b28a 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_mem2 +++ b/doc/functions/gnutls_certificate_set_openpgp_key_mem2 @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) @var{res}: the destination context to save the data. @var{cert}: the datum that contains the public key. diff --git a/doc/functions/gnutls_certificate_set_openpgp_key_mem2.short b/doc/functions/gnutls_certificate_set_openpgp_key_mem2.short index 75c1f9e..0a00b5c 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_key_mem2.short +++ b/doc/functions/gnutls_certificate_set_openpgp_key_mem2.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) +@item @var{int} @ref{gnutls_certificate_set_openpgp_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, const char * @var{subkey_id}, gnutls_openpgp_crt_fmt_t @var{format}) diff --git a/doc/functions/gnutls_certificate_set_openpgp_keyring_mem b/doc/functions/gnutls_certificate_set_openpgp_keyring_mem index 13547e0..880c649 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_keyring_mem +++ b/doc/functions/gnutls_certificate_set_openpgp_keyring_mem @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const uint8_t * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) +@deftypefun {int} {gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const uint8_t * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) @var{c}: A certificate credentials structure @var{data}: buffer with keyring data. diff --git a/doc/functions/gnutls_certificate_set_openpgp_keyring_mem.short b/doc/functions/gnutls_certificate_set_openpgp_keyring_mem.short index 7e6ac76..c591ddc 100644 --- a/doc/functions/gnutls_certificate_set_openpgp_keyring_mem.short +++ b/doc/functions/gnutls_certificate_set_openpgp_keyring_mem.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const uint8_t * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) +@item @var{int} @ref{gnutls_certificate_set_openpgp_keyring_mem} (gnutls_certificate_credentials_t @var{c}, const uint8_t * @var{data}, size_t @var{dlen}, gnutls_openpgp_crt_fmt_t @var{format}) diff --git a/doc/functions/gnutls_certificate_set_params_function b/doc/functions/gnutls_certificate_set_params_function index 6cf9c50..81b980e 100644 --- a/doc/functions/gnutls_certificate_set_params_function +++ b/doc/functions/gnutls_certificate_set_params_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) +@deftypefun {void} {gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) @var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called diff --git a/doc/functions/gnutls_certificate_set_params_function.short b/doc/functions/gnutls_certificate_set_params_function.short index 19ff1de..93dbd4f 100644 --- a/doc/functions/gnutls_certificate_set_params_function.short +++ b/doc/functions/gnutls_certificate_set_params_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) +@item @var{void} @ref{gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) diff --git a/doc/functions/gnutls_certificate_set_pin_function b/doc/functions/gnutls_certificate_set_pin_function new file mode 100644 index 0000000..495a50a --- /dev/null +++ b/doc/functions/gnutls_certificate_set_pin_function @@ -0,0 +1,20 @@ + + + + +@deftypefun {void} {gnutls_certificate_set_pin_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{cred}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{fn}: A PIN callback + +@var{userdata}: Data to be passed in the callback + +This function will set a callback function to be used when +required to access a protected object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_pin_function.short b/doc/functions/gnutls_certificate_set_pin_function.short new file mode 100644 index 0000000..2f70b56 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_certificate_set_pin_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_certificate_set_rsa_export_params b/doc/functions/gnutls_certificate_set_rsa_export_params index 2e034d2..3a0d1bb 100644 --- a/doc/functions/gnutls_certificate_set_rsa_export_params +++ b/doc/functions/gnutls_certificate_set_rsa_export_params @@ -1,7 +1,8 @@ -@deftypefun {void} {gnutls_certificate_set_rsa_export_params} (gnutls_certificate_credentials_t @var{res}, gnutls_rsa_params_t @var{rsa_params}) + +@deftypefun {void} {gnutls_certificate_set_rsa_export_params} (gnutls_certificate_credentials_t @var{res}, gnutls_rsa_params_t @var{rsa_params}) @var{res}: is a gnutls_certificate_credentials_t structure @var{rsa_params}: is a structure that holds temporary RSA parameters. diff --git a/doc/functions/gnutls_certificate_set_rsa_export_params.short b/doc/functions/gnutls_certificate_set_rsa_export_params.short index 7f5b5c1..f758102 100644 --- a/doc/functions/gnutls_certificate_set_rsa_export_params.short +++ b/doc/functions/gnutls_certificate_set_rsa_export_params.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_certificate_set_rsa_export_params} (gnutls_certificate_credentials_t @var{res}, gnutls_rsa_params_t @var{rsa_params}) +@item @var{void} @ref{gnutls_certificate_set_rsa_export_params} (gnutls_certificate_credentials_t @var{res}, gnutls_rsa_params_t @var{rsa_params}) diff --git a/doc/functions/gnutls_certificate_set_trust_list b/doc/functions/gnutls_certificate_set_trust_list new file mode 100644 index 0000000..157ce5a --- /dev/null +++ b/doc/functions/gnutls_certificate_set_trust_list @@ -0,0 +1,20 @@ + + + +@deftypefun {void} {gnutls_certificate_set_trust_list} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_trust_list_t @var{tlist}, unsigned @var{flags}) +@var{res}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{tlist}: is a @code{gnutls_x509_trust_list_t} structure + +@var{flags}: must be zero + +This function sets a trust list in the gnutls_certificate_credentials_t structure. + +Note that the @code{tlist} will become part of the credentials +structure and must not be deallocated. It will be automatically deallocated +when the @code{res} structure is deinitialized. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. + +@strong{Since:} 3.2.2 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_trust_list.short b/doc/functions/gnutls_certificate_set_trust_list.short new file mode 100644 index 0000000..98ba095 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_trust_list.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_certificate_set_trust_list} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_trust_list_t @var{tlist}, unsigned @var{flags}) diff --git a/doc/functions/gnutls_certificate_set_verify_flags b/doc/functions/gnutls_certificate_set_verify_flags index f01c926..2a2ecd6 100644 --- a/doc/functions/gnutls_certificate_set_verify_flags +++ b/doc/functions/gnutls_certificate_set_verify_flags @@ -2,13 +2,12 @@ -@deftypefun {void} {gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) +@deftypefun {void} {gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) @var{res}: is a gnutls_certificate_credentials_t structure @var{flags}: are the flags -This function will set the flags to be used at verification of the -certificates. Flags must be OR of the -@code{gnutls_certificate_verify_flags} enumerations. The default -for TLS sessions is GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. +This function will set the flags to be used for verification +of certificates and override any defaults. The provided flags must be an OR of the +@code{gnutls_certificate_verify_flags} enumerations. @end deftypefun diff --git a/doc/functions/gnutls_certificate_set_verify_flags.short b/doc/functions/gnutls_certificate_set_verify_flags.short index 9f653c4..8962d50 100644 --- a/doc/functions/gnutls_certificate_set_verify_flags.short +++ b/doc/functions/gnutls_certificate_set_verify_flags.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) +@item @var{void} @ref{gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_set_x509_crl b/doc/functions/gnutls_certificate_set_x509_crl index fac8daf..a2c25c0 100644 --- a/doc/functions/gnutls_certificate_set_x509_crl +++ b/doc/functions/gnutls_certificate_set_x509_crl @@ -15,7 +15,7 @@ be called if the certificates are not verified using @code{gnutls_certificate_verify_peers2()} . This function may be called multiple times. -@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@strong{Returns:} number of CRLs processed, or a negative error code on error. @strong{Since:} 2.4.0 @end deftypefun diff --git a/doc/functions/gnutls_certificate_set_x509_key b/doc/functions/gnutls_certificate_set_x509_key index 2789efa..c903c03 100644 --- a/doc/functions/gnutls_certificate_set_x509_key +++ b/doc/functions/gnutls_certificate_set_x509_key @@ -9,15 +9,18 @@ @var{cert_list_size}: holds the size of the certificate list -@var{key}: is a gnutls_x509_privkey_t key +@var{key}: is a @code{gnutls_x509_privkey_t} key This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once, in case multiple keys/certificates exist for -the server. For clients that wants to send more than its own end +the server. For clients that wants to send more than their own end entity certificate (e.g., also an intermediate CA cert) then put the certificate chain in @code{cert_list} . +Note that the certificates and keys provided, can be safely deinitialized +after this function is called. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 2.4.0 diff --git a/doc/functions/gnutls_certificate_set_x509_key_file b/doc/functions/gnutls_certificate_set_x509_key_file index b827806..e4fedb0 100644 --- a/doc/functions/gnutls_certificate_set_x509_key_file +++ b/doc/functions/gnutls_certificate_set_x509_key_file @@ -19,8 +19,16 @@ the server. For clients that need to send more than its own end entity certificate, e.g., also an intermediate CA cert, then the @code{certfile} must contain the ordered certificate chain. -This function can also accept PKCS @code{11} URLs at @code{keyfile} and @code{certfile} . In that case it -will import the private key and certificate indicated by the URLs. +Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs). + +This function can also accept URLs at @code{keyfile} and @code{certfile} . In that case it +will import the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . + +In case the @code{certfile} is provided as a PKCS @code{11} URL, then the certificate, and its +present issuers in the token are are imported (i.e., the required trust chain). @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @end deftypefun diff --git a/doc/functions/gnutls_certificate_set_x509_key_file2 b/doc/functions/gnutls_certificate_set_x509_key_file2 new file mode 100644 index 0000000..a8562dc --- /dev/null +++ b/doc/functions/gnutls_certificate_set_x509_key_file2 @@ -0,0 +1,38 @@ + + + + +@deftypefun {int} {gnutls_certificate_set_x509_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) +@var{res}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{certfile}: is a file that containing the certificate list (path) for +the specified private key, in PKCS7 format, or a list of certificates + +@var{keyfile}: is a file that contains the private key + +@var{type}: is PEM or DER + +@var{pass}: is the password of the key + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be +called more than once, in case multiple keys/certificates exist for +the server. For clients that need to send more than its own end +entity certificate, e.g., also an intermediate CA cert, then the + @code{certfile} must contain the ordered certificate chain. + +Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs). + +This function can also accept URLs at @code{keyfile} and @code{certfile} . In that case it +will import the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . + +In case the @code{certfile} is provided as a PKCS @code{11} URL, then the certificate, and its +present issuers in the token are are imported (i.e., the required trust chain). + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_x509_key_file2.short b/doc/functions/gnutls_certificate_set_x509_key_file2.short new file mode 100644 index 0000000..2482504 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_x509_key_file2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_set_x509_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_set_x509_key_mem2 b/doc/functions/gnutls_certificate_set_x509_key_mem2 new file mode 100644 index 0000000..cdd5e00 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_x509_key_mem2 @@ -0,0 +1,34 @@ + + + + +@deftypefun {int} {gnutls_certificate_set_x509_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) +@var{res}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{cert}: contains a certificate list (path) for the specified private key + +@var{key}: is the private key, or @code{NULL} + +@var{type}: is PEM or DER + +@var{pass}: is the key's password + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once, in case multiple keys/certificates exist for the +server. + +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +is supported. This means that certificates intended for signing cannot +be used for ciphersuites that require encryption. + +If the certificate and the private key are given in PEM encoding +then the strings that hold their values must be null terminated. + +The @code{key} may be @code{NULL} if you are using a sign callback, see +@code{gnutls_sign_callback_set()} . + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@end deftypefun diff --git a/doc/functions/gnutls_certificate_set_x509_key_mem2.short b/doc/functions/gnutls_certificate_set_x509_key_mem2.short new file mode 100644 index 0000000..5280754 --- /dev/null +++ b/doc/functions/gnutls_certificate_set_x509_key_mem2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_set_x509_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_file b/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_file index bec4f65..ec16c9c 100644 --- a/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_file +++ b/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_file @@ -21,10 +21,14 @@ private keys are supported. However, only password based security, and the same password for all operations, are supported. -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. +PKCS@code{12} file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS@code{12} file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain. + +If more than one private keys are stored in the PKCS@code{12} file, +then only one key will be read (and it is undefined which one). It is believed that the limitations of this function is acceptable for most usage, and that any more flexibility would introduce diff --git a/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_mem b/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_mem index 22e1761..e44eab3 100644 --- a/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_mem +++ b/doc/functions/gnutls_certificate_set_x509_simple_pkcs12_mem @@ -16,15 +16,18 @@ the gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). -@strong{MAC:} ed PKCS@code{12} files are supported. Encrypted PKCS@code{12} bags are -supported. Encrypted PKCS@code{8} private keys are supported. However, +Encrypted PKCS@code{12} bags and PKCS@code{8} private keys are supported. However, only password based security, and the same password for all operations, are supported. -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. +PKCS@code{12} file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS@code{12} file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain. + +If more than one private keys are stored in the PKCS@code{12} file, +then only one key will be read (and it is undefined which one). It is believed that the limitations of this function is acceptable for most usage, and that any more flexibility would introduce diff --git a/doc/functions/gnutls_certificate_set_x509_system_trust b/doc/functions/gnutls_certificate_set_x509_system_trust index c3585d7..1a7a4ad 100644 --- a/doc/functions/gnutls_certificate_set_x509_system_trust +++ b/doc/functions/gnutls_certificate_set_x509_system_trust @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) +@deftypefun {int} {gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) @var{cred}: is a @code{gnutls_certificate_credentials_t} structure. This function adds the system's default trusted CAs in order to @@ -14,5 +14,5 @@ is returned. @strong{Returns:} the number of certificates processed or a negative error code on error. -@strong{Since:} 3.0 +@strong{Since:} 3.0.20 @end deftypefun diff --git a/doc/functions/gnutls_certificate_set_x509_system_trust.short b/doc/functions/gnutls_certificate_set_x509_system_trust.short index 2aa0973..49d4afb 100644 --- a/doc/functions/gnutls_certificate_set_x509_system_trust.short +++ b/doc/functions/gnutls_certificate_set_x509_system_trust.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) +@item @var{int} @ref{gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) diff --git a/doc/functions/gnutls_certificate_set_x509_trust_file b/doc/functions/gnutls_certificate_set_x509_trust_file index 1b7e8a1..f211747 100644 --- a/doc/functions/gnutls_certificate_set_x509_trust_file +++ b/doc/functions/gnutls_certificate_set_x509_trust_file @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) +@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) @var{cred}: is a @code{gnutls_certificate_credentials_t} structure. @var{cafile}: is a file containing the list of trusted CAs (DER or PEM list) @@ -19,8 +19,9 @@ In case of a server the names of the CAs set here will be sent to the client if a certificate request is sent. This can be disabled using @code{gnutls_certificate_send_x509_rdn_sequence()} . -This function can also accept PKCS @code{11} URLs. In that case it -will import all certificates that are marked as trusted. +This function can also accept URLs. In that case it +will import all certificates that are marked as trusted. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . @strong{Returns:} number of certificates processed, or a negative error code on error. diff --git a/doc/functions/gnutls_certificate_set_x509_trust_file.short b/doc/functions/gnutls_certificate_set_x509_trust_file.short index db33472..893f593 100644 --- a/doc/functions/gnutls_certificate_set_x509_trust_file.short +++ b/doc/functions/gnutls_certificate_set_x509_trust_file.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) +@item @var{int} @ref{gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) diff --git a/doc/functions/gnutls_certificate_type_get_name b/doc/functions/gnutls_certificate_type_get_name index b173775..fb8cb55 100644 --- a/doc/functions/gnutls_certificate_type_get_name +++ b/doc/functions/gnutls_certificate_type_get_name @@ -2,7 +2,7 @@ -@deftypefun {const char *} {gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) +@deftypefun {const char *} {gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) @var{type}: is a certificate type Convert a @code{gnutls_certificate_type_t} type to a string. diff --git a/doc/functions/gnutls_certificate_type_get_name.short b/doc/functions/gnutls_certificate_type_get_name.short index a3bf131..c1ed318 100644 --- a/doc/functions/gnutls_certificate_type_get_name.short +++ b/doc/functions/gnutls_certificate_type_get_name.short @@ -1 +1 @@ -@item @var{const char *} @ref{gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) +@item @var{const char *} @ref{gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) diff --git a/doc/functions/gnutls_certificate_type_list b/doc/functions/gnutls_certificate_type_list index d044289..832df1e 100644 --- a/doc/functions/gnutls_certificate_type_list +++ b/doc/functions/gnutls_certificate_type_list @@ -4,9 +4,7 @@ @deftypefun {const gnutls_certificate_type_t *} {gnutls_certificate_type_list} ( @var{void}) -Get a list of certificate types. Note that to be able to use -OpenPGP certificates, you must link to libgnutls-extra and call -@code{gnutls_global_init_extra()} . +Get a list of certificate types. @strong{Returns:} a (0)-terminated list of @code{gnutls_certificate_type_t} integers indicating the available certificate types. diff --git a/doc/functions/gnutls_certificate_verification_status_print b/doc/functions/gnutls_certificate_verification_status_print new file mode 100644 index 0000000..fec8562 --- /dev/null +++ b/doc/functions/gnutls_certificate_verification_status_print @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_certificate_verification_status_print} (unsigned int @var{status}, gnutls_certificate_type_t @var{type}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) +@var{status}: The status flags to be printed + +@var{type}: The certificate type + +@var{out}: Newly allocated datum with (0) terminated string. + +@var{flags}: should be zero + +This function will pretty print the status of a verification +process -- eg. the one obtained by @code{gnutls_certificate_verify_peers3()} . + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_verification_status_print.short b/doc/functions/gnutls_certificate_verification_status_print.short new file mode 100644 index 0000000..bf1fc0e --- /dev/null +++ b/doc/functions/gnutls_certificate_verification_status_print.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_verification_status_print} (unsigned int @var{status}, gnutls_certificate_type_t @var{type}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_certificate_verify_peers b/doc/functions/gnutls_certificate_verify_peers new file mode 100644 index 0000000..91c9081 --- /dev/null +++ b/doc/functions/gnutls_certificate_verify_peers @@ -0,0 +1,36 @@ + + + + +@deftypefun {int} {gnutls_certificate_verify_peers} (gnutls_session_t @var{session}, gnutls_typed_vdata_st * @var{data}, unsigned int @var{elements}, unsigned int * @var{status}) +@var{session}: is a gnutls session + +@var{data}: an array of typed data + +@var{elements}: the number of data elements + +@var{status}: is the output of the verification + +This function will verify the peer's certificate and store the +status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . See the documentation +of @code{gnutls_certificate_verify_peers2()} for details in the verification process. + +The acceptable data types are @code{GNUTLS_DT_DNS_HOSTNAME} and @code{GNUTLS_DT_KEY_PURPOSE_OID} . +If a DNS hostname is provided then this function will compare +the hostname in the certificate against the given. The comparison will +be accurate for ascii names; non-ascii names are compared byte-by-byte. +If names do not match the @code{GNUTLS_CERT_UNEXPECTED_OWNER} status flag will be set. + +If a key purpose OID is provided and the end-certificate contains the extended key +usage PKIX extension, it will be required to be have the provided key purpose +(e.g., @code{GNUTLS_KP_TLS_WWW_SERVER} ), or be marked for any purpose, otherwise +verification will fail with @code{GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE} status. + +@strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_verify_peers.short b/doc/functions/gnutls_certificate_verify_peers.short new file mode 100644 index 0000000..98f36dc --- /dev/null +++ b/doc/functions/gnutls_certificate_verify_peers.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_verify_peers} (gnutls_session_t @var{session}, gnutls_typed_vdata_st * @var{data}, unsigned int @var{elements}, unsigned int * @var{status}) diff --git a/doc/functions/gnutls_certificate_verify_peers2 b/doc/functions/gnutls_certificate_verify_peers2 index c70de7e..9e2fd19 100644 --- a/doc/functions/gnutls_certificate_verify_peers2 +++ b/doc/functions/gnutls_certificate_verify_peers2 @@ -7,19 +7,24 @@ @var{status}: is the output of the verification -This function will try to verify the peer's certificate and return -its status (trusted, invalid etc.). The value of @code{status} should -be one or more of the gnutls_certificate_status_t enumerated -elements bitwise or'd. To avoid denial of service attacks some +This function will verify the peer's certificate and store +the status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . + +This function will take into account the OCSP Certificate Status TLS extension, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen). + +To avoid denial of service attacks some default upper limits regarding the certificate key size and chain -size are set. To override them use -@code{gnutls_certificate_set_verify_limits()} . +size are set. To override them use @code{gnutls_certificate_set_verify_limits()} . Note that you must also check the peer's name in order to check if -the verified certificate belongs to the actual peer. - -This function uses @code{gnutls_x509_crt_list_verify()} with the CAs in -the credentials as trusted CAs. +the verified certificate belongs to the actual peer, see @code{gnutls_x509_crt_check_hostname()} , +or use @code{gnutls_certificate_verify_peers3()} . @strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. @end deftypefun diff --git a/doc/functions/gnutls_certificate_verify_peers3 b/doc/functions/gnutls_certificate_verify_peers3 new file mode 100644 index 0000000..c2f8301 --- /dev/null +++ b/doc/functions/gnutls_certificate_verify_peers3 @@ -0,0 +1,31 @@ + + + + +@deftypefun {int} {gnutls_certificate_verify_peers3} (gnutls_session_t @var{session}, const char * @var{hostname}, unsigned int * @var{status}) +@var{session}: is a gnutls session + +@var{hostname}: is the expected name of the peer; may be @code{NULL} + +@var{status}: is the output of the verification + +This function will verify the peer's certificate and store the +status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . See the documentation +of @code{gnutls_certificate_verify_peers2()} for details in the verification process. + +If the @code{hostname} provided is non-NULL then this function will compare +the hostname in the certificate against the given. The comparison will +be accurate for ascii names; non-ascii names are compared byte-by-byte. +If names do not match the @code{GNUTLS_CERT_UNEXPECTED_OWNER} status flag will be set. + +In order to verify the purpose of the end-certificate (by checking the extended +key usage), use @code{gnutls_certificate_verify_peers()} . + +@strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_certificate_verify_peers3.short b/doc/functions/gnutls_certificate_verify_peers3.short new file mode 100644 index 0000000..8e7cf4c --- /dev/null +++ b/doc/functions/gnutls_certificate_verify_peers3.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_certificate_verify_peers3} (gnutls_session_t @var{session}, const char * @var{hostname}, unsigned int * @var{status}) diff --git a/doc/functions/gnutls_cipher_decrypt b/doc/functions/gnutls_cipher_decrypt index 9caf322..d78e20e 100644 --- a/doc/functions/gnutls_cipher_decrypt +++ b/doc/functions/gnutls_cipher_decrypt @@ -12,6 +12,9 @@ This function will decrypt the given data using the algorithm specified by the context. +Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from @code{gnutls_cipher_tag()} . + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.10.0 diff --git a/doc/functions/gnutls_cipher_decrypt2 b/doc/functions/gnutls_cipher_decrypt2 index 4fafae7..d07bb0a 100644 --- a/doc/functions/gnutls_cipher_decrypt2 +++ b/doc/functions/gnutls_cipher_decrypt2 @@ -16,6 +16,9 @@ This function will decrypt the given data using the algorithm specified by the context. +Note that in AEAD ciphers, this will not check the tag. You will +need to compare the tag sent with the value returned from @code{gnutls_cipher_tag()} . + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.12.0 diff --git a/doc/functions/gnutls_cipher_get_block_size b/doc/functions/gnutls_cipher_get_block_size index be04e34..1994ddb 100644 --- a/doc/functions/gnutls_cipher_get_block_size +++ b/doc/functions/gnutls_cipher_get_block_size @@ -5,9 +5,8 @@ @deftypefun {int} {gnutls_cipher_get_block_size} (gnutls_cipher_algorithm_t @var{algorithm}) @var{algorithm}: is an encryption algorithm -Get block size for encryption algorithm. -@strong{Returns:} block size for encryption algorithm. +@strong{Returns:} the block size of the encryption algorithm. @strong{Since:} 2.10.0 @end deftypefun diff --git a/doc/functions/gnutls_cipher_get_iv_size b/doc/functions/gnutls_cipher_get_iv_size new file mode 100644 index 0000000..6945842 --- /dev/null +++ b/doc/functions/gnutls_cipher_get_iv_size @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_cipher_get_iv_size} (gnutls_cipher_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + +Get block size for encryption algorithm. + +@strong{Returns:} block size for encryption algorithm. + +@strong{Since:} 3.2.0 +@end deftypefun diff --git a/doc/functions/gnutls_cipher_get_iv_size.short b/doc/functions/gnutls_cipher_get_iv_size.short new file mode 100644 index 0000000..d2a5614 --- /dev/null +++ b/doc/functions/gnutls_cipher_get_iv_size.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_cipher_get_iv_size} (gnutls_cipher_algorithm_t @var{algorithm}) diff --git a/doc/functions/gnutls_cipher_get_tag_size b/doc/functions/gnutls_cipher_get_tag_size new file mode 100644 index 0000000..cfbe82b --- /dev/null +++ b/doc/functions/gnutls_cipher_get_tag_size @@ -0,0 +1,12 @@ + + + + +@deftypefun {int} {gnutls_cipher_get_tag_size} (gnutls_cipher_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + + +@strong{Returns:} the tag size of the authenticated encryption algorithm. + +@strong{Since:} 3.2.2 +@end deftypefun diff --git a/doc/functions/gnutls_cipher_get_tag_size.short b/doc/functions/gnutls_cipher_get_tag_size.short new file mode 100644 index 0000000..016d05c --- /dev/null +++ b/doc/functions/gnutls_cipher_get_tag_size.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_cipher_get_tag_size} (gnutls_cipher_algorithm_t @var{algorithm}) diff --git a/doc/functions/gnutls_cipher_suite_get_name b/doc/functions/gnutls_cipher_suite_get_name index e477b45..859b0cc 100644 --- a/doc/functions/gnutls_cipher_suite_get_name +++ b/doc/functions/gnutls_cipher_suite_get_name @@ -2,7 +2,7 @@ -@deftypefun {const char *} {gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) +@deftypefun {const char *} {gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) @var{kx_algorithm}: is a Key exchange algorithm @var{cipher_algorithm}: is a cipher algorithm diff --git a/doc/functions/gnutls_cipher_suite_get_name.short b/doc/functions/gnutls_cipher_suite_get_name.short index 0196257..1e67491 100644 --- a/doc/functions/gnutls_cipher_suite_get_name.short +++ b/doc/functions/gnutls_cipher_suite_get_name.short @@ -1 +1 @@ -@item @var{const char *} @ref{gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) +@item @var{const char *} @ref{gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) diff --git a/doc/functions/gnutls_compression_get_name b/doc/functions/gnutls_compression_get_name index 931060a..4185e6b 100644 --- a/doc/functions/gnutls_compression_get_name +++ b/doc/functions/gnutls_compression_get_name @@ -2,7 +2,7 @@ -@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) +@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) @var{algorithm}: is a Compression algorithm Convert a @code{gnutls_compression_method_t} value to a string. diff --git a/doc/functions/gnutls_compression_get_name.short b/doc/functions/gnutls_compression_get_name.short index 0b282e6..1d5e2ef 100644 --- a/doc/functions/gnutls_compression_get_name.short +++ b/doc/functions/gnutls_compression_get_name.short @@ -1 +1 @@ -@item @var{const char *} @ref{gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) +@item @var{const char *} @ref{gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) diff --git a/doc/functions/gnutls_credentials_get b/doc/functions/gnutls_credentials_get new file mode 100644 index 0000000..5b8571b --- /dev/null +++ b/doc/functions/gnutls_credentials_get @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_credentials_get} (gnutls_session_t @var{session}, gnutls_credentials_type_t @var{type}, void ** @var{cred}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: is the type of the credentials to return + +@var{cred}: will contain the pointer to the credentials structure. + +Returns the previously provided credentials structures. + +For @code{GNUTLS_CRD_ANON} , @code{cred} will be +@code{gnutls_anon_client_credentials_t} in case of a client. In case of +a server it should be @code{gnutls_anon_server_credentials_t} . + +For @code{GNUTLS_CRD_SRP} , @code{cred} will be @code{gnutls_srp_client_credentials_t} +in case of a client, and @code{gnutls_srp_server_credentials_t} , in case +of a server. + +For @code{GNUTLS_CRD_CERTIFICATE} , @code{cred} will be +@code{gnutls_certificate_credentials_t} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. +@end deftypefun diff --git a/doc/functions/gnutls_credentials_get.short b/doc/functions/gnutls_credentials_get.short new file mode 100644 index 0000000..3e33f5b --- /dev/null +++ b/doc/functions/gnutls_credentials_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_credentials_get} (gnutls_session_t @var{session}, gnutls_credentials_type_t @var{type}, void ** @var{cred}) diff --git a/doc/functions/gnutls_db_check_entry b/doc/functions/gnutls_db_check_entry index 8874afa..83a0ec2 100644 --- a/doc/functions/gnutls_db_check_entry +++ b/doc/functions/gnutls_db_check_entry @@ -7,9 +7,7 @@ @var{session_entry}: is the session data (not key) -Check if database entry has expired. This function is to be used -when you want to clear unnecessary sessions which occupy space in -your backend. +This function has no effect. @strong{Returns:} Returns @code{GNUTLS_E_EXPIRED} , if the database entry has expired or 0 otherwise. diff --git a/doc/functions/gnutls_db_check_entry_time b/doc/functions/gnutls_db_check_entry_time new file mode 100644 index 0000000..5b8406f --- /dev/null +++ b/doc/functions/gnutls_db_check_entry_time @@ -0,0 +1,12 @@ + + + + +@deftypefun {time_t} {gnutls_db_check_entry_time} (gnutls_datum_t * @var{entry}) +@var{entry}: is a pointer to a @code{gnutls_datum_t} structure. + +This function returns the time that this entry was active. +It can be used for database entry expiration. + +@strong{Returns:} The time this entry was created, or zero on error. +@end deftypefun diff --git a/doc/functions/gnutls_db_check_entry_time.short b/doc/functions/gnutls_db_check_entry_time.short new file mode 100644 index 0000000..608afc6 --- /dev/null +++ b/doc/functions/gnutls_db_check_entry_time.short @@ -0,0 +1 @@ +@item @var{time_t} @ref{gnutls_db_check_entry_time} (gnutls_datum_t * @var{entry}) diff --git a/doc/functions/gnutls_db_get_default_cache_expiration b/doc/functions/gnutls_db_get_default_cache_expiration new file mode 100644 index 0000000..aed96ea --- /dev/null +++ b/doc/functions/gnutls_db_get_default_cache_expiration @@ -0,0 +1,8 @@ + + + + +@deftypefun {unsigned} {gnutls_db_get_default_cache_expiration} ( @var{void}) + +Returns the expiration time (in seconds) of stored sessions for resumption. +@end deftypefun diff --git a/doc/functions/gnutls_db_get_default_cache_expiration.short b/doc/functions/gnutls_db_get_default_cache_expiration.short new file mode 100644 index 0000000..9f8fe8a --- /dev/null +++ b/doc/functions/gnutls_db_get_default_cache_expiration.short @@ -0,0 +1 @@ +@item @var{unsigned} @ref{gnutls_db_get_default_cache_expiration} ( @var{void}) diff --git a/doc/functions/gnutls_dh_params_export2_pkcs3 b/doc/functions/gnutls_dh_params_export2_pkcs3 new file mode 100644 index 0000000..69b19d4 --- /dev/null +++ b/doc/functions/gnutls_dh_params_export2_pkcs3 @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_dh_params_export2_pkcs3} (gnutls_dh_params_t @var{params}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{params}: Holds the DH parameters + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a PKCS3 DHParams structure PEM or DER encoded + +This function will export the given dh parameters to a PKCS3 +DHParams structure. This is the format generated by "openssl dhparam" tool. +The data in @code{out} will be allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN DH PARAMETERS". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_dh_params_export2_pkcs3.short b/doc/functions/gnutls_dh_params_export2_pkcs3.short new file mode 100644 index 0000000..e95d170 --- /dev/null +++ b/doc/functions/gnutls_dh_params_export2_pkcs3.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_dh_params_export2_pkcs3} (gnutls_dh_params_t @var{params}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_dh_params_generate2 b/doc/functions/gnutls_dh_params_generate2 index 1d9101f..adc025d 100644 --- a/doc/functions/gnutls_dh_params_generate2 +++ b/doc/functions/gnutls_dh_params_generate2 @@ -2,8 +2,8 @@ -@deftypefun {int} {gnutls_dh_params_generate2} (gnutls_dh_params_t @var{params}, unsigned int @var{bits}) -@var{params}: Is the structure that the DH parameters will be stored +@deftypefun {int} {gnutls_dh_params_generate2} (gnutls_dh_params_t @var{dparams}, unsigned int @var{bits}) +@var{dparams}: Is the structure that the DH parameters will be stored @var{bits}: is the prime's number of bits diff --git a/doc/functions/gnutls_dh_params_generate2.short b/doc/functions/gnutls_dh_params_generate2.short index 1d382cb..1a2024d 100644 --- a/doc/functions/gnutls_dh_params_generate2.short +++ b/doc/functions/gnutls_dh_params_generate2.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_dh_params_generate2} (gnutls_dh_params_t @var{params}, unsigned int @var{bits}) +@item @var{int} @ref{gnutls_dh_params_generate2} (gnutls_dh_params_t @var{dparams}, unsigned int @var{bits}) diff --git a/doc/functions/gnutls_dh_set_prime_bits b/doc/functions/gnutls_dh_set_prime_bits index 1f7d7eb..6cdcb70 100644 --- a/doc/functions/gnutls_dh_set_prime_bits +++ b/doc/functions/gnutls_dh_set_prime_bits @@ -19,5 +19,10 @@ a server sends a prime with less bits than that Note that values lower than 512 bits may allow decryption of the exchanged data. -This function has no effect in server side. +The function has no effect in server side. + +Note that since 3.1.7 this function is deprecated. The minimum +number of bits is set by the priority string level. +Also this function must be called after @code{gnutls_priority_set_direct()} +or the set value may be overridden by the selected priority options. @end deftypefun diff --git a/doc/functions/gnutls_digest_get_id b/doc/functions/gnutls_digest_get_id new file mode 100644 index 0000000..beb0497 --- /dev/null +++ b/doc/functions/gnutls_digest_get_id @@ -0,0 +1,13 @@ + + + + +@deftypefun {gnutls_digest_algorithm_t} {gnutls_digest_get_id} (const char * @var{name}) +@var{name}: is a digest algorithm name + +Convert a string to a @code{gnutls_digest_algorithm_t} value. The names are +compared in a case insensitive way. + +@strong{Returns:} a @code{gnutls_digest_algorithm_t} id of the specified MAC +algorithm string, or @code{GNUTLS_DIG_UNKNOWN} on failures. +@end deftypefun diff --git a/doc/functions/gnutls_digest_get_id.short b/doc/functions/gnutls_digest_get_id.short new file mode 100644 index 0000000..00c85b0 --- /dev/null +++ b/doc/functions/gnutls_digest_get_id.short @@ -0,0 +1 @@ +@item @var{gnutls_digest_algorithm_t} @ref{gnutls_digest_get_id} (const char * @var{name}) diff --git a/doc/functions/gnutls_digest_get_name b/doc/functions/gnutls_digest_get_name new file mode 100644 index 0000000..480d66d --- /dev/null +++ b/doc/functions/gnutls_digest_get_name @@ -0,0 +1,12 @@ + + + + +@deftypefun {const char *} {gnutls_digest_get_name} (gnutls_digest_algorithm_t @var{algorithm}) +@var{algorithm}: is a digest algorithm + +Convert a @code{gnutls_digest_algorithm_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified digest +algorithm, or @code{NULL} . +@end deftypefun diff --git a/doc/functions/gnutls_digest_get_name.short b/doc/functions/gnutls_digest_get_name.short new file mode 100644 index 0000000..524cd82 --- /dev/null +++ b/doc/functions/gnutls_digest_get_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{gnutls_digest_get_name} (gnutls_digest_algorithm_t @var{algorithm}) diff --git a/doc/functions/gnutls_digest_list b/doc/functions/gnutls_digest_list new file mode 100644 index 0000000..649e77e --- /dev/null +++ b/doc/functions/gnutls_digest_list @@ -0,0 +1,13 @@ + + + + +@deftypefun {const gnutls_digest_algorithm_t *} {gnutls_digest_list} ( @var{void}) + +Get a list of hash (digest) algorithms supported by GnuTLS. + +This function is not thread safe. + +@strong{Returns:} Return a (0)-terminated list of @code{gnutls_digest_algorithm_t} +integers indicating the available digests. +@end deftypefun diff --git a/doc/functions/gnutls_digest_list.short b/doc/functions/gnutls_digest_list.short new file mode 100644 index 0000000..2750b96 --- /dev/null +++ b/doc/functions/gnutls_digest_list.short @@ -0,0 +1 @@ +@item @var{const gnutls_digest_algorithm_t *} @ref{gnutls_digest_list} ( @var{void}) diff --git a/doc/functions/gnutls_dtls_cookie_send b/doc/functions/gnutls_dtls_cookie_send index 3a8d0c7..22630f0 100644 --- a/doc/functions/gnutls_dtls_cookie_send +++ b/doc/functions/gnutls_dtls_cookie_send @@ -1,7 +1,7 @@ -@deftypefun {int} {gnutls_dtls_cookie_send} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st* @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) +@deftypefun {int} {gnutls_dtls_cookie_send} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st * @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) @var{key}: is a random key to be used at cookie generation @var{client_data}: contains data identifying the client (i.e. address) @@ -21,6 +21,10 @@ it can be ensured that a client we allocated resources for (i.e. @code{gnutls_session_t} ) is the one that the original incoming packet was originated from. +This function must be called at the first incoming packet, +prior to allocating any resources and must be succeeded +by @code{gnutls_dtls_cookie_verify()} . + @strong{Returns:} the number of bytes sent, or a negative error code. @strong{Since:} 3.0 diff --git a/doc/functions/gnutls_dtls_cookie_send.short b/doc/functions/gnutls_dtls_cookie_send.short index 279be12..a7c268d 100644 --- a/doc/functions/gnutls_dtls_cookie_send.short +++ b/doc/functions/gnutls_dtls_cookie_send.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_dtls_cookie_send} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st* @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) +@item @var{int} @ref{gnutls_dtls_cookie_send} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st * @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) diff --git a/doc/functions/gnutls_dtls_cookie_verify b/doc/functions/gnutls_dtls_cookie_verify index 349a52e..31c658f 100644 --- a/doc/functions/gnutls_dtls_cookie_verify +++ b/doc/functions/gnutls_dtls_cookie_verify @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_dtls_cookie_verify} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, void* @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st* @var{prestate}) +@deftypefun {int} {gnutls_dtls_cookie_verify} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, void * @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st * @var{prestate}) @var{key}: is a random key to be used at cookie generation @var{client_data}: contains data identifying the client (i.e. address) @@ -15,11 +15,13 @@ @var{prestate}: The cookie of this client. -This function will verify an incoming message for +This function will verify the received message for a valid cookie. If a valid cookie is returned then it should be associated with the session using @code{gnutls_dtls_prestate_set()} ; +This function must be called after @code{gnutls_dtls_cookie_send()} . + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 3.0 diff --git a/doc/functions/gnutls_dtls_cookie_verify.short b/doc/functions/gnutls_dtls_cookie_verify.short index dcca485..1099a82 100644 --- a/doc/functions/gnutls_dtls_cookie_verify.short +++ b/doc/functions/gnutls_dtls_cookie_verify.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_dtls_cookie_verify} (gnutls_datum_t* @var{key}, void* @var{client_data}, size_t @var{client_data_size}, void* @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st* @var{prestate}) +@item @var{int} @ref{gnutls_dtls_cookie_verify} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, void * @var{_msg}, size_t @var{msg_size}, gnutls_dtls_prestate_st * @var{prestate}) diff --git a/doc/functions/gnutls_dtls_get_data_mtu b/doc/functions/gnutls_dtls_get_data_mtu index 907adcd..8869da8 100644 --- a/doc/functions/gnutls_dtls_get_data_mtu +++ b/doc/functions/gnutls_dtls_get_data_mtu @@ -7,7 +7,7 @@ This function will return the actual maximum transfer unit for application data. I.e. DTLS headers are subtracted from the -actual MTU. +actual MTU which is set using @code{gnutls_dtls_set_mtu()} . @strong{Returns:} the maximum allowed transfer unit. diff --git a/doc/functions/gnutls_dtls_prestate_set b/doc/functions/gnutls_dtls_prestate_set index bd16faa..187275e 100644 --- a/doc/functions/gnutls_dtls_prestate_set +++ b/doc/functions/gnutls_dtls_prestate_set @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st* @var{prestate}) +@deftypefun {void} {gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st * @var{prestate}) @var{session}: a new session @var{prestate}: contains the client's prestate @@ -11,5 +11,8 @@ This function will associate the prestate acquired by the cookie authentication with the client, with the newly established session. +This functions must be called after a successful @code{gnutls_dtls_cookie_verify()} +and should be succeeded by the actual DTLS handshake using @code{gnutls_handshake()} . + @strong{Since:} 3.0 @end deftypefun diff --git a/doc/functions/gnutls_dtls_prestate_set.short b/doc/functions/gnutls_dtls_prestate_set.short index d7ce3ac..69897e2 100644 --- a/doc/functions/gnutls_dtls_prestate_set.short +++ b/doc/functions/gnutls_dtls_prestate_set.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st* @var{prestate}) +@item @var{void} @ref{gnutls_dtls_prestate_set} (gnutls_session_t @var{session}, gnutls_dtls_prestate_st * @var{prestate}) diff --git a/doc/functions/gnutls_dtls_set_data_mtu b/doc/functions/gnutls_dtls_set_data_mtu index bfd40aa..62700db 100644 --- a/doc/functions/gnutls_dtls_set_data_mtu +++ b/doc/functions/gnutls_dtls_set_data_mtu @@ -15,6 +15,9 @@ that you may need to call this function again after any negotiation or renegotiation, in order to ensure that the MTU is still sufficient to account for the new protocol overhead. +In most cases you only need to call @code{gnutls_dtls_set_mtu()} with +the maximum MTU of your transport layer. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 3.1 diff --git a/doc/functions/gnutls_dtls_set_timeouts b/doc/functions/gnutls_dtls_set_timeouts index 5fc41ab..751132f 100644 --- a/doc/functions/gnutls_dtls_set_timeouts +++ b/doc/functions/gnutls_dtls_set_timeouts @@ -21,5 +21,7 @@ respectively. If the retransmission timeout is zero then the handshake will operate in a non-blocking way, i.e., return @code{GNUTLS_E_AGAIN} . +To disable retransmissions set a @code{retrans_timeout} larger than the @code{total_timeout} . + @strong{Since:} 3.0 @end deftypefun diff --git a/doc/functions/gnutls_error_is_fatal b/doc/functions/gnutls_error_is_fatal index 238539a..8986bdd 100644 --- a/doc/functions/gnutls_error_is_fatal +++ b/doc/functions/gnutls_error_is_fatal @@ -6,14 +6,17 @@ @var{error}: is a GnuTLS error code, a negative error code If a GnuTLS function returns a negative error code you may feed that -value to this function to see if the error condition is fatal. +value to this function to see if the error condition is fatal to +a TLS session (i.e., must be terminated). + Note that you may also want to check the error code manually, since some non-fatal errors to the protocol (such as a warning alert or a rehandshake request) may be fatal for your program. This function is only useful if you are dealing with errors from -the record layer or the handshake layer. +functions that relate to a TLS session (e.g., record layer or handshake +layer handling functions). -@strong{Returns:} 1 if the error code is fatal, for positive @code{error} values, -0 is returned. For unknown @code{error} values, -1 is returned. +@strong{Returns:} zero on non fatal errors or positive @code{error} values. Non-zero +on fatal error codes. @end deftypefun diff --git a/doc/functions/gnutls_est_record_overhead_size b/doc/functions/gnutls_est_record_overhead_size new file mode 100644 index 0000000..f1d70b6 --- /dev/null +++ b/doc/functions/gnutls_est_record_overhead_size @@ -0,0 +1,25 @@ + + + + +@deftypefun {size_t} {gnutls_est_record_overhead_size} (gnutls_protocol_t @var{version}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, unsigned int @var{flags}) +@var{version}: is a @code{gnutls_protocol_t} value + +@var{cipher}: is a @code{gnutls_cipher_algorithm_t} value + +@var{mac}: is a @code{gnutls_mac_algorithm_t} value + +@var{comp}: is a @code{gnutls_compression_method_t} value + +@var{flags}: must be zero + +This function will return the set size in bytes of the overhead +due to TLS (or DTLS) per record. + +Note that this function may provide inacurate values when TLS +extensions that modify the record format are negotiated. In these +cases a more accurate value can be obtained using @code{gnutls_record_overhead_size()} +after a completed handshake. + +@strong{Since:} 3.2.2 +@end deftypefun diff --git a/doc/functions/gnutls_est_record_overhead_size.short b/doc/functions/gnutls_est_record_overhead_size.short new file mode 100644 index 0000000..6eb65e1 --- /dev/null +++ b/doc/functions/gnutls_est_record_overhead_size.short @@ -0,0 +1 @@ +@item @var{size_t} @ref{gnutls_est_record_overhead_size} (gnutls_protocol_t @var{version}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_fingerprint b/doc/functions/gnutls_fingerprint index 2ccbaae..b65b82b 100644 --- a/doc/functions/gnutls_fingerprint +++ b/doc/functions/gnutls_fingerprint @@ -18,7 +18,7 @@ convert it to hex, or to something else printable. This is the usual way to calculate a fingerprint of an X.509 DER encoded certificate. Note however that the fingerprint of an -OpenPGP is not just a hash and cannot be calculated with this +OpenPGP certificate is not just a hash and cannot be calculated with this function. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise diff --git a/doc/functions/gnutls_fips140_mode_enabled b/doc/functions/gnutls_fips140_mode_enabled new file mode 100644 index 0000000..6d30be0 --- /dev/null +++ b/doc/functions/gnutls_fips140_mode_enabled @@ -0,0 +1,12 @@ + + + + +@deftypefun {int} {gnutls_fips140_mode_enabled} ( @var{void}) + +Checks whether this library is in FIPS140 mode. + +@strong{Returns:} return non-zero if true or zero if false. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_fips140_mode_enabled.short b/doc/functions/gnutls_fips140_mode_enabled.short new file mode 100644 index 0000000..edb7dc7 --- /dev/null +++ b/doc/functions/gnutls_fips140_mode_enabled.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_fips140_mode_enabled} ( @var{void}) diff --git a/doc/functions/gnutls_global_deinit b/doc/functions/gnutls_global_deinit index 3ee9501..5740e06 100644 --- a/doc/functions/gnutls_global_deinit +++ b/doc/functions/gnutls_global_deinit @@ -6,7 +6,4 @@ This function deinitializes the global data, that were initialized using @code{gnutls_global_init()} . - -Note! This function is not thread safe. See the discussion for -@code{gnutls_global_init()} for more information. @end deftypefun diff --git a/doc/functions/gnutls_global_init b/doc/functions/gnutls_global_init index 6b8dc11..70e4a53 100644 --- a/doc/functions/gnutls_global_init +++ b/doc/functions/gnutls_global_init @@ -4,13 +4,12 @@ @deftypefun {int} {gnutls_global_init} ( @var{void}) -This function initializes the global data to defaults. -In order to free resources you may call @code{gnutls_global_deinit()} +This function performs any required precalculations, detects +the supported CPU capabilities and initializes the underlying +cryptographic backend. In order to free any resources +taken by this call you should @code{gnutls_global_deinit()} when gnutls usage is no longer needed. -Note that this function will also initialize the underlying crypto -backend, if it has not been initialized before. - This function increments a global counter, so that @code{gnutls_global_deinit()} only releases resources when it has been called as many times as @code{gnutls_global_init()} . This is useful when @@ -18,13 +17,12 @@ GnuTLS is used by more than one library in an application. This function can be called many times, but will only do something the first time. -Note! This function is not thread safe. If two threads call this -function simultaneously, they can cause a race between checking -the global counter and incrementing it, causing both threads to -execute the library initialization code. That would lead to a -memory leak. To handle this, your application could invoke this -function after aquiring a thread mutex. To ignore the potential -memory leak is also an option. +Since GnuTLS 3.3.0 this function is only required in systems that +do not support library constructors and static linking. This +function also became thread safe. + +A subsequent call of this function if the initial has failed will +return the same error code. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error code is returned. diff --git a/doc/functions/gnutls_global_set_audit_log_function b/doc/functions/gnutls_global_set_audit_log_function index 93caeff..250ab3b 100644 --- a/doc/functions/gnutls_global_set_audit_log_function +++ b/doc/functions/gnutls_global_set_audit_log_function @@ -5,13 +5,14 @@ @deftypefun {void} {gnutls_global_set_audit_log_function} (gnutls_audit_log_func @var{log_func}) @var{log_func}: it is the audit log function -This is the function where you set the logging function gnutls is -going to use. This is different from @code{gnutls_global_set_log_function()} -because it will report the session of the event if any. Note that -that session might be null if there is no corresponding TLS session. +This is the function to set the audit logging function. This +is a function to report important issues, such as possible +attacks in the protocol. This is different from @code{gnutls_global_set_log_function()} +because it will report also session-specific events. The session +parameter will be null if there is no corresponding TLS session. @code{gnutls_audit_log_func} is of the form, -void (*gnutls_audit_log_func)( gnutls_session_t, int level, const char*); +void (*gnutls_audit_log_func)( gnutls_session_t, const char*); @strong{Since:} 3.0 @end deftypefun diff --git a/doc/functions/gnutls_global_set_log_level b/doc/functions/gnutls_global_set_log_level index 9925500..0ce48e4 100644 --- a/doc/functions/gnutls_global_set_log_level +++ b/doc/functions/gnutls_global_set_log_level @@ -3,7 +3,7 @@ @deftypefun {void} {gnutls_global_set_log_level} (int @var{level}) -@var{level}: it's an integer from 0 to 9. +@var{level}: it's an integer from 0 to 99. This is the function that allows you to set the log level. The level is an integer between 0 and 9. Higher values mean more diff --git a/doc/functions/gnutls_global_set_mem_functions b/doc/functions/gnutls_global_set_mem_functions index be9d46d..9cb725e 100644 --- a/doc/functions/gnutls_global_set_mem_functions +++ b/doc/functions/gnutls_global_set_mem_functions @@ -13,6 +13,10 @@ @var{free_func}: The function that frees allocated data. Must accept a NULL pointer. + +@strong{Deprecated:} since 3.3.0 it is no longer possible to replace the internally used +memory allocation functions + This is the function where you set the memory allocation functions gnutls is going to use. By default the libc's allocation functions (@code{malloc()} , @code{free()} ), are used by gnutls, to allocate both sensitive diff --git a/doc/functions/gnutls_global_set_mutex b/doc/functions/gnutls_global_set_mutex index c874edf..4314881 100644 --- a/doc/functions/gnutls_global_set_mutex +++ b/doc/functions/gnutls_global_set_mutex @@ -14,10 +14,11 @@ With this function you are allowed to override the default mutex locks used in some parts of gnutls and dependent libraries. This function should be used if you have complete control of your program and libraries. -Do not call this function from a library. Instead only initialize gnutls and -the default OS mutex locks will be used. +Do not call this function from a library, or preferrably from any application +unless really needed to. GnuTLS will use the appropriate locks for the running +system. -This function must be called before @code{gnutls_global_init()} . +This function must be called prior to any other gnutls function. @strong{Since:} 2.12.0 @end deftypefun diff --git a/doc/functions/gnutls_handshake_description_get_name b/doc/functions/gnutls_handshake_description_get_name new file mode 100644 index 0000000..246589a --- /dev/null +++ b/doc/functions/gnutls_handshake_description_get_name @@ -0,0 +1,12 @@ + + + + +@deftypefun {const char *} {gnutls_handshake_description_get_name} (gnutls_handshake_description_t @var{type}) +@var{type}: is a handshake message description + +Convert a @code{gnutls_handshake_description_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified handshake +message or @code{NULL} . +@end deftypefun diff --git a/doc/functions/gnutls_handshake_description_get_name.short b/doc/functions/gnutls_handshake_description_get_name.short new file mode 100644 index 0000000..c7a6368 --- /dev/null +++ b/doc/functions/gnutls_handshake_description_get_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{gnutls_handshake_description_get_name} (gnutls_handshake_description_t @var{type}) diff --git a/doc/functions/gnutls_handshake_set_hook_function b/doc/functions/gnutls_handshake_set_hook_function new file mode 100644 index 0000000..430f3d4 --- /dev/null +++ b/doc/functions/gnutls_handshake_set_hook_function @@ -0,0 +1,31 @@ + + + + +@deftypefun {void} {gnutls_handshake_set_hook_function} (gnutls_session_t @var{session}, unsigned int @var{htype}, int @var{post}, gnutls_handshake_hook_func @var{func}) +@var{session}: is a @code{gnutls_session_t} structure + +@var{htype}: the @code{gnutls_handshake_description_t} of the message to hook at + +@var{post}: @code{GNUTLS_HOOK_} * depending on when the hook function should be called + +@var{func}: is the function to be called + +This function will set a callback to be called after or before the specified +handshake message has been received or generated. This is a +generalization of @code{gnutls_handshake_set_post_client_hello_function()} . + +To call the hook function prior to the message being sent/generated use +@code{GNUTLS_HOOK_PRE} as @code{post} parameter, @code{GNUTLS_HOOK_POST} to call +after, and @code{GNUTLS_HOOK_BOTH} for both cases. + +This callback must return 0 on success or a gnutls error code to +terminate the handshake. + +Note to hook at all handshake messages use an @code{htype} of @code{GNUTLS_HANDSHAKE_ANY} . + +@strong{Warning:} You should not use this function to terminate the +handshake based on client input unless you know what you are +doing. Before the handshake is finished there is no way to know if +there is a man-in-the-middle attack being performed. +@end deftypefun diff --git a/doc/functions/gnutls_handshake_set_hook_function.short b/doc/functions/gnutls_handshake_set_hook_function.short new file mode 100644 index 0000000..d6ee71c --- /dev/null +++ b/doc/functions/gnutls_handshake_set_hook_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_handshake_set_hook_function} (gnutls_session_t @var{session}, unsigned int @var{htype}, int @var{post}, gnutls_handshake_hook_func @var{func}) diff --git a/doc/functions/gnutls_handshake_set_post_client_hello_function b/doc/functions/gnutls_handshake_set_post_client_hello_function index fc9373f..58f7ac4 100644 --- a/doc/functions/gnutls_handshake_set_post_client_hello_function +++ b/doc/functions/gnutls_handshake_set_post_client_hello_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) +@deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) @var{session}: is a @code{gnutls_session_t} structure. @var{func}: is the function to be called @@ -18,6 +18,11 @@ the hello message is parsed). This callback must return 0 on success or a gnutls error code to terminate the handshake. +Since GnuTLS 3.3.5 the callback is +allowed to return @code{GNUTLS_E_AGAIN} or @code{GNUTLS_E_INTERRUPTED} to +put the handshake on hold. In that case @code{gnutls_handshake()} +will return @code{GNUTLS_E_INTERRUPTED} and can be resumed when needed. + @strong{Warning:} You should not use this function to terminate the handshake based on client input unless you know what you are doing. Before the handshake is finished there is no way to know if diff --git a/doc/functions/gnutls_handshake_set_post_client_hello_function.short b/doc/functions/gnutls_handshake_set_post_client_hello_function.short index 906b740..5ff5f1e 100644 --- a/doc/functions/gnutls_handshake_set_post_client_hello_function.short +++ b/doc/functions/gnutls_handshake_set_post_client_hello_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) +@item @var{void} @ref{gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) diff --git a/doc/functions/gnutls_handshake_set_private_extensions b/doc/functions/gnutls_handshake_set_private_extensions index 82d73ff..f9d7091 100644 --- a/doc/functions/gnutls_handshake_set_private_extensions +++ b/doc/functions/gnutls_handshake_set_private_extensions @@ -8,7 +8,7 @@ @var{allow}: is an integer (0 or 1) This function will enable or disable the use of private cipher -suites (the ones that start with 0xFF). By default or if @code{allow} is 0 then these cipher suites will not be advertized nor used. +suites (the ones that start with 0xFF). By default or if @code{allow} is 0 then these cipher suites will not be advertised nor used. Currently GnuTLS does not include such cipher-suites or compression algorithms. diff --git a/doc/functions/gnutls_handshake_set_random b/doc/functions/gnutls_handshake_set_random new file mode 100644 index 0000000..df25ac2 --- /dev/null +++ b/doc/functions/gnutls_handshake_set_random @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_handshake_set_random} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{random}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{random}: a random value of 32-bytes + +This function will explicitly set the server or client hello +random value in the subsequent TLS handshake. The random value +should be a 32-byte value. + +Note that this function should not normally be used as gnutls +will select automatically a random value for the handshake. + +This function should not be used when resuming a session. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. + +Since 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_handshake_set_random.short b/doc/functions/gnutls_handshake_set_random.short new file mode 100644 index 0000000..b118295 --- /dev/null +++ b/doc/functions/gnutls_handshake_set_random.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_handshake_set_random} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{random}) diff --git a/doc/functions/gnutls_handshake_set_timeout b/doc/functions/gnutls_handshake_set_timeout new file mode 100644 index 0000000..0a11ec1 --- /dev/null +++ b/doc/functions/gnutls_handshake_set_timeout @@ -0,0 +1,15 @@ + + + + +@deftypefun {void} {gnutls_handshake_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{ms}: is a timeout value in milliseconds + +This function sets the timeout for the handshake process +to the provided value. Use an @code{ms} value of zero to disable +timeout. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_handshake_set_timeout.short b/doc/functions/gnutls_handshake_set_timeout.short new file mode 100644 index 0000000..9899567 --- /dev/null +++ b/doc/functions/gnutls_handshake_set_timeout.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_handshake_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) diff --git a/doc/functions/gnutls_hash_output b/doc/functions/gnutls_hash_output index 4df5d59..a530e48 100644 --- a/doc/functions/gnutls_hash_output +++ b/doc/functions/gnutls_hash_output @@ -7,7 +7,8 @@ @var{digest}: is the output value of the hash -This function will output the current hash value. +This function will output the current hash value +and reset the state of the hash. @strong{Since:} 2.10.0 @end deftypefun diff --git a/doc/functions/gnutls_heartbeat_allowed b/doc/functions/gnutls_heartbeat_allowed new file mode 100644 index 0000000..2b98423 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_allowed @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_heartbeat_allowed} (gnutls_session_t @var{session}, unsigned int @var{type}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: one of @code{GNUTLS_HB_LOCAL_ALLOWED_TO_SEND} and @code{GNUTLS_HB_PEER_ALLOWED_TO_SEND} + +This function will check whether heartbeats are allowed +to be sent or received in this session. + +@strong{Returns:} Non zero if heartbeats are allowed. + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_allowed.short b/doc/functions/gnutls_heartbeat_allowed.short new file mode 100644 index 0000000..5b50ec2 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_allowed.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_heartbeat_allowed} (gnutls_session_t @var{session}, unsigned int @var{type}) diff --git a/doc/functions/gnutls_heartbeat_enable b/doc/functions/gnutls_heartbeat_enable new file mode 100644 index 0000000..e50d595 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_enable @@ -0,0 +1,21 @@ + + + + +@deftypefun {void} {gnutls_heartbeat_enable} (gnutls_session_t @var{session}, unsigned int @var{type}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: one of the GNUTLS_HB_* flags + +If this function is called with the @code{GNUTLS_HB_PEER_ALLOWED_TO_SEND} + @code{type} , GnuTLS will allow heartbeat messages to be received. Moreover it also +request the peer to accept heartbeat messages. + +If the @code{type} used is @code{GNUTLS_HB_LOCAL_ALLOWED_TO_SEND} , then the peer +will be asked to accept heartbeat messages but not send ones. + +The function @code{gnutls_heartbeat_allowed()} can be used to test Whether +locally generated heartbeat messages can be accepted by the peer. + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_enable.short b/doc/functions/gnutls_heartbeat_enable.short new file mode 100644 index 0000000..d6ce209 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_enable.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_heartbeat_enable} (gnutls_session_t @var{session}, unsigned int @var{type}) diff --git a/doc/functions/gnutls_heartbeat_get_timeout b/doc/functions/gnutls_heartbeat_get_timeout new file mode 100644 index 0000000..8833af9 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_get_timeout @@ -0,0 +1,17 @@ + + + + +@deftypefun {unsigned int} {gnutls_heartbeat_get_timeout} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +This function will return the milliseconds remaining +for a retransmission of the previously sent ping +message. This function is useful when ping is used in +non-blocking mode, to estimate when to call @code{gnutls_heartbeat_ping()} +if no packets have been received. + +@strong{Returns:} the remaining time in milliseconds. + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_get_timeout.short b/doc/functions/gnutls_heartbeat_get_timeout.short new file mode 100644 index 0000000..c8edd96 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_get_timeout.short @@ -0,0 +1 @@ +@item @var{unsigned int} @ref{gnutls_heartbeat_get_timeout} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_heartbeat_ping b/doc/functions/gnutls_heartbeat_ping new file mode 100644 index 0000000..34368a5 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_ping @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_heartbeat_ping} (gnutls_session_t @var{session}, size_t @var{data_size}, unsigned int @var{max_tries}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{data_size}: is the length of the ping payload. + +@var{max_tries}: if flags is @code{GNUTLS_HEARTBEAT_WAIT} then this sets the number of retransmissions. Use zero for indefinite (until timeout). + +@var{flags}: if @code{GNUTLS_HEARTBEAT_WAIT} then wait for pong or timeout instead of returning immediately. + +This function sends a ping to the peer. If the @code{flags} is set +to @code{GNUTLS_HEARTBEAT_WAIT} then it waits for a reply from the peer. + +Note that it is highly recommended to use this function with the +flag @code{GNUTLS_HEARTBEAT_WAIT} , or you need to handle retransmissions +and timeouts manually. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_ping.short b/doc/functions/gnutls_heartbeat_ping.short new file mode 100644 index 0000000..48378d2 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_ping.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_heartbeat_ping} (gnutls_session_t @var{session}, size_t @var{data_size}, unsigned int @var{max_tries}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_heartbeat_pong b/doc/functions/gnutls_heartbeat_pong new file mode 100644 index 0000000..383809c --- /dev/null +++ b/doc/functions/gnutls_heartbeat_pong @@ -0,0 +1,15 @@ + + + + +@deftypefun {int} {gnutls_heartbeat_pong} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{flags}: should be zero + +This function replies to a ping by sending a pong to the peer. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_pong.short b/doc/functions/gnutls_heartbeat_pong.short new file mode 100644 index 0000000..98b0fc6 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_pong.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_heartbeat_pong} (gnutls_session_t @var{session}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_heartbeat_set_timeouts b/doc/functions/gnutls_heartbeat_set_timeouts new file mode 100644 index 0000000..6032f64 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_set_timeouts @@ -0,0 +1,22 @@ + + + + +@deftypefun {void} {gnutls_heartbeat_set_timeouts} (gnutls_session_t @var{session}, unsigned int @var{retrans_timeout}, unsigned int @var{total_timeout}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{retrans_timeout}: The time at which a retransmission will occur in milliseconds + +@var{total_timeout}: The time at which the connection will be aborted, in milliseconds. + +This function will override the timeouts for the DTLS heartbeat +protocol. The retransmission timeout is the time after which a +message from the peer is not received, the previous request will +be retransmitted. The total timeout is the time after which the +handshake will be aborted with @code{GNUTLS_E_TIMEDOUT} . + +If the retransmission timeout is zero then the handshake will operate +in a non-blocking way, i.e., return @code{GNUTLS_E_AGAIN} . + +@strong{Since:} 3.1.2 +@end deftypefun diff --git a/doc/functions/gnutls_heartbeat_set_timeouts.short b/doc/functions/gnutls_heartbeat_set_timeouts.short new file mode 100644 index 0000000..e3156f1 --- /dev/null +++ b/doc/functions/gnutls_heartbeat_set_timeouts.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_heartbeat_set_timeouts} (gnutls_session_t @var{session}, unsigned int @var{retrans_timeout}, unsigned int @var{total_timeout}) diff --git a/doc/functions/gnutls_hex_encode b/doc/functions/gnutls_hex_encode index a790e0d..6c1da60 100644 --- a/doc/functions/gnutls_hex_encode +++ b/doc/functions/gnutls_hex_encode @@ -12,6 +12,8 @@ This function will convert the given data to printable data, using the hex encoding, as used in the PSK password files. +Note that the size of the result includes the null terminator. + @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the buffer given is not long enough, or 0 on success. @end deftypefun diff --git a/doc/functions/gnutls_hmac_init b/doc/functions/gnutls_hmac_init index 121b080..37ea7c1 100644 --- a/doc/functions/gnutls_hmac_init +++ b/doc/functions/gnutls_hmac_init @@ -16,6 +16,9 @@ produce a Message Authentication Code (MAC) of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use. +Note that despite the name of this function, it can be used +for other MAC algorithms than HMAC. + @strong{Returns:} Zero or a negative error code on error. @strong{Since:} 2.10.0 diff --git a/doc/functions/gnutls_hmac_output b/doc/functions/gnutls_hmac_output index 9795bdb..b9b4a9c 100644 --- a/doc/functions/gnutls_hmac_output +++ b/doc/functions/gnutls_hmac_output @@ -7,7 +7,8 @@ @var{digest}: is the output value of the MAC -This function will output the current MAC value. +This function will output the current MAC value +and reset the state of the MAC. @strong{Since:} 2.10.0 @end deftypefun diff --git a/doc/functions/gnutls_hmac_set_nonce b/doc/functions/gnutls_hmac_set_nonce new file mode 100644 index 0000000..ceecd3f --- /dev/null +++ b/doc/functions/gnutls_hmac_set_nonce @@ -0,0 +1,15 @@ + + + + +@deftypefun {void} {gnutls_hmac_set_nonce} (gnutls_hmac_hd_t @var{handle}, const void * @var{nonce}, size_t @var{nonce_len}) +@var{handle}: is a @code{gnutls_cipher_hd_t} structure. + +@var{nonce}: the data to set as nonce + +@var{nonce_len}: The length of data + +This function will set the nonce in the MAC algorithm. + +@strong{Since:} 3.2.0 +@end deftypefun diff --git a/doc/functions/gnutls_hmac_set_nonce.short b/doc/functions/gnutls_hmac_set_nonce.short new file mode 100644 index 0000000..947d390 --- /dev/null +++ b/doc/functions/gnutls_hmac_set_nonce.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_hmac_set_nonce} (gnutls_hmac_hd_t @var{handle}, const void * @var{nonce}, size_t @var{nonce_len}) diff --git a/doc/functions/gnutls_init b/doc/functions/gnutls_init index ee0b9a1..b20ee73 100644 --- a/doc/functions/gnutls_init +++ b/doc/functions/gnutls_init @@ -17,5 +17,14 @@ entity, the flags @code{GNUTLS_DATAGRAM} and @code{GNUTLS_NONBLOCK} are also available. The latter flag will enable a non-blocking operation of the DTLS timers. +The flag @code{GNUTLS_NO_REPLAY_PROTECTION} will disable any +replay protection in DTLS mode. That must only used when +replay protection is achieved using other means. + +Note that since version 3.1.2 this function enables some common +TLS extensions such as session tickets and OCSP certificate status +request in client side by default. To prevent that use the @code{GNUTLS_NO_EXTENSIONS} +flag. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_key_generate b/doc/functions/gnutls_key_generate index 3fb87da..b1053da 100644 --- a/doc/functions/gnutls_key_generate +++ b/doc/functions/gnutls_key_generate @@ -8,7 +8,7 @@ created key. @var{key_size}: The number of bytes of the key. -Generates a random key of @code{key_bytes} size. +Generates a random key of @code{key_size} bytes. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or an error code. diff --git a/doc/functions/gnutls_load_file b/doc/functions/gnutls_load_file new file mode 100644 index 0000000..0e312d2 --- /dev/null +++ b/doc/functions/gnutls_load_file @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_load_file} (const char * @var{filename}, gnutls_datum_t * @var{data}) +@var{filename}: the name of the file to load + +@var{data}: Where the file will be stored + +This function will load a file into a datum. The data are +zero terminated but the terminating null is not included in length. +The returned data are allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +Since 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_load_file.short b/doc/functions/gnutls_load_file.short new file mode 100644 index 0000000..78fb217 --- /dev/null +++ b/doc/functions/gnutls_load_file.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_load_file} (const char * @var{filename}, gnutls_datum_t * @var{data}) diff --git a/doc/functions/gnutls_mac_get_key_size b/doc/functions/gnutls_mac_get_key_size index 839ea52..165cf83 100644 --- a/doc/functions/gnutls_mac_get_key_size +++ b/doc/functions/gnutls_mac_get_key_size @@ -5,7 +5,7 @@ @deftypefun {size_t} {gnutls_mac_get_key_size} (gnutls_mac_algorithm_t @var{algorithm}) @var{algorithm}: is an encryption algorithm -Get size of MAC key. +Returns the size of the MAC key used in TLS. @strong{Returns:} length (in bytes) of the given MAC key size, or 0 if the given MAC algorithm is invalid. diff --git a/doc/functions/gnutls_mac_get_nonce_size b/doc/functions/gnutls_mac_get_nonce_size new file mode 100644 index 0000000..c83a1e5 --- /dev/null +++ b/doc/functions/gnutls_mac_get_nonce_size @@ -0,0 +1,13 @@ + + + + +@deftypefun {size_t} {gnutls_mac_get_nonce_size} (gnutls_mac_algorithm_t @var{algorithm}) +@var{algorithm}: is an encryption algorithm + +Returns the size of the nonce used by the MAC in TLS. + +@strong{Returns:} length (in bytes) of the given MAC nonce size, or 0. + +@strong{Since:} 3.2.0 +@end deftypefun diff --git a/doc/functions/gnutls_mac_get_nonce_size.short b/doc/functions/gnutls_mac_get_nonce_size.short new file mode 100644 index 0000000..0ed411d --- /dev/null +++ b/doc/functions/gnutls_mac_get_nonce_size.short @@ -0,0 +1 @@ +@item @var{size_t} @ref{gnutls_mac_get_nonce_size} (gnutls_mac_algorithm_t @var{algorithm}) diff --git a/doc/functions/gnutls_mac_list b/doc/functions/gnutls_mac_list index 383bd84..fc2d47a 100644 --- a/doc/functions/gnutls_mac_list +++ b/doc/functions/gnutls_mac_list @@ -5,10 +5,7 @@ @deftypefun {const gnutls_mac_algorithm_t *} {gnutls_mac_list} ( @var{void}) Get a list of hash algorithms for use as MACs. Note that not -necessarily all MACs are supported in TLS cipher suites. For -example, MD2 is not supported as a cipher suite, but is supported -for other purposes (e.g., X.509 signature verification or similar). - +necessarily all MACs are supported in TLS cipher suites. This function is not thread safe. @strong{Returns:} Return a (0)-terminated list of @code{gnutls_mac_algorithm_t} diff --git a/doc/functions/gnutls_ocsp_req_print b/doc/functions/gnutls_ocsp_req_print index 5194ff7..3689cf9 100644 --- a/doc/functions/gnutls_ocsp_req_print +++ b/doc/functions/gnutls_ocsp_req_print @@ -12,8 +12,8 @@ This function will pretty print a OCSP request, suitable for display to a human. -If the format is @code{GNUTLS_PRINT_FULL} then all fields of the request -will be output, on multiple lines. +If the format is @code{GNUTLS_OCSP_PRINT_FULL} then all fields of the +request will be output, on multiple lines. The output @code{out} ->data needs to be deallocate using @code{gnutls_free()} . diff --git a/doc/functions/gnutls_ocsp_resp_check_crt b/doc/functions/gnutls_ocsp_resp_check_crt index b3044a1..4d127cf 100644 --- a/doc/functions/gnutls_ocsp_resp_check_crt +++ b/doc/functions/gnutls_ocsp_resp_check_crt @@ -14,4 +14,6 @@ is about the provided certificate. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 @end deftypefun diff --git a/doc/functions/gnutls_ocsp_resp_get_single b/doc/functions/gnutls_ocsp_resp_get_single index 30381ea..09941b7 100644 --- a/doc/functions/gnutls_ocsp_resp_get_single +++ b/doc/functions/gnutls_ocsp_resp_get_single @@ -27,32 +27,8 @@ This function will return the certificate information of the @code{indx} 'ed response in the Basic OCSP Response @code{resp} . The -information returned corresponds to the SingleResponse structure -except the final singleExtensions, reproduced here for illustration: - - -SingleResponse ::= SEQUENCE @{ -certID CertID, -certStatus CertStatus, -thisUpdate GeneralizedTime, -nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, -singleExtensions [1] EXPLICIT Extensions OPTIONAL @} - -CertID ::= SEQUENCE @{ -hashAlgorithm AlgorithmIdentifier, -issuerNameHash OCTET STRING, -- Hash of Issuer's DN -issuerKeyHash OCTET STRING, -- Hash of Issuers public key -serialNumber CertificateSerialNumber @} - -CertStatus ::= CHOICE @{ -good [0] IMPLICIT NULL, -revoked [1] IMPLICIT RevokedInfo, -unknown [2] IMPLICIT UnknownInfo @} - -RevokedInfo ::= SEQUENCE @{ -revocationTime GeneralizedTime, -revocationReason [0] EXPLICIT CRLReason OPTIONAL @} - +information returned corresponds to the OCSP SingleResponse structure +except the final singleExtensions. Each of the pointers to output variables may be NULL to indicate that the caller is not interested in that value. diff --git a/doc/functions/gnutls_ocsp_resp_print b/doc/functions/gnutls_ocsp_resp_print index ea01725..969a75a 100644 --- a/doc/functions/gnutls_ocsp_resp_print +++ b/doc/functions/gnutls_ocsp_resp_print @@ -12,8 +12,8 @@ This function will pretty print a OCSP response, suitable for display to a human. -If the format is @code{GNUTLS_PRINT_FULL} then all fields of the response -will be output, on multiple lines. +If the format is @code{GNUTLS_OCSP_PRINT_FULL} then all fields of the +response will be output, on multiple lines. The output @code{out} ->data needs to be deallocate using @code{gnutls_free()} . diff --git a/doc/functions/gnutls_ocsp_status_request_enable_client b/doc/functions/gnutls_ocsp_status_request_enable_client new file mode 100644 index 0000000..303f446 --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_enable_client @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_ocsp_status_request_enable_client} (gnutls_session_t @var{session}, gnutls_datum_t * @var{responder_id}, size_t @var{responder_id_size}, gnutls_datum_t * @var{extensions}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{responder_id}: array with @code{gnutls_datum_t} with DER data of responder id + +@var{responder_id_size}: number of members in @code{responder_id} array + +@var{extensions}: a @code{gnutls_datum_t} with DER encoded OCSP extensions + +This function is to be used by clients to request OCSP response +from the server, using the "status_request" TLS extension. Only +OCSP status type is supported. A typical server has a single +OCSP response cached, so @code{responder_id} and @code{extensions} should be null. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_ocsp_status_request_enable_client.short b/doc/functions/gnutls_ocsp_status_request_enable_client.short new file mode 100644 index 0000000..bf44972 --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_enable_client.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_ocsp_status_request_enable_client} (gnutls_session_t @var{session}, gnutls_datum_t * @var{responder_id}, size_t @var{responder_id_size}, gnutls_datum_t * @var{extensions}) diff --git a/doc/functions/gnutls_ocsp_status_request_get b/doc/functions/gnutls_ocsp_status_request_get new file mode 100644 index 0000000..cdea69c --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_get @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_ocsp_status_request_get} (gnutls_session_t @var{session}, gnutls_datum_t * @var{response}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{response}: a @code{gnutls_datum_t} with DER encoded OCSP response + +This function returns the OCSP status response received +from the TLS server. The @code{response} should be treated as +constant. If no OCSP response is available then +@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_ocsp_status_request_get.short b/doc/functions/gnutls_ocsp_status_request_get.short new file mode 100644 index 0000000..505dfdf --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_ocsp_status_request_get} (gnutls_session_t @var{session}, gnutls_datum_t * @var{response}) diff --git a/doc/functions/gnutls_ocsp_status_request_is_checked b/doc/functions/gnutls_ocsp_status_request_is_checked new file mode 100644 index 0000000..611aead --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_is_checked @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_ocsp_status_request_is_checked} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a gnutls session + +@var{flags}: should be zero + +Check whether an OCSP status response was included in the handshake +and whether it was checked and valid (not too old or superseded). +This is a helper function when needing to decide whether to perform an +OCSP validity check on the peer's certificate. Must be called after +@code{gnutls_certificate_verify_peers3()} is called. + +@strong{Returns:} non zero it was valid, or a zero if it wasn't sent, +or sent and was invalid. +@end deftypefun diff --git a/doc/functions/gnutls_ocsp_status_request_is_checked.short b/doc/functions/gnutls_ocsp_status_request_is_checked.short new file mode 100644 index 0000000..bb33234 --- /dev/null +++ b/doc/functions/gnutls_ocsp_status_request_is_checked.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_ocsp_status_request_is_checked} (gnutls_session_t @var{session}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_openpgp_crt_check_hostname b/doc/functions/gnutls_openpgp_crt_check_hostname index 8aa31bc..b129e17 100644 --- a/doc/functions/gnutls_openpgp_crt_check_hostname +++ b/doc/functions/gnutls_openpgp_crt_check_hostname @@ -11,5 +11,5 @@ This function will check if the given key's owner matches the given hostname. This is a basic implementation of the matching described in RFC2818 (HTTPS), which takes into account wildcards. -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. +@strong{Returns:} non-zero for a successful match, and zero on failure. @end deftypefun diff --git a/doc/functions/gnutls_openpgp_crt_check_hostname2 b/doc/functions/gnutls_openpgp_crt_check_hostname2 new file mode 100644 index 0000000..7b23aa5 --- /dev/null +++ b/doc/functions/gnutls_openpgp_crt_check_hostname2 @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_openpgp_crt_check_hostname2} (gnutls_openpgp_crt_t @var{key}, const char * @var{hostname}, unsigned @var{flags}) +@var{key}: should contain a @code{gnutls_openpgp_crt_t} structure + +@var{hostname}: A null terminated string that contains a DNS name + +@var{flags}: gnutls_certificate_verify_flags + +This function will check if the given key's owner matches the +given hostname. + +Unless, the flag @code{GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS} is specified, +wildcards are only considered if the domain name consists of three +components or more, and the wildcard starts at the leftmost position. + +@strong{Returns:} non-zero for a successful match, and zero on failure. +@end deftypefun diff --git a/doc/functions/gnutls_openpgp_crt_check_hostname2.short b/doc/functions/gnutls_openpgp_crt_check_hostname2.short new file mode 100644 index 0000000..c23bc7e --- /dev/null +++ b/doc/functions/gnutls_openpgp_crt_check_hostname2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_openpgp_crt_check_hostname2} (gnutls_openpgp_crt_t @var{key}, const char * @var{hostname}, unsigned @var{flags}) diff --git a/doc/functions/gnutls_openpgp_crt_export2 b/doc/functions/gnutls_openpgp_crt_export2 new file mode 100644 index 0000000..836ce6e --- /dev/null +++ b/doc/functions/gnutls_openpgp_crt_export2 @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_openpgp_crt_export2} (gnutls_openpgp_crt_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{key}: Holds the key. + +@var{format}: One of gnutls_openpgp_crt_fmt_t elements. + +@var{out}: will contain the raw or base64 encoded key + +This function will convert the given key to RAW or Base64 format. +The output buffer is allocated using @code{gnutls_malloc()} . + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_openpgp_crt_export2.short b/doc/functions/gnutls_openpgp_crt_export2.short new file mode 100644 index 0000000..b2b78b1 --- /dev/null +++ b/doc/functions/gnutls_openpgp_crt_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_openpgp_crt_export2} (gnutls_openpgp_crt_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_openpgp_crt_verify_ring b/doc/functions/gnutls_openpgp_crt_verify_ring index 9442306..094dc0c 100644 --- a/doc/functions/gnutls_openpgp_crt_verify_ring +++ b/doc/functions/gnutls_openpgp_crt_verify_ring @@ -18,5 +18,9 @@ The key verification output will be put in @code{verify} and will be one or more of the @code{gnutls_certificate_status_t} enumerated elements bitwise or'd. +Note that this function does not verify using any "web of trust". +You may use GnuPG for that purpose, or any other external PGP +application. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_openpgp_privkey_export2 b/doc/functions/gnutls_openpgp_privkey_export2 new file mode 100644 index 0000000..6861455 --- /dev/null +++ b/doc/functions/gnutls_openpgp_privkey_export2 @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_openpgp_privkey_export2} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, gnutls_datum_t * @var{out}) +@var{key}: Holds the key. + +@var{format}: One of gnutls_openpgp_crt_fmt_t elements. + +@var{password}: the password that will be used to encrypt the key. (unused for now) + +@var{flags}: (0) for future compatibility + +@var{out}: will contain the raw or based64 encoded key + +This function will convert the given key to RAW or Base64 format. +The output buffer is allocated using @code{gnutls_malloc()} . + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_openpgp_privkey_export2.short b/doc/functions/gnutls_openpgp_privkey_export2.short new file mode 100644 index 0000000..f355e02 --- /dev/null +++ b/doc/functions/gnutls_openpgp_privkey_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_openpgp_privkey_export2} (gnutls_openpgp_privkey_t @var{key}, gnutls_openpgp_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time b/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time index 444d727..ba03b4c 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time @@ -2,7 +2,7 @@ -@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_creation_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_creation_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: the subkey index diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time.short b/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time.short index c383e69..3c18a50 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time.short +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_creation_time.short @@ -1 +1 @@ -@item @var{time_t} @ref{gnutls_openpgp_privkey_get_subkey_creation_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@item @var{time_t} @ref{gnutls_openpgp_privkey_get_subkey_creation_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time b/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time new file mode 100644 index 0000000..9056422 --- /dev/null +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time @@ -0,0 +1,16 @@ + + + + +@deftypefun {time_t} {gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@var{key}: the structure that contains the OpenPGP private key. + +@var{idx}: the subkey index + +Get subkey expiration time. A value of '0' means that the key +doesn't expire at all. + +@strong{Returns:} the time when the OpenPGP key expires. + +@strong{Since:} 2.4.0 +@end deftypefun diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short b/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short new file mode 100644 index 0000000..77aafbe --- /dev/null +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_expiration_time.short @@ -0,0 +1 @@ +@item @var{time_t} @ref{gnutls_openpgp_privkey_get_subkey_expiration_time} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm b/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm index 9b75fff..2e75c5d 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm @@ -2,7 +2,7 @@ -@deftypefun {gnutls_pk_algorithm_t} {gnutls_openpgp_privkey_get_subkey_pk_algorithm} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}, unsigned int * @var{bits}) +@deftypefun {gnutls_pk_algorithm_t} {gnutls_openpgp_privkey_get_subkey_pk_algorithm} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}, unsigned int * @var{bits}) @var{key}: is an OpenPGP key @var{idx}: is the subkey index diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm.short b/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm.short index 1a5cf9c..a2955f6 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm.short +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_pk_algorithm.short @@ -1 +1 @@ -@item @var{gnutls_pk_algorithm_t} @ref{gnutls_openpgp_privkey_get_subkey_pk_algorithm} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}, unsigned int * @var{bits}) +@item @var{gnutls_pk_algorithm_t} @ref{gnutls_openpgp_privkey_get_subkey_pk_algorithm} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}, unsigned int * @var{bits}) diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status b/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status index 4577d88..22ee5bc 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@deftypefun {int} {gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) @var{key}: the structure that contains the OpenPGP private key. @var{idx}: is the subkey index diff --git a/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status.short b/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status.short index bd73262..514c3b0 100644 --- a/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status.short +++ b/doc/functions/gnutls_openpgp_privkey_get_subkey_revoked_status.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) +@item @var{int} @ref{gnutls_openpgp_privkey_get_subkey_revoked_status} (gnutls_openpgp_privkey_t @var{key}, unsigned int @var{idx}) diff --git a/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id b/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id index 4459117..5b61446 100644 --- a/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id +++ b/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) +@deftypefun {int} {gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) @var{key}: the structure that contains the OpenPGP public key. @var{keyid}: the selected keyid diff --git a/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id.short b/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id.short index e7d363e..347b980 100644 --- a/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id.short +++ b/doc/functions/gnutls_openpgp_privkey_set_preferred_key_id.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) +@item @var{int} @ref{gnutls_openpgp_privkey_set_preferred_key_id} (gnutls_openpgp_privkey_t @var{key}, const gnutls_openpgp_keyid_t @var{keyid}) diff --git a/doc/functions/gnutls_packet_deinit b/doc/functions/gnutls_packet_deinit new file mode 100644 index 0000000..bde7f18 --- /dev/null +++ b/doc/functions/gnutls_packet_deinit @@ -0,0 +1,12 @@ + + + + +@deftypefun {void} {gnutls_packet_deinit} (gnutls_packet_t @var{packet}) +@var{packet}: is a pointer to a @code{gnutls_packet_st} structure. + +This function will deinitialize all data associated with +the received packet. + +@strong{Since:} 3.3.5 +@end deftypefun diff --git a/doc/functions/gnutls_packet_deinit.short b/doc/functions/gnutls_packet_deinit.short new file mode 100644 index 0000000..9cdee63 --- /dev/null +++ b/doc/functions/gnutls_packet_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_packet_deinit} (gnutls_packet_t @var{packet}) diff --git a/doc/functions/gnutls_packet_get b/doc/functions/gnutls_packet_get new file mode 100644 index 0000000..6b7cf63 --- /dev/null +++ b/doc/functions/gnutls_packet_get @@ -0,0 +1,16 @@ + + + + +@deftypefun {void} {gnutls_packet_get} (gnutls_packet_t @var{packet}, gnutls_datum_t * @var{data}, unsigned char * @var{sequence}) +@var{packet}: is a @code{gnutls_packet_t} structure. + +@var{data}: will contain the data present in the @code{packet} structure (may be @code{NULL} ) + +@var{sequence}: the 8-bytes of the packet sequence number (may be @code{NULL} ) + +This function returns the data and sequence number associated with +the received packet. + +@strong{Since:} 3.3.5 +@end deftypefun diff --git a/doc/functions/gnutls_packet_get.short b/doc/functions/gnutls_packet_get.short new file mode 100644 index 0000000..97d6042 --- /dev/null +++ b/doc/functions/gnutls_packet_get.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_packet_get} (gnutls_packet_t @var{packet}, gnutls_datum_t * @var{data}, unsigned char * @var{sequence}) diff --git a/doc/functions/gnutls_pcert_import_openpgp b/doc/functions/gnutls_pcert_import_openpgp index 656c9ac..5c475fc 100644 --- a/doc/functions/gnutls_pcert_import_openpgp +++ b/doc/functions/gnutls_pcert_import_openpgp @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pcert_import_openpgp} (gnutls_pcert_st* @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_openpgp} (gnutls_pcert_st * @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{crt}: The raw certificate to be imported diff --git a/doc/functions/gnutls_pcert_import_openpgp.short b/doc/functions/gnutls_pcert_import_openpgp.short index 0e86b3c..45ed274 100644 --- a/doc/functions/gnutls_pcert_import_openpgp.short +++ b/doc/functions/gnutls_pcert_import_openpgp.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pcert_import_openpgp} (gnutls_pcert_st* @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pcert_import_openpgp} (gnutls_pcert_st * @var{pcert}, gnutls_openpgp_crt_t @var{crt}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pcert_import_openpgp_raw b/doc/functions/gnutls_pcert_import_openpgp_raw index 4f718b6..8e18db3 100644 --- a/doc/functions/gnutls_pcert_import_openpgp_raw +++ b/doc/functions/gnutls_pcert_import_openpgp_raw @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{cert}: The raw certificate to be imported diff --git a/doc/functions/gnutls_pcert_import_openpgp_raw.short b/doc/functions/gnutls_pcert_import_openpgp_raw.short index e42a1c8..8dd127f 100644 --- a/doc/functions/gnutls_pcert_import_openpgp_raw.short +++ b/doc/functions/gnutls_pcert_import_openpgp_raw.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pcert_import_openpgp_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_openpgp_crt_fmt_t @var{format}, gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pcert_import_x509 b/doc/functions/gnutls_pcert_import_x509 index e82fb8f..50f1dc5 100644 --- a/doc/functions/gnutls_pcert_import_x509 +++ b/doc/functions/gnutls_pcert_import_x509 @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pcert_import_x509} (gnutls_pcert_st* @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_x509} (gnutls_pcert_st * @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{crt}: The raw certificate to be imported diff --git a/doc/functions/gnutls_pcert_import_x509.short b/doc/functions/gnutls_pcert_import_x509.short index 0889fbb..91fc8c6 100644 --- a/doc/functions/gnutls_pcert_import_x509.short +++ b/doc/functions/gnutls_pcert_import_x509.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pcert_import_x509} (gnutls_pcert_st* @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pcert_import_x509} (gnutls_pcert_st * @var{pcert}, gnutls_x509_crt_t @var{crt}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pcert_import_x509_raw b/doc/functions/gnutls_pcert_import_x509_raw index 8f39540..ccce2c6 100644 --- a/doc/functions/gnutls_pcert_import_x509_raw +++ b/doc/functions/gnutls_pcert_import_x509_raw @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) @var{pcert}: The pcert structure @var{cert}: The raw certificate to be imported diff --git a/doc/functions/gnutls_pcert_import_x509_raw.short b/doc/functions/gnutls_pcert_import_x509_raw.short index 799559b..af0123f 100644 --- a/doc/functions/gnutls_pcert_import_x509_raw.short +++ b/doc/functions/gnutls_pcert_import_x509_raw.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t* @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pcert_import_x509_raw} (gnutls_pcert_st * @var{pcert}, const gnutls_datum_t * @var{cert}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_add_provider b/doc/functions/gnutls_pkcs11_add_provider index d4e80ef..1d02aa4 100644 --- a/doc/functions/gnutls_pkcs11_add_provider +++ b/doc/functions/gnutls_pkcs11_add_provider @@ -10,6 +10,11 @@ This function will load and add a PKCS 11 module to the module list used in gnutls. After this function is called the module will be used for PKCS 11 operations. +When loading a module to be used for certificate verification, +use the string 'trusted' as @code{params} . + +Note that this function is not thread safe. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_pkcs11_crt_is_known b/doc/functions/gnutls_pkcs11_crt_is_known new file mode 100644 index 0000000..1a9455b --- /dev/null +++ b/doc/functions/gnutls_pkcs11_crt_is_known @@ -0,0 +1,29 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_crt_is_known} (const char * @var{url}, gnutls_x509_crt_t @var{cert}, unsigned int @var{flags}) +@var{url}: A PKCS 11 url identifying a token + +@var{cert}: is the certificate to find issuer for + +@var{flags}: Use zero or flags from @code{GNUTLS_PKCS11_OBJ_FLAG} . + +This function will check whether the provided certificate is stored +in the specified token. This is useful in combination with +@code{GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_TRUSTED} or +@code{GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED} , +to check whether a CA is present or a certificate is blacklisted in +a trust PKCS @code{11} module. + +This function can be used with a @code{url} of "pkcs11:", and in that case all modules +will be searched. To restrict the modules to the marked as trusted in p11-kit +use the @code{GNUTLS_PKCS11_OBJ_FLAG_PRESENT_IN_TRUSTED_MODULE} flag. + +Note that the flag @code{GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_DISTRUSTED} is +specific to p11-kit trust modules. + +@strong{Returns:} If the certificate exists non-zero is returned, otherwise zero. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_crt_is_known.short b/doc/functions/gnutls_pkcs11_crt_is_known.short new file mode 100644 index 0000000..0c9ec29 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_crt_is_known.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_crt_is_known} (const char * @var{url}, gnutls_x509_crt_t @var{cert}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_deinit b/doc/functions/gnutls_pkcs11_deinit index 4a927a7..f231256 100644 --- a/doc/functions/gnutls_pkcs11_deinit +++ b/doc/functions/gnutls_pkcs11_deinit @@ -5,6 +5,8 @@ @deftypefun {void} {gnutls_pkcs11_deinit} ( @var{void}) This function will deinitialize the PKCS 11 subsystem in gnutls. +This function is only needed if you need to deinitialize the +subsystem without calling @code{gnutls_global_deinit()} . @strong{Since:} 2.12.0 @end deftypefun diff --git a/doc/functions/gnutls_pkcs11_get_pin_function b/doc/functions/gnutls_pkcs11_get_pin_function new file mode 100644 index 0000000..0e292b7 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_get_pin_function @@ -0,0 +1,14 @@ + + + + +@deftypefun {gnutls_pin_callback_t} {gnutls_pkcs11_get_pin_function} (void ** @var{userdata}) +@var{userdata}: data to be supplied to callback + +This function will return the callback function set using +@code{gnutls_pkcs11_set_pin_function()} . + +@strong{Returns:} The function set or NULL otherwise. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_get_pin_function.short b/doc/functions/gnutls_pkcs11_get_pin_function.short new file mode 100644 index 0000000..1aa61fe --- /dev/null +++ b/doc/functions/gnutls_pkcs11_get_pin_function.short @@ -0,0 +1 @@ +@item @var{gnutls_pin_callback_t} @ref{gnutls_pkcs11_get_pin_function} (void ** @var{userdata}) diff --git a/doc/functions/gnutls_pkcs11_get_raw_issuer b/doc/functions/gnutls_pkcs11_get_raw_issuer new file mode 100644 index 0000000..112d074 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_get_raw_issuer @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_get_raw_issuer} (const char * @var{url}, gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{issuer}, gnutls_x509_crt_fmt_t @var{fmt}, unsigned int @var{flags}) +@var{url}: A PKCS 11 url identifying a token + +@var{cert}: is the certificate to find issuer for + +@var{issuer}: Will hold the issuer if any in an allocated buffer. + +@var{fmt}: The format of the exported issuer. + +@var{flags}: Use zero or flags from @code{GNUTLS_PKCS11_OBJ_FLAG} . + +This function will return the issuer of a given certificate, if it +is stored in the token. By default only marked as trusted issuers +are retuned. If any issuer should be returned specify +@code{GNUTLS_PKCS11_OBJ_FLAG_RETRIEVE_ANY} in @code{flags} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.2.7 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_get_raw_issuer.short b/doc/functions/gnutls_pkcs11_get_raw_issuer.short new file mode 100644 index 0000000..8c6eadd --- /dev/null +++ b/doc/functions/gnutls_pkcs11_get_raw_issuer.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_get_raw_issuer} (const char * @var{url}, gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{issuer}, gnutls_x509_crt_fmt_t @var{fmt}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_init b/doc/functions/gnutls_pkcs11_init index a1cfa22..699658a 100644 --- a/doc/functions/gnutls_pkcs11_init +++ b/doc/functions/gnutls_pkcs11_init @@ -3,7 +3,7 @@ @deftypefun {int} {gnutls_pkcs11_init} (unsigned int @var{flags}, const char * @var{deprecated_config_file}) -@var{flags}: @code{GNUTLS_PKCS11_FLAG_MANUAL} or @code{GNUTLS_PKCS11_FLAG_AUTO} +@var{flags}: An ORed sequence of @code{GNUTLS_PKCS11_FLAG_} * @var{deprecated_config_file}: either NULL or the location of a deprecated configuration file @@ -14,8 +14,9 @@ you to independently load PKCS 11 modules using @code{gnutls_pkcs11_add_provider if @code{GNUTLS_PKCS11_FLAG_MANUAL} is specified. Normally you don't need to call this function since it is being called -by @code{gnutls_global_init()} using the @code{GNUTLS_PKCS11_FLAG_AUTO} . If other option -is required then it must be called before it. +when the first PKCS 11 operation is requested using the @code{GNUTLS_PKCS11_FLAG_AUTO} +flag. If another flags are required then it must be called independently +prior to any PKCS 11 operation. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_pkcs11_obj_export b/doc/functions/gnutls_pkcs11_obj_export index 0b651c6..2be8da1 100644 --- a/doc/functions/gnutls_pkcs11_obj_export +++ b/doc/functions/gnutls_pkcs11_obj_export @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_pkcs11_obj_export} (gnutls_pkcs11_obj_t @var{obj}, void * @var{output_data}, size_t * @var{output_data_size}) @var{obj}: Holds the object -@var{output_data}: will contain a certificate PEM or DER encoded +@var{output_data}: will contain the object data @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) @@ -18,9 +18,6 @@ If the buffer provided is not long enough to hold the output, then *output_data_size is updated and GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. -If the structure is PEM encoded, it will have a header -of "BEGIN CERTIFICATE". - @strong{Returns:} In case of failure a negative error code will be returned, and @code{GNUTLS_E_SUCCESS} (0) on success. diff --git a/doc/functions/gnutls_pkcs11_obj_export2 b/doc/functions/gnutls_pkcs11_obj_export2 new file mode 100644 index 0000000..62536f1 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_export2 @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_obj_export2} (gnutls_pkcs11_obj_t @var{obj}, gnutls_datum_t * @var{out}) +@var{obj}: Holds the object + +@var{out}: will contain the object data + +This function will export the PKCS11 object data. It is normal for +data to be inaccesible and in that case @code{GNUTLS_E_INVALID_REQUEST} +will be returned. + +The output buffer is allocated using @code{gnutls_malloc()} . + +@strong{Returns:} In case of failure a negative error code will be +returned, and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_obj_export2.short b/doc/functions/gnutls_pkcs11_obj_export2.short new file mode 100644 index 0000000..8dc0b5e --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_obj_export2} (gnutls_pkcs11_obj_t @var{obj}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_pkcs11_obj_export3 b/doc/functions/gnutls_pkcs11_obj_export3 new file mode 100644 index 0000000..7ffc5b5 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_export3 @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_obj_export3} (gnutls_pkcs11_obj_t @var{obj}, gnutls_x509_crt_fmt_t @var{fmt}, gnutls_datum_t * @var{out}) +@var{obj}: Holds the object + +@var{fmt}: The format of the exported data + +@var{out}: will contain the object data + +This function will export the PKCS11 object data. It is normal for +data to be inaccesible and in that case @code{GNUTLS_E_INVALID_REQUEST} +will be returned. + +The output buffer is allocated using @code{gnutls_malloc()} . + +@strong{Returns:} In case of failure a negative error code will be +returned, and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.2.7 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_obj_export3.short b/doc/functions/gnutls_pkcs11_obj_export3.short new file mode 100644 index 0000000..e60a2d7 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_export3.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_obj_export3} (gnutls_pkcs11_obj_t @var{obj}, gnutls_x509_crt_fmt_t @var{fmt}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_pkcs11_obj_import_url b/doc/functions/gnutls_pkcs11_obj_import_url index 78e2c20..0e58938 100644 --- a/doc/functions/gnutls_pkcs11_obj_import_url +++ b/doc/functions/gnutls_pkcs11_obj_import_url @@ -2,15 +2,15 @@ -@deftypefun {int} {gnutls_pkcs11_obj_import_url} (gnutls_pkcs11_obj_t @var{cert}, const char * @var{url}, unsigned int @var{flags}) -@var{cert}: The structure to store the parsed certificate +@deftypefun {int} {gnutls_pkcs11_obj_import_url} (gnutls_pkcs11_obj_t @var{obj}, const char * @var{url}, unsigned int @var{flags}) +@var{obj}: The structure to store the object @var{url}: a PKCS 11 url identifying the key @var{flags}: One of GNUTLS_PKCS11_OBJ_* flags -This function will "import" a PKCS 11 URL identifying a certificate -key to the @code{gnutls_pkcs11_obj_t} structure. This does not involve any +This function will "import" a PKCS 11 URL identifying an object (e.g. certificate) +to the @code{gnutls_pkcs11_obj_t} structure. This does not involve any parsing (such as X.509 or OpenPGP) since the @code{gnutls_pkcs11_obj_t} is format agnostic. Only data are transferred. diff --git a/doc/functions/gnutls_pkcs11_obj_import_url.short b/doc/functions/gnutls_pkcs11_obj_import_url.short index 9e5ab62..5487993 100644 --- a/doc/functions/gnutls_pkcs11_obj_import_url.short +++ b/doc/functions/gnutls_pkcs11_obj_import_url.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pkcs11_obj_import_url} (gnutls_pkcs11_obj_t @var{cert}, const char * @var{url}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pkcs11_obj_import_url} (gnutls_pkcs11_obj_t @var{obj}, const char * @var{url}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_obj_list_import_url2 b/doc/functions/gnutls_pkcs11_obj_list_import_url2 new file mode 100644 index 0000000..5d15e13 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_list_import_url2 @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_obj_list_import_url2} (gnutls_pkcs11_obj_t ** @var{p_list}, unsigned int * @var{n_list}, const char * @var{url}, gnutls_pkcs11_obj_attr_t @var{attrs}, unsigned int @var{flags}) +@var{p_list}: An uninitialized object list (may be NULL) + +@var{n_list}: It will contain the size of the list. + +@var{url}: A PKCS 11 url identifying a set of objects + +@var{attrs}: Attributes of type @code{gnutls_pkcs11_obj_attr_t} that can be used to limit output + +@var{flags}: One of GNUTLS_PKCS11_OBJ_* flags + +This function will initialize and set values to an object list +by using all objects identified by the PKCS 11 URL. The output +is stored in @code{p_list} , which will be initialized. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_obj_list_import_url2.short b/doc/functions/gnutls_pkcs11_obj_list_import_url2.short new file mode 100644 index 0000000..6ec2579 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_list_import_url2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_obj_list_import_url2} (gnutls_pkcs11_obj_t ** @var{p_list}, unsigned int * @var{n_list}, const char * @var{url}, gnutls_pkcs11_obj_attr_t @var{attrs}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_obj_set_pin_function b/doc/functions/gnutls_pkcs11_obj_set_pin_function new file mode 100644 index 0000000..dc9c91a --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_set_pin_function @@ -0,0 +1,17 @@ + + + + +@deftypefun {void} {gnutls_pkcs11_obj_set_pin_function} (gnutls_pkcs11_obj_t @var{obj}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{obj}: The object structure + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides the global +set using @code{gnutls_pkcs11_set_pin_function()} . + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_obj_set_pin_function.short b/doc/functions/gnutls_pkcs11_obj_set_pin_function.short new file mode 100644 index 0000000..c605a1c --- /dev/null +++ b/doc/functions/gnutls_pkcs11_obj_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_pkcs11_obj_set_pin_function} (gnutls_pkcs11_obj_t @var{obj}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_pkcs11_privkey_generate b/doc/functions/gnutls_pkcs11_privkey_generate index 045f7e2..56d6143 100644 --- a/doc/functions/gnutls_pkcs11_privkey_generate +++ b/doc/functions/gnutls_pkcs11_privkey_generate @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pkcs11_privkey_generate} (const char* @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char* @var{label}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_pkcs11_privkey_generate} (const char * @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{label}, unsigned int @var{flags}) @var{url}: a token URL @var{pk}: the public key algorithm @@ -14,7 +14,7 @@ @var{flags}: should be zero This function will generate a private key in the specified -by the @code{url} token. The pivate key will be generate within +by the @code{url} token. The private key will be generate within the token and will not be exportable. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a diff --git a/doc/functions/gnutls_pkcs11_privkey_generate.short b/doc/functions/gnutls_pkcs11_privkey_generate.short index 0a9fc60..0c3f08e 100644 --- a/doc/functions/gnutls_pkcs11_privkey_generate.short +++ b/doc/functions/gnutls_pkcs11_privkey_generate.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pkcs11_privkey_generate} (const char* @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char* @var{label}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_pkcs11_privkey_generate} (const char * @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{label}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_privkey_generate2 b/doc/functions/gnutls_pkcs11_privkey_generate2 new file mode 100644 index 0000000..e95bc2e --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_generate2 @@ -0,0 +1,30 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_privkey_generate2} (const char * @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{label}, gnutls_x509_crt_fmt_t @var{fmt}, gnutls_datum_t * @var{pubkey}, unsigned int @var{flags}) +@var{url}: a token URL + +@var{pk}: the public key algorithm + +@var{bits}: the security bits + +@var{label}: a label + +@var{fmt}: the format of output params. PEM or DER. + +@var{pubkey}: will hold the public key (may be @code{NULL} ) + +@var{flags}: should be zero + +This function will generate a private key in the specified +by the @code{url} token. The private key will be generate within +the token and will not be exportable. This function will +store the DER-encoded public key in the SubjectPublicKeyInfo format +in @code{pubkey} . The @code{pubkey} should be deinitialized using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_privkey_generate2.short b/doc/functions/gnutls_pkcs11_privkey_generate2.short new file mode 100644 index 0000000..93ed6f2 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_generate2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_privkey_generate2} (const char * @var{url}, gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{label}, gnutls_x509_crt_fmt_t @var{fmt}, gnutls_datum_t * @var{pubkey}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs11_privkey_set_pin_function b/doc/functions/gnutls_pkcs11_privkey_set_pin_function new file mode 100644 index 0000000..9105fb4 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_set_pin_function @@ -0,0 +1,17 @@ + + + + +@deftypefun {void} {gnutls_pkcs11_privkey_set_pin_function} (gnutls_pkcs11_privkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{key}: The private key + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides the global +set using @code{gnutls_pkcs11_set_pin_function()} . + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_privkey_set_pin_function.short b/doc/functions/gnutls_pkcs11_privkey_set_pin_function.short new file mode 100644 index 0000000..9b36382 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_pkcs11_privkey_set_pin_function} (gnutls_pkcs11_privkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_pkcs11_privkey_status b/doc/functions/gnutls_pkcs11_privkey_status new file mode 100644 index 0000000..b74f644 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_status @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_privkey_status} (gnutls_pkcs11_privkey_t @var{key}) +@var{key}: Holds the key + +Checks the status of the private key token. + +@strong{Returns:} this function will return non-zero if the token +holding the private key is still available (inserted), and zero otherwise. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_privkey_status.short b/doc/functions/gnutls_pkcs11_privkey_status.short new file mode 100644 index 0000000..e6e46d0 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_privkey_status.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_privkey_status} (gnutls_pkcs11_privkey_t @var{key}) diff --git a/doc/functions/gnutls_pkcs11_reinit b/doc/functions/gnutls_pkcs11_reinit index eadef96..d60a5f7 100644 --- a/doc/functions/gnutls_pkcs11_reinit +++ b/doc/functions/gnutls_pkcs11_reinit @@ -8,6 +8,9 @@ This function will reinitialize the PKCS 11 subsystem in gnutls. This is required by PKCS 11 when an application uses @code{fork()} . The reinitialization function must be called on the child. +Note that since GnuTLS 3.3.0, the reinitialization of the PKCS @code{11} +subsystem occurs automatically after fork. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_pkcs11_set_pin_function b/doc/functions/gnutls_pkcs11_set_pin_function index 77f65a5..22d8802 100644 --- a/doc/functions/gnutls_pkcs11_set_pin_function +++ b/doc/functions/gnutls_pkcs11_set_pin_function @@ -2,14 +2,14 @@ -@deftypefun {void} {gnutls_pkcs11_set_pin_function} (gnutls_pkcs11_pin_callback_t @var{fn}, void * @var{userdata}) -@var{fn}: The PIN callback, a @code{gnutls_pkcs11_pin_callback_t()} function. +@deftypefun {void} {gnutls_pkcs11_set_pin_function} (gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{fn}: The PIN callback, a @code{gnutls_pin_callback_t()} function. @var{userdata}: data to be supplied to callback This function will set a callback function to be used when a PIN is required for PKCS 11 operations. See -@code{gnutls_pkcs11_pin_callback_t()} on how the callback should behave. +@code{gnutls_pin_callback_t()} on how the callback should behave. @strong{Since:} 2.12.0 @end deftypefun diff --git a/doc/functions/gnutls_pkcs11_set_pin_function.short b/doc/functions/gnutls_pkcs11_set_pin_function.short index 9bdadf0..ef9801f 100644 --- a/doc/functions/gnutls_pkcs11_set_pin_function.short +++ b/doc/functions/gnutls_pkcs11_set_pin_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_pkcs11_set_pin_function} (gnutls_pkcs11_pin_callback_t @var{fn}, void * @var{userdata}) +@item @var{void} @ref{gnutls_pkcs11_set_pin_function} (gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_pkcs11_token_get_flags b/doc/functions/gnutls_pkcs11_token_get_flags index 1af2b22..9778d58 100644 --- a/doc/functions/gnutls_pkcs11_token_get_flags +++ b/doc/functions/gnutls_pkcs11_token_get_flags @@ -8,7 +8,8 @@ @var{flags}: The output flags (GNUTLS_PKCS11_TOKEN_*) This function will return information about the PKCS 11 token flags. -The flags from the @code{gnutls_pkcs11_token_info_t} enumeration. + +The supported flags are: @code{GNUTLS_PKCS11_TOKEN_HW} and @code{GNUTLS_PKCS11_TOKEN_TRUSTED} . @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success or a negative error code on error. diff --git a/doc/functions/gnutls_pkcs11_token_get_random b/doc/functions/gnutls_pkcs11_token_get_random new file mode 100644 index 0000000..5307b16 --- /dev/null +++ b/doc/functions/gnutls_pkcs11_token_get_random @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_pkcs11_token_get_random} (const char * @var{token_url}, void * @var{rnddata}, size_t @var{len}) +@var{token_url}: A PKCS @code{11} URL specifying a token + +@var{rnddata}: A pointer to the memory area to be filled with random data + +@var{len}: The number of bytes of randomness to request + +This function will get random data from the given token. +It will store rnddata and fill the memory pointed to by rnddata with +len random bytes from the token. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_pkcs11_token_get_random.short b/doc/functions/gnutls_pkcs11_token_get_random.short new file mode 100644 index 0000000..bb049fd --- /dev/null +++ b/doc/functions/gnutls_pkcs11_token_get_random.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs11_token_get_random} (const char * @var{token_url}, void * @var{rnddata}, size_t @var{len}) diff --git a/doc/functions/gnutls_pkcs11_token_set_pin b/doc/functions/gnutls_pkcs11_token_set_pin index 220532d..29c9119 100644 --- a/doc/functions/gnutls_pkcs11_token_set_pin +++ b/doc/functions/gnutls_pkcs11_token_set_pin @@ -9,7 +9,7 @@ @var{newpin}: new user's PIN -@var{flags}: one of @code{gnutls_pkcs11_pin_flag_t} . +@var{flags}: one of @code{gnutls_pin_flag_t} . This function will modify or set a user's PIN for the given token. If it is called to set a user pin for first time the oldpin must diff --git a/doc/functions/gnutls_pkcs12_export2 b/doc/functions/gnutls_pkcs12_export2 new file mode 100644 index 0000000..ae84978 --- /dev/null +++ b/doc/functions/gnutls_pkcs12_export2 @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_pkcs12_export2} (gnutls_pkcs12_t @var{pkcs12}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{pkcs12}: Holds the pkcs12 structure + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a structure PEM or DER encoded + +This function will export the pkcs12 structure to DER or PEM format. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN PKCS12". + +@strong{Returns:} In case of failure a negative error code will be +returned, and 0 on success. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs12_export2.short b/doc/functions/gnutls_pkcs12_export2.short new file mode 100644 index 0000000..e452b8a --- /dev/null +++ b/doc/functions/gnutls_pkcs12_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs12_export2} (gnutls_pkcs12_t @var{pkcs12}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_pkcs12_simple_parse b/doc/functions/gnutls_pkcs12_simple_parse new file mode 100644 index 0000000..c673098 --- /dev/null +++ b/doc/functions/gnutls_pkcs12_simple_parse @@ -0,0 +1,60 @@ + + + + +@deftypefun {int} {gnutls_pkcs12_simple_parse} (gnutls_pkcs12_t @var{p12}, const char * @var{password}, gnutls_x509_privkey_t * @var{key}, gnutls_x509_crt_t ** @var{chain}, unsigned int * @var{chain_len}, gnutls_x509_crt_t ** @var{extra_certs}, unsigned int * @var{extra_certs_len}, gnutls_x509_crl_t * @var{crl}, unsigned int @var{flags}) +@var{p12}: the PKCS12 blob. + +@var{password}: optional password used to decrypt PKCS12 blob, bags and keys. + +@var{key}: a structure to store the parsed private key. + +@var{chain}: the corresponding to key certificate chain (may be @code{NULL} ) + +@var{chain_len}: will be updated with the number of additional (may be @code{NULL} ) + +@var{extra_certs}: optional pointer to receive an array of additional +certificates found in the PKCS12 blob (may be @code{NULL} ). + +@var{extra_certs_len}: will be updated with the number of additional +certs (may be @code{NULL} ). + +@var{crl}: an optional structure to store the parsed CRL (may be @code{NULL} ). + +@var{flags}: should be zero or one of GNUTLS_PKCS12_SP_* + +This function parses a PKCS12 blob in @code{p12blob} and extracts the +private key, the corresponding certificate chain, and any additional +certificates and a CRL. + +The @code{extra_certs_ret} and @code{extra_certs_len} parameters are optional +and both may be set to @code{NULL} . If either is non-@code{NULL} , then both must +be set. + +Encrypted PKCS12 bags and PKCS8 private keys are supported. However, +only password based security, and the same password for all +operations, are supported. + +A PKCS12 file may contain many keys and/or certificates, and there +is no way to identify which key/certificate pair you want. You +should make sure the PKCS12 file only contain one key/certificate +pair and/or one CRL. + +It is believed that the limitations of this function are acceptable +for common usage, and that any more flexibility would introduce +complexity that would make it harder to use this functionality at +all. + +If the provided structure has encrypted fields but no password +is provided then this function returns @code{GNUTLS_E_DECRYPTION_FAILED} . + +Note that normally the chain constructed does not include self signed +certificates, to comply with TLS' requirements. If, however, the flag +@code{GNUTLS_PKCS12_SP_INCLUDE_SELF_SIGNED} is specified then +self signed certificates will be included in the chain. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs12_simple_parse.short b/doc/functions/gnutls_pkcs12_simple_parse.short new file mode 100644 index 0000000..ec19f98 --- /dev/null +++ b/doc/functions/gnutls_pkcs12_simple_parse.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs12_simple_parse} (gnutls_pkcs12_t @var{p12}, const char * @var{password}, gnutls_x509_privkey_t * @var{key}, gnutls_x509_crt_t ** @var{chain}, unsigned int * @var{chain_len}, gnutls_x509_crt_t ** @var{extra_certs}, unsigned int * @var{extra_certs_len}, gnutls_x509_crl_t * @var{crl}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pkcs7_deinit b/doc/functions/gnutls_pkcs7_deinit index df249fe..1c3fdb4 100644 --- a/doc/functions/gnutls_pkcs7_deinit +++ b/doc/functions/gnutls_pkcs7_deinit @@ -1,6 +1,7 @@ + @deftypefun {void} {gnutls_pkcs7_deinit} (gnutls_pkcs7_t @var{pkcs7}) @var{pkcs7}: The structure to be initialized diff --git a/doc/functions/gnutls_pkcs7_export2 b/doc/functions/gnutls_pkcs7_export2 new file mode 100644 index 0000000..5e90a61 --- /dev/null +++ b/doc/functions/gnutls_pkcs7_export2 @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_pkcs7_export2} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{pkcs7}: Holds the pkcs7 structure + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a structure PEM or DER encoded + +This function will export the pkcs7 structure to DER or PEM format. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN PKCS7". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pkcs7_export2.short b/doc/functions/gnutls_pkcs7_export2.short new file mode 100644 index 0000000..b7c89bb --- /dev/null +++ b/doc/functions/gnutls_pkcs7_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pkcs7_export2} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_prf b/doc/functions/gnutls_prf index c996389..6cd1d0b 100644 --- a/doc/functions/gnutls_prf +++ b/doc/functions/gnutls_prf @@ -17,19 +17,20 @@ @var{outsize}: size of pre-allocated output buffer to hold the output. -@var{out}: pre-allocate buffer to hold the generated data. +@var{out}: pre-allocated buffer to hold the generated data. -Apply the TLS Pseudo-Random-Function (PRF) on the master secret -and the provided data, seeded with the client and server random fields. +Applies the TLS Pseudo-Random-Function (PRF) on the master secret +and the provided data, seeded with the client and server random fields, +as specified in RFC5705. -The @code{label} variable usually contain a string denoting the purpose -for the generated data. The @code{server_random_first} indicate whether +The @code{label} variable usually contains a string denoting the purpose +for the generated data. The @code{server_random_first} indicates whether the client random field or the server random field should be first -in the seed. Non-0 indicate that the server random field is first, +in the seed. Non-0 indicates that the server random field is first, 0 that the client random field is first. The @code{extra} variable can be used to add more data to the seed, after -the random variables. It can be used to tie make sure the +the random variables. It can be used to make sure the generated output is strongly connected to some additional data (e.g., a string used in user authentication). diff --git a/doc/functions/gnutls_prf_raw b/doc/functions/gnutls_prf_raw index fa2db30..1d2498d 100644 --- a/doc/functions/gnutls_prf_raw +++ b/doc/functions/gnutls_prf_raw @@ -15,22 +15,22 @@ @var{outsize}: size of pre-allocated output buffer to hold the output. -@var{out}: pre-allocate buffer to hold the generated data. +@var{out}: pre-allocated buffer to hold the generated data. Apply the TLS Pseudo-Random-Function (PRF) on the master secret and the provided data. -The @code{label} variable usually contain a string denoting the purpose -for the generated data. The @code{seed} usually contain data such as the +The @code{label} variable usually contains a string denoting the purpose +for the generated data. The @code{seed} usually contains data such as the client and server random, perhaps together with some additional data that is added to guarantee uniqueness of the output for a particular purpose. Because the output is not guaranteed to be unique for a particular -session unless @code{seed} include the client random and server random +session unless @code{seed} includes the client random and server random fields (the PRF would output the same data on another connection resumed from the first one), it is not recommended to use this -function directly. The @code{gnutls_prf()} function seed the PRF with the +function directly. The @code{gnutls_prf()} function seeds the PRF with the client and server random fields directly, and is recommended if you want to generate pseudo random data unique for each session. diff --git a/doc/functions/gnutls_priority_certificate_type_list b/doc/functions/gnutls_priority_certificate_type_list index 40dd756..168fae9 100644 --- a/doc/functions/gnutls_priority_certificate_type_list +++ b/doc/functions/gnutls_priority_certificate_type_list @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list diff --git a/doc/functions/gnutls_priority_certificate_type_list.short b/doc/functions/gnutls_priority_certificate_type_list.short index 18ebe45..7265fa4 100644 --- a/doc/functions/gnutls_priority_certificate_type_list.short +++ b/doc/functions/gnutls_priority_certificate_type_list.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@item @var{int} @ref{gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_cipher_list b/doc/functions/gnutls_priority_cipher_list new file mode 100644 index 0000000..952cf7c --- /dev/null +++ b/doc/functions/gnutls_priority_cipher_list @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_priority_cipher_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available ciphers in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun diff --git a/doc/functions/gnutls_priority_cipher_list.short b/doc/functions/gnutls_priority_cipher_list.short new file mode 100644 index 0000000..bddd254 --- /dev/null +++ b/doc/functions/gnutls_priority_cipher_list.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_priority_cipher_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_compression_list b/doc/functions/gnutls_priority_compression_list index 30199b4..58b5e15 100644 --- a/doc/functions/gnutls_priority_compression_list +++ b/doc/functions/gnutls_priority_compression_list @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list diff --git a/doc/functions/gnutls_priority_compression_list.short b/doc/functions/gnutls_priority_compression_list.short index 90de69a..787f124 100644 --- a/doc/functions/gnutls_priority_compression_list.short +++ b/doc/functions/gnutls_priority_compression_list.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@item @var{int} @ref{gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_ecc_curve_list b/doc/functions/gnutls_priority_ecc_curve_list index 822a942..6ced656 100644 --- a/doc/functions/gnutls_priority_ecc_curve_list +++ b/doc/functions/gnutls_priority_ecc_curve_list @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list diff --git a/doc/functions/gnutls_priority_ecc_curve_list.short b/doc/functions/gnutls_priority_ecc_curve_list.short index 73962d9..38ed169 100644 --- a/doc/functions/gnutls_priority_ecc_curve_list.short +++ b/doc/functions/gnutls_priority_ecc_curve_list.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@item @var{int} @ref{gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_init b/doc/functions/gnutls_priority_init index 6f5c362..afdfdce 100644 --- a/doc/functions/gnutls_priority_init +++ b/doc/functions/gnutls_priority_init @@ -17,14 +17,25 @@ separated list of the cipher priorities to enable. Some keywords are defined to provide quick access to common preferences. +Unless there is a special need, use the "NORMAL" keyword to +apply a reasonable security level, or "NORMAL:@code{COMPAT} " for compatibility. + "PERFORMANCE" means all the "secure" ciphersuites are enabled, limited to 128 bit ciphers and sorted by terms of speed performance. +"LEGACY" the NORMAL settings for GnuTLS 3.2.x or earlier. There is +no verification profile set, and the allowed DH primes are considered +weak today. + "NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are included as a fallback only. The ciphers are sorted by security margin. +"PFS" means all "secure" ciphersuites that support perfect forward secrecy. +The 256-bit ciphers are included as a fallback only. +The ciphers are sorted by security margin. + "SECURE128" means all "secure" ciphersuites of security level 128-bit or more. @@ -43,6 +54,13 @@ low-security 40 bit ciphers. "NONE" means nothing is enabled. This disables even protocols and compression methods. +" @code{KEYWORD} " The system administrator imposed settings. The provided keywords +will be expanded from a configuration-time provided file - default is: +/etc/gnutls/default-priorities. Any keywords that follow it, will +be appended to the expanded string. If there is no system string, +then the function will fail. The system file should be formatted +as "KEYWORD=VALUE", e.g., "SYSTEM=NORMAL:-ARCFOUR-128". + Special keywords are "!", "-" and "+". "!" or "-" appended with an algorithm will remove this algorithm. "+" appended with an algorithm will add this algorithm. @@ -55,14 +73,16 @@ information. "NORMAL:-ARCFOUR-128" means normal ciphers except for ARCFOUR-128. -"SECURE:-VERS-SSL3.0:+COMP-DEFLATE" means that only secure ciphers are +"SECURE128:-VERS-SSL3.0:+COMP-DEFLATE" means that only secure ciphers are enabled, SSL3.0 is disabled, and libz compression enabled. "NONE:+VERS-TLS-ALL:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1", "NONE:+VERS-TLS-ALL:+AES-128-CBC:+ECDHE-RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1:+CURVE-SECP256R1", -"NORMAL:@code{COMPAT} " is the most compatible mode. +"SECURE256:+SECURE128", + +Note that "NORMAL:@code{COMPAT} " is the most compatible mode. @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. diff --git a/doc/functions/gnutls_priority_kx_list b/doc/functions/gnutls_priority_kx_list new file mode 100644 index 0000000..027035f --- /dev/null +++ b/doc/functions/gnutls_priority_kx_list @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_priority_kx_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available key exchange methods in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun diff --git a/doc/functions/gnutls_priority_kx_list.short b/doc/functions/gnutls_priority_kx_list.short new file mode 100644 index 0000000..2f398e8 --- /dev/null +++ b/doc/functions/gnutls_priority_kx_list.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_priority_kx_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_mac_list b/doc/functions/gnutls_priority_mac_list new file mode 100644 index 0000000..078d432 --- /dev/null +++ b/doc/functions/gnutls_priority_mac_list @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_priority_mac_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available MAC algorithms in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun diff --git a/doc/functions/gnutls_priority_mac_list.short b/doc/functions/gnutls_priority_mac_list.short new file mode 100644 index 0000000..dc20832 --- /dev/null +++ b/doc/functions/gnutls_priority_mac_list.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_priority_mac_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_protocol_list b/doc/functions/gnutls_priority_protocol_list index be88483..a06f318 100644 --- a/doc/functions/gnutls_priority_protocol_list +++ b/doc/functions/gnutls_priority_protocol_list @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list diff --git a/doc/functions/gnutls_priority_protocol_list.short b/doc/functions/gnutls_priority_protocol_list.short index e7b9693..4d879cf 100644 --- a/doc/functions/gnutls_priority_protocol_list.short +++ b/doc/functions/gnutls_priority_protocol_list.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@item @var{int} @ref{gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_priority_set_direct b/doc/functions/gnutls_priority_set_direct index 467addc..426b8c1 100644 --- a/doc/functions/gnutls_priority_set_direct +++ b/doc/functions/gnutls_priority_set_direct @@ -14,6 +14,8 @@ macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the @code{gnutls_priority_init()} . +To simply use a reasonable default, consider using @code{gnutls_set_default_priority()} . + @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_priority_sign_list b/doc/functions/gnutls_priority_sign_list index 90e5a23..4cbe834 100644 --- a/doc/functions/gnutls_priority_sign_list +++ b/doc/functions/gnutls_priority_sign_list @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list diff --git a/doc/functions/gnutls_priority_sign_list.short b/doc/functions/gnutls_priority_sign_list.short index 0146e29..09207ee 100644 --- a/doc/functions/gnutls_priority_sign_list.short +++ b/doc/functions/gnutls_priority_sign_list.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@item @var{int} @ref{gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) diff --git a/doc/functions/gnutls_privkey_export_dsa_raw b/doc/functions/gnutls_privkey_export_dsa_raw new file mode 100644 index 0000000..031dcb3 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_dsa_raw @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_privkey_export_dsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) +@var{key}: Holds the public key + +@var{p}: will hold the p + +@var{q}: will hold the q + +@var{g}: will hold the g + +@var{y}: will hold the y + +@var{x}: will hold the x + +This function will export the DSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_export_dsa_raw.short b/doc/functions/gnutls_privkey_export_dsa_raw.short new file mode 100644 index 0000000..ea1e289 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_dsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_export_dsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{x}) diff --git a/doc/functions/gnutls_privkey_export_ecc_raw b/doc/functions/gnutls_privkey_export_ecc_raw new file mode 100644 index 0000000..e2d7ed9 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_ecc_raw @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_privkey_export_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{k}) +@var{key}: Holds the public key + +@var{curve}: will hold the curve + +@var{x}: will hold the x coordinate + +@var{y}: will hold the y coordinate + +@var{k}: will hold the private key + +This function will export the ECC private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_export_ecc_raw.short b/doc/functions/gnutls_privkey_export_ecc_raw.short new file mode 100644 index 0000000..1101888 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_ecc_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_export_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{k}) diff --git a/doc/functions/gnutls_privkey_export_rsa_raw b/doc/functions/gnutls_privkey_export_rsa_raw new file mode 100644 index 0000000..8a93116 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_rsa_raw @@ -0,0 +1,31 @@ + + + + +@deftypefun {int} {gnutls_privkey_export_rsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}, gnutls_datum_t * @var{d}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{u}, gnutls_datum_t * @var{e1}, gnutls_datum_t * @var{e2}) +@var{key}: Holds the certificate + +@var{m}: will hold the modulus + +@var{e}: will hold the public exponent + +@var{d}: will hold the private exponent + +@var{p}: will hold the first prime (p) + +@var{q}: will hold the second prime (q) + +@var{u}: will hold the coefficient + +@var{e1}: will hold e1 = d mod (p-1) + +@var{e2}: will hold e2 = d mod (q-1) + +This function will export the RSA private key's parameters found +in the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_export_rsa_raw.short b/doc/functions/gnutls_privkey_export_rsa_raw.short new file mode 100644 index 0000000..659a813 --- /dev/null +++ b/doc/functions/gnutls_privkey_export_rsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_export_rsa_raw} (gnutls_privkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}, gnutls_datum_t * @var{d}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{u}, gnutls_datum_t * @var{e1}, gnutls_datum_t * @var{e2}) diff --git a/doc/functions/gnutls_privkey_generate b/doc/functions/gnutls_privkey_generate new file mode 100644 index 0000000..2035a4c --- /dev/null +++ b/doc/functions/gnutls_privkey_generate @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_privkey_generate} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{algo}, unsigned int @var{bits}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{algo}: is one of the algorithms in @code{gnutls_pk_algorithm_t} . + +@var{bits}: the size of the modulus + +@var{flags}: unused for now. Must be 0. + +This function will generate a random private key. Note that this +function must be called on an empty private key. + +Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +@code{GNUTLS_CURVE_TO_BITS()} macro. + +Do not set the number of bits directly, use @code{gnutls_sec_param_to_pk_bits()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_generate.short b/doc/functions/gnutls_privkey_generate.short new file mode 100644 index 0000000..20520c9 --- /dev/null +++ b/doc/functions/gnutls_privkey_generate.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_generate} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{algo}, unsigned int @var{bits}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_dsa_raw b/doc/functions/gnutls_privkey_import_dsa_raw new file mode 100644 index 0000000..a137eeb --- /dev/null +++ b/doc/functions/gnutls_privkey_import_dsa_raw @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_dsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{g}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{x}) +@var{key}: The structure to store the parsed key + +@var{p}: holds the p + +@var{q}: holds the q + +@var{g}: holds the g + +@var{y}: holds the y + +@var{x}: holds the x + +This function will convert the given DSA raw parameters to the +native @code{gnutls_privkey_t} format. The output will be stored +in @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_dsa_raw.short b/doc/functions/gnutls_privkey_import_dsa_raw.short new file mode 100644 index 0000000..d14f63a --- /dev/null +++ b/doc/functions/gnutls_privkey_import_dsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_dsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{g}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{x}) diff --git a/doc/functions/gnutls_privkey_import_ecc_raw b/doc/functions/gnutls_privkey_import_ecc_raw new file mode 100644 index 0000000..bfa1f44 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_ecc_raw @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t @var{curve}, const gnutls_datum_t * @var{x}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{k}) +@var{key}: The structure to store the parsed key + +@var{curve}: holds the curve + +@var{x}: holds the x + +@var{y}: holds the y + +@var{k}: holds the k + +This function will convert the given elliptic curve parameters to the +native @code{gnutls_privkey_t} format. The output will be stored +in @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_ecc_raw.short b/doc/functions/gnutls_privkey_import_ecc_raw.short new file mode 100644 index 0000000..30aabbc --- /dev/null +++ b/doc/functions/gnutls_privkey_import_ecc_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_ecc_raw} (gnutls_privkey_t @var{key}, gnutls_ecc_curve_t @var{curve}, const gnutls_datum_t * @var{x}, const gnutls_datum_t * @var{y}, const gnutls_datum_t * @var{k}) diff --git a/doc/functions/gnutls_privkey_import_ext b/doc/functions/gnutls_privkey_import_ext index 8cbe0ab..2b1d351 100644 --- a/doc/functions/gnutls_privkey_import_ext +++ b/doc/functions/gnutls_privkey_import_ext @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void* @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) @var{pkey}: The private key @var{pk}: The public key algorithm @@ -19,6 +19,8 @@ This function will associate the given callbacks with the @code{gnutls_privkey_t} structure. At least one of the two callbacks must be non-null. +See also @code{gnutls_privkey_import_ext2()} . + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_privkey_import_ext.short b/doc/functions/gnutls_privkey_import_ext.short index de6eed8..1446b57 100644 --- a/doc/functions/gnutls_privkey_import_ext.short +++ b/doc/functions/gnutls_privkey_import_ext.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void* @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_privkey_import_ext} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_ext2 b/doc/functions/gnutls_privkey_import_ext2 new file mode 100644 index 0000000..9ad3816 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_ext2 @@ -0,0 +1,34 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_ext2} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, gnutls_privkey_deinit_func @var{deinit_func}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{pk}: The public key algorithm + +@var{userdata}: private data to be provided to the callbacks + +@var{sign_func}: callback for signature operations + +@var{decrypt_func}: callback for decryption operations + +@var{deinit_func}: a deinitialization function + +@var{flags}: Flags for the import + +This function will associate the given callbacks with the +@code{gnutls_privkey_t} structure. At least one of the two callbacks +must be non-null. If a deinitialization function is provided +then flags is assumed to contain @code{GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE} . + +Note that the signing function is supposed to "raw" sign data, i.e., +without any hashing or preprocessing. In case of RSA the DigestInfo +will be provided, and the signing function is expected to do the PKCS @code{1} +1.5 padding and the exponentiation. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_ext2.short b/doc/functions/gnutls_privkey_import_ext2.short new file mode 100644 index 0000000..59eee64 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_ext2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_ext2} (gnutls_privkey_t @var{pkey}, gnutls_pk_algorithm_t @var{pk}, void * @var{userdata}, gnutls_privkey_sign_func @var{sign_func}, gnutls_privkey_decrypt_func @var{decrypt_func}, gnutls_privkey_deinit_func @var{deinit_func}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_openpgp_raw b/doc/functions/gnutls_privkey_import_openpgp_raw new file mode 100644 index 0000000..e6d19e3 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_openpgp_raw @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_openpgp_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, const char * @var{password}) +@var{pkey}: The private key + +@var{data}: The private key data to be imported + +@var{format}: The format of the private key + +@var{keyid}: The key id to use (optional) + +@var{password}: A password (optional) + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_openpgp_raw.short b/doc/functions/gnutls_privkey_import_openpgp_raw.short new file mode 100644 index 0000000..f4ff4a1 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_openpgp_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_openpgp_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, const char * @var{password}) diff --git a/doc/functions/gnutls_privkey_import_pkcs11_url b/doc/functions/gnutls_privkey_import_pkcs11_url new file mode 100644 index 0000000..794d98a --- /dev/null +++ b/doc/functions/gnutls_privkey_import_pkcs11_url @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_pkcs11_url} (gnutls_privkey_t @var{key}, const char * @var{url}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{url}: A PKCS 11 url + +This function will import a PKCS 11 private key to a @code{gnutls_private_key_t} +structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_pkcs11_url.short b/doc/functions/gnutls_privkey_import_pkcs11_url.short new file mode 100644 index 0000000..a7f0ce2 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_pkcs11_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_pkcs11_url} (gnutls_privkey_t @var{key}, const char * @var{url}) diff --git a/doc/functions/gnutls_privkey_import_rsa_raw b/doc/functions/gnutls_privkey_import_rsa_raw new file mode 100644 index 0000000..0b9369b --- /dev/null +++ b/doc/functions/gnutls_privkey_import_rsa_raw @@ -0,0 +1,30 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_rsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}, const gnutls_datum_t * @var{d}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{u}, const gnutls_datum_t * @var{e1}, const gnutls_datum_t * @var{e2}) +@var{key}: The structure to store the parsed key + +@var{m}: holds the modulus + +@var{e}: holds the public exponent + +@var{d}: holds the private exponent + +@var{p}: holds the first prime (p) + +@var{q}: holds the second prime (q) + +@var{u}: holds the coefficient (optional) + +@var{e1}: holds e1 = d mod (p-1) (optional) + +@var{e2}: holds e2 = d mod (q-1) (optional) + +This function will convert the given RSA raw parameters to the +native @code{gnutls_privkey_t} format. The output will be stored in + @code{key} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_rsa_raw.short b/doc/functions/gnutls_privkey_import_rsa_raw.short new file mode 100644 index 0000000..67ef7b9 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_rsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_rsa_raw} (gnutls_privkey_t @var{key}, const gnutls_datum_t * @var{m}, const gnutls_datum_t * @var{e}, const gnutls_datum_t * @var{d}, const gnutls_datum_t * @var{p}, const gnutls_datum_t * @var{q}, const gnutls_datum_t * @var{u}, const gnutls_datum_t * @var{e1}, const gnutls_datum_t * @var{e2}) diff --git a/doc/functions/gnutls_privkey_import_tpm_raw b/doc/functions/gnutls_privkey_import_tpm_raw new file mode 100644 index 0000000..1f6e975 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_tpm_raw @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_tpm_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{fdata}: The TPM key to be imported + +@var{format}: The format of the private key + +@var{srk_password}: The password for the SRK key (optional) + +@var{key_password}: A password for the key (optional) + +@var{flags}: should be zero + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +With respect to passwords the same as in @code{gnutls_privkey_import_tpm_url()} apply. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_tpm_raw.short b/doc/functions/gnutls_privkey_import_tpm_raw.short new file mode 100644 index 0000000..99988e5 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_tpm_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_tpm_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_tpm_url b/doc/functions/gnutls_privkey_import_tpm_url new file mode 100644 index 0000000..b61bcc6 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_tpm_url @@ -0,0 +1,31 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_tpm_url} (gnutls_privkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{url}: The URL of the TPM key to be imported + +@var{srk_password}: The password for the SRK key (optional) + +@var{key_password}: A password for the key (optional) + +@var{flags}: One of the GNUTLS_PRIVKEY_* flags + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +Note that unless @code{GNUTLS_PRIVKEY_DISABLE_CALLBACKS} +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +@code{GNUTLS_E_TPM_SRK_PASSWORD_ERROR} is returned and if the key password +is wrong or not provided then @code{GNUTLS_E_TPM_KEY_PASSWORD_ERROR} +is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_tpm_url.short b/doc/functions/gnutls_privkey_import_tpm_url.short new file mode 100644 index 0000000..089da70 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_tpm_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_tpm_url} (gnutls_privkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, const char * @var{key_password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_url b/doc/functions/gnutls_privkey_import_url new file mode 100644 index 0000000..265a3ea --- /dev/null +++ b/doc/functions/gnutls_privkey_import_url @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_url} (gnutls_privkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) +@var{key}: A key of type @code{gnutls_privkey_t} + +@var{url}: A PKCS 11 url + +@var{flags}: should be zero + +This function will import a PKCS11 or TPM URL as a +private key. The supported URL types can be checked +using @code{gnutls_url_is_supported()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_url.short b/doc/functions/gnutls_privkey_import_url.short new file mode 100644 index 0000000..025437e --- /dev/null +++ b/doc/functions/gnutls_privkey_import_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_url} (gnutls_privkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_import_x509_raw b/doc/functions/gnutls_privkey_import_x509_raw new file mode 100644 index 0000000..642ce41 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_x509_raw @@ -0,0 +1,26 @@ + + + + +@deftypefun {int} {gnutls_privkey_import_x509_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@var{pkey}: The private key + +@var{data}: The private key data to be imported + +@var{format}: The format of the private key + +@var{password}: A password (optional) + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_import_x509_raw.short b/doc/functions/gnutls_privkey_import_x509_raw.short new file mode 100644 index 0000000..befba19 --- /dev/null +++ b/doc/functions/gnutls_privkey_import_x509_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_import_x509_raw} (gnutls_privkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_privkey_set_pin_function b/doc/functions/gnutls_privkey_set_pin_function new file mode 100644 index 0000000..7e61ac7 --- /dev/null +++ b/doc/functions/gnutls_privkey_set_pin_function @@ -0,0 +1,20 @@ + + + + +@deftypefun {void} {gnutls_privkey_set_pin_function} (gnutls_privkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{key}: A key of type @code{gnutls_privkey_t} + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_set_pin_function.short b/doc/functions/gnutls_privkey_set_pin_function.short new file mode 100644 index 0000000..6794639 --- /dev/null +++ b/doc/functions/gnutls_privkey_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_privkey_set_pin_function} (gnutls_privkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_privkey_sign_data b/doc/functions/gnutls_privkey_sign_data index f78cca5..429733a 100644 --- a/doc/functions/gnutls_privkey_sign_data +++ b/doc/functions/gnutls_privkey_sign_data @@ -7,7 +7,7 @@ @var{hash}: should be a digest algorithm -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_privkey_flags_t} @var{data}: holds the data to be signed @@ -18,7 +18,7 @@ supported by the private key. Signature algorithms are always used together with a hash functions. Different hash functions may be used for the RSA algorithm, but only the SHA family for the DSA keys. -Use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine +You may use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine the hash algorithm. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a diff --git a/doc/functions/gnutls_privkey_sign_hash b/doc/functions/gnutls_privkey_sign_hash index 91cb381..778d9ae 100644 --- a/doc/functions/gnutls_privkey_sign_hash +++ b/doc/functions/gnutls_privkey_sign_hash @@ -7,7 +7,7 @@ @var{hash_algo}: The hash algorithm used -@var{flags}: zero for now +@var{flags}: Zero or one of @code{gnutls_privkey_flags_t} @var{hash_data}: holds the data to be signed @@ -18,9 +18,12 @@ supported by the private key. Signature algorithms are always used together with a hash functions. Different hash functions may be used for the RSA algorithm, but only SHA-XXX for the DSA keys. -Use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine +You may use @code{gnutls_pubkey_get_preferred_hash_algorithm()} to determine the hash algorithm. +Note that if @code{GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA} flag is specified this function +will ignore @code{hash_algo} and perform a raw PKCS1 signature. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_privkey_sign_raw_data b/doc/functions/gnutls_privkey_sign_raw_data new file mode 100644 index 0000000..6c5c146 --- /dev/null +++ b/doc/functions/gnutls_privkey_sign_raw_data @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_privkey_sign_raw_data} (gnutls_privkey_t @var{key}, unsigned @var{flags}, const gnutls_datum_t * @var{data}, gnutls_datum_t * @var{signature}) +@var{key}: Holds the key + +@var{flags}: should be zero + +@var{data}: holds the data to be signed + +@var{signature}: will contain the signature allocate with @code{gnutls_malloc()} + +This function will sign the given data using a signature algorithm +supported by the private key. Note that this is a low-level function +and does not apply any preprocessing or hash on the signed data. +For example on an RSA key the input @code{data} should be of the DigestInfo +PKCS @code{1} 1.5 format. Use it only if you know what are you doing. + +Note this function is equivalent to using the @code{GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA} +flag with @code{gnutls_privkey_sign_hash()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_sign_raw_data.short b/doc/functions/gnutls_privkey_sign_raw_data.short new file mode 100644 index 0000000..95df411 --- /dev/null +++ b/doc/functions/gnutls_privkey_sign_raw_data.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_sign_raw_data} (gnutls_privkey_t @var{key}, unsigned @var{flags}, const gnutls_datum_t * @var{data}, gnutls_datum_t * @var{signature}) diff --git a/doc/functions/gnutls_privkey_status b/doc/functions/gnutls_privkey_status new file mode 100644 index 0000000..0195027 --- /dev/null +++ b/doc/functions/gnutls_privkey_status @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_privkey_status} (gnutls_privkey_t @var{key}) +@var{key}: Holds the key + +Checks the status of the private key token. This function +is an actual wrapper over @code{gnutls_pkcs11_privkey_status()} , and +if the private key is a PKCS @code{11} token it will check whether +it is inserted or not. + +@strong{Returns:} this function will return non-zero if the token +holding the private key is still available (inserted), and zero otherwise. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_status.short b/doc/functions/gnutls_privkey_status.short new file mode 100644 index 0000000..f1bc3ad --- /dev/null +++ b/doc/functions/gnutls_privkey_status.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_status} (gnutls_privkey_t @var{key}) diff --git a/doc/functions/gnutls_privkey_verify_params b/doc/functions/gnutls_privkey_verify_params new file mode 100644 index 0000000..21d6161 --- /dev/null +++ b/doc/functions/gnutls_privkey_verify_params @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {gnutls_privkey_verify_params} (gnutls_privkey_t @var{key}) +@var{key}: should contain a @code{gnutls_privkey_t} structure + +This function will verify the private key parameters. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_privkey_verify_params.short b/doc/functions/gnutls_privkey_verify_params.short new file mode 100644 index 0000000..6880e81 --- /dev/null +++ b/doc/functions/gnutls_privkey_verify_params.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_privkey_verify_params} (gnutls_privkey_t @var{key}) diff --git a/doc/functions/gnutls_psk_allocate_client_credentials b/doc/functions/gnutls_psk_allocate_client_credentials index 9c3f484..f4eaf23 100644 --- a/doc/functions/gnutls_psk_allocate_client_credentials +++ b/doc/functions/gnutls_psk_allocate_client_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this diff --git a/doc/functions/gnutls_psk_allocate_client_credentials.short b/doc/functions/gnutls_psk_allocate_client_credentials.short index 680c4f7..857f8b7 100644 --- a/doc/functions/gnutls_psk_allocate_client_credentials.short +++ b/doc/functions/gnutls_psk_allocate_client_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_psk_allocate_server_credentials b/doc/functions/gnutls_psk_allocate_server_credentials index f9b6975..851e58e 100644 --- a/doc/functions/gnutls_psk_allocate_server_credentials +++ b/doc/functions/gnutls_psk_allocate_server_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this diff --git a/doc/functions/gnutls_psk_allocate_server_credentials.short b/doc/functions/gnutls_psk_allocate_server_credentials.short index 7f8238c..9747027 100644 --- a/doc/functions/gnutls_psk_allocate_server_credentials.short +++ b/doc/functions/gnutls_psk_allocate_server_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_psk_set_client_credentials_function b/doc/functions/gnutls_psk_set_client_credentials_function index 54d026b..6e86495 100644 --- a/doc/functions/gnutls_psk_set_client_credentials_function +++ b/doc/functions/gnutls_psk_set_client_credentials_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_psk_server_credentials_t} structure. @var{func}: is the callback function diff --git a/doc/functions/gnutls_psk_set_client_credentials_function.short b/doc/functions/gnutls_psk_set_client_credentials_function.short index 50ff5fd..c5cf141 100644 --- a/doc/functions/gnutls_psk_set_client_credentials_function.short +++ b/doc/functions/gnutls_psk_set_client_credentials_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) +@item @var{void} @ref{gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) diff --git a/doc/functions/gnutls_psk_set_server_credentials_file b/doc/functions/gnutls_psk_set_server_credentials_file index 056ed86..11c86d2 100644 --- a/doc/functions/gnutls_psk_set_server_credentials_file +++ b/doc/functions/gnutls_psk_set_server_credentials_file @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) +@deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) @var{res}: is a @code{gnutls_psk_server_credentials_t} structure. @var{password_file}: is the PSK password file (passwd.psk) diff --git a/doc/functions/gnutls_psk_set_server_credentials_file.short b/doc/functions/gnutls_psk_set_server_credentials_file.short index 7b4d5fd..9b0f6cf 100644 --- a/doc/functions/gnutls_psk_set_server_credentials_file.short +++ b/doc/functions/gnutls_psk_set_server_credentials_file.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) +@item @var{int} @ref{gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) diff --git a/doc/functions/gnutls_psk_set_server_credentials_function b/doc/functions/gnutls_psk_set_server_credentials_function index 92f9d87..c422b39 100644 --- a/doc/functions/gnutls_psk_set_server_credentials_function +++ b/doc/functions/gnutls_psk_set_server_credentials_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) +@deftypefun {void} {gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_psk_server_credentials_t} structure. @var{func}: is the callback function diff --git a/doc/functions/gnutls_psk_set_server_credentials_function.short b/doc/functions/gnutls_psk_set_server_credentials_function.short index 4c86ddb..d448baf 100644 --- a/doc/functions/gnutls_psk_set_server_credentials_function.short +++ b/doc/functions/gnutls_psk_set_server_credentials_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) +@item @var{void} @ref{gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) diff --git a/doc/functions/gnutls_pubkey_export2 b/doc/functions/gnutls_pubkey_export2 new file mode 100644 index 0000000..71e4c91 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export2 @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_pubkey_export2} (gnutls_pubkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{key}: Holds the certificate + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a certificate PEM or DER encoded + +This function will export the public key to DER or PEM format. +The contents of the exported data is the SubjectPublicKeyInfo +X.509 structure. + +The output buffer will be allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE". + +@strong{Returns:} In case of failure a negative error code will be +returned, and 0 on success. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_export2.short b/doc/functions/gnutls_pubkey_export2.short new file mode 100644 index 0000000..05e54e4 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_export2} (gnutls_pubkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_pubkey_export_dsa_raw b/doc/functions/gnutls_pubkey_export_dsa_raw new file mode 100644 index 0000000..c9815c9 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_dsa_raw @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_pubkey_export_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) +@var{key}: Holds the public key + +@var{p}: will hold the p + +@var{q}: will hold the q + +@var{g}: will hold the g + +@var{y}: will hold the y + +This function will export the DSA public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_export_dsa_raw.short b/doc/functions/gnutls_pubkey_export_dsa_raw.short new file mode 100644 index 0000000..aa3118f --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_dsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_export_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) diff --git a/doc/functions/gnutls_pubkey_export_ecc_raw b/doc/functions/gnutls_pubkey_export_ecc_raw new file mode 100644 index 0000000..21208d3 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_ecc_raw @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {gnutls_pubkey_export_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) +@var{key}: Holds the public key + +@var{curve}: will hold the curve + +@var{x}: will hold x + +@var{y}: will hold y + +This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_export_ecc_raw.short b/doc/functions/gnutls_pubkey_export_ecc_raw.short new file mode 100644 index 0000000..3bdb574 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_ecc_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_export_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) diff --git a/doc/functions/gnutls_pubkey_export_ecc_x962 b/doc/functions/gnutls_pubkey_export_ecc_x962 new file mode 100644 index 0000000..140f592 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_ecc_x962 @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_pubkey_export_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{parameters}, gnutls_datum_t * @var{ecpoint}) +@var{key}: Holds the public key + +@var{parameters}: DER encoding of an ANSI X9.62 parameters + +@var{ecpoint}: DER encoding of ANSI X9.62 ECPoint + +This function will export the ECC public key's parameters found in +the given certificate. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_export_ecc_x962.short b/doc/functions/gnutls_pubkey_export_ecc_x962.short new file mode 100644 index 0000000..21539a9 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_ecc_x962.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_export_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{parameters}, gnutls_datum_t * @var{ecpoint}) diff --git a/doc/functions/gnutls_pubkey_export_rsa_raw b/doc/functions/gnutls_pubkey_export_rsa_raw new file mode 100644 index 0000000..3f55a97 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_rsa_raw @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_pubkey_export_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) +@var{key}: Holds the certificate + +@var{m}: will hold the modulus + +@var{e}: will hold the public exponent + +This function will export the RSA public key's parameters found in +the given structure. The new parameters will be allocated using +@code{gnutls_malloc()} and will be stored in the appropriate datum. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_export_rsa_raw.short b/doc/functions/gnutls_pubkey_export_rsa_raw.short new file mode 100644 index 0000000..418f201 --- /dev/null +++ b/doc/functions/gnutls_pubkey_export_rsa_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_export_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) diff --git a/doc/functions/gnutls_pubkey_get_key_id b/doc/functions/gnutls_pubkey_get_key_id index 4b8af23..a7c4c1e 100644 --- a/doc/functions/gnutls_pubkey_get_key_id +++ b/doc/functions/gnutls_pubkey_get_key_id @@ -12,7 +12,7 @@ @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will return a unique ID the depends on the public +This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given public key. diff --git a/doc/functions/gnutls_pubkey_get_pk_dsa_raw b/doc/functions/gnutls_pubkey_get_pk_dsa_raw deleted file mode 100644 index 71240a7..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_dsa_raw +++ /dev/null @@ -1,23 +0,0 @@ - - - - -@deftypefun {int} {gnutls_pubkey_get_pk_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) -@var{key}: Holds the public key - -@var{p}: will hold the p - -@var{q}: will hold the q - -@var{g}: will hold the g - -@var{y}: will hold the y - -This function will export the DSA public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 2.12.0 -@end deftypefun diff --git a/doc/functions/gnutls_pubkey_get_pk_dsa_raw.short b/doc/functions/gnutls_pubkey_get_pk_dsa_raw.short deleted file mode 100644 index 2afc49b..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_dsa_raw.short +++ /dev/null @@ -1 +0,0 @@ -@item @var{int} @ref{gnutls_pubkey_get_pk_dsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{p}, gnutls_datum_t * @var{q}, gnutls_datum_t * @var{g}, gnutls_datum_t * @var{y}) diff --git a/doc/functions/gnutls_pubkey_get_pk_ecc_raw b/doc/functions/gnutls_pubkey_get_pk_ecc_raw deleted file mode 100644 index 6b1ed59..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_ecc_raw +++ /dev/null @@ -1,21 +0,0 @@ - - - - -@deftypefun {int} {gnutls_pubkey_get_pk_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) -@var{key}: Holds the public key - -@var{curve}: will hold the curve - -@var{x}: will hold x - -@var{y}: will hold y - -This function will export the ECC public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 3.0 -@end deftypefun diff --git a/doc/functions/gnutls_pubkey_get_pk_ecc_raw.short b/doc/functions/gnutls_pubkey_get_pk_ecc_raw.short deleted file mode 100644 index 423fd4f..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_ecc_raw.short +++ /dev/null @@ -1 +0,0 @@ -@item @var{int} @ref{gnutls_pubkey_get_pk_ecc_raw} (gnutls_pubkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}) diff --git a/doc/functions/gnutls_pubkey_get_pk_ecc_x962 b/doc/functions/gnutls_pubkey_get_pk_ecc_x962 deleted file mode 100644 index fae1596..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_ecc_x962 +++ /dev/null @@ -1,19 +0,0 @@ - - - - -@deftypefun {int} {gnutls_pubkey_get_pk_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t* @var{parameters}, gnutls_datum_t * @var{ecpoint}) -@var{key}: Holds the public key - -@var{parameters}: DER encoding of an ANSI X9.62 parameters - -@var{ecpoint}: DER encoding of ANSI X9.62 ECPoint - -This function will export the ECC public key's parameters found in -the given certificate. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 3.0 -@end deftypefun diff --git a/doc/functions/gnutls_pubkey_get_pk_ecc_x962.short b/doc/functions/gnutls_pubkey_get_pk_ecc_x962.short deleted file mode 100644 index 4eb94a4..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_ecc_x962.short +++ /dev/null @@ -1 +0,0 @@ -@item @var{int} @ref{gnutls_pubkey_get_pk_ecc_x962} (gnutls_pubkey_t @var{key}, gnutls_datum_t* @var{parameters}, gnutls_datum_t * @var{ecpoint}) diff --git a/doc/functions/gnutls_pubkey_get_pk_rsa_raw b/doc/functions/gnutls_pubkey_get_pk_rsa_raw deleted file mode 100644 index edd2227..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_rsa_raw +++ /dev/null @@ -1,19 +0,0 @@ - - - - -@deftypefun {int} {gnutls_pubkey_get_pk_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) -@var{key}: Holds the certificate - -@var{m}: will hold the modulus - -@var{e}: will hold the public exponent - -This function will export the RSA public key's parameters found in -the given structure. The new parameters will be allocated using -@code{gnutls_malloc()} and will be stored in the appropriate datum. - -@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. - -@strong{Since:} 2.12.0 -@end deftypefun diff --git a/doc/functions/gnutls_pubkey_get_pk_rsa_raw.short b/doc/functions/gnutls_pubkey_get_pk_rsa_raw.short deleted file mode 100644 index 4930f8d..0000000 --- a/doc/functions/gnutls_pubkey_get_pk_rsa_raw.short +++ /dev/null @@ -1 +0,0 @@ -@item @var{int} @ref{gnutls_pubkey_get_pk_rsa_raw} (gnutls_pubkey_t @var{key}, gnutls_datum_t * @var{m}, gnutls_datum_t * @var{e}) diff --git a/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm b/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm index 632b409..792cd9c 100644 --- a/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm +++ b/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) +@deftypefun {int} {gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) @var{key}: Holds the certificate @var{hash}: The result of the call with the hash algorithm used for signature @@ -13,6 +13,9 @@ This function will read the certifcate and return the appropriate digest algorithm to use for signing with this certificate. Some certificates (i.e. DSA might not be able to sign without the preferred algorithm). +To get the signature algorithm instead of just the hash use @code{gnutls_pk_to_sign()} +with the algorithm of the certificate/key and the provided @code{hash} . + @strong{Returns:} the 0 if the hash algorithm is found. A negative error code is returned on error. diff --git a/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm.short b/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm.short index 052db90..9024f40 100644 --- a/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm.short +++ b/doc/functions/gnutls_pubkey_get_preferred_hash_algorithm.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) +@item @var{int} @ref{gnutls_pubkey_get_preferred_hash_algorithm} (gnutls_pubkey_t @var{key}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) diff --git a/doc/functions/gnutls_pubkey_import_openpgp_raw b/doc/functions/gnutls_pubkey_import_openpgp_raw new file mode 100644 index 0000000..a72d307 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_openpgp_raw @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_openpgp_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{data}: The public key data to be imported + +@var{format}: The format of the public key + +@var{keyid}: The key id to use (optional) + +@var{flags}: Should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_openpgp_raw.short b/doc/functions/gnutls_pubkey_import_openpgp_raw.short new file mode 100644 index 0000000..f079591 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_openpgp_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_openpgp_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_openpgp_crt_fmt_t @var{format}, const gnutls_openpgp_keyid_t @var{keyid}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_import_tpm_raw b/doc/functions/gnutls_pubkey_import_tpm_raw new file mode 100644 index 0000000..66685bf --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_tpm_raw @@ -0,0 +1,26 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_tpm_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{fdata}: The TPM key to be imported + +@var{format}: The format of the private key + +@var{srk_password}: The password for the SRK key (optional) + +@var{flags}: One of the GNUTLS_PUBKEY_* flags + +This function will import the public key from the provided TPM key +structure. + +With respect to passwords the same as in +@code{gnutls_pubkey_import_tpm_url()} apply. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_tpm_raw.short b/doc/functions/gnutls_pubkey_import_tpm_raw.short new file mode 100644 index 0000000..b34e538 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_tpm_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_tpm_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{fdata}, gnutls_tpmkey_fmt_t @var{format}, const char * @var{srk_password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_import_tpm_url b/doc/functions/gnutls_pubkey_import_tpm_url new file mode 100644 index 0000000..e4a5baf --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_tpm_url @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_tpm_url} (gnutls_pubkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{url}: The URL of the TPM key to be imported + +@var{srk_password}: The password for the SRK key (optional) + +@var{flags}: should be zero + +This function will import the given private key to the abstract +@code{gnutls_privkey_t} structure. + +Note that unless @code{GNUTLS_PUBKEY_DISABLE_CALLBACKS} +is specified, if incorrect (or NULL) passwords are given +the PKCS11 callback functions will be used to obtain the +correct passwords. Otherwise if the SRK password is wrong +@code{GNUTLS_E_TPM_SRK_PASSWORD_ERROR} is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_tpm_url.short b/doc/functions/gnutls_pubkey_import_tpm_url.short new file mode 100644 index 0000000..374b369 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_tpm_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_tpm_url} (gnutls_pubkey_t @var{pkey}, const char * @var{url}, const char * @var{srk_password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_import_url b/doc/functions/gnutls_pubkey_import_url new file mode 100644 index 0000000..8d020e8 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_url @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_url} (gnutls_pubkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{url}: A PKCS 11 url + +@var{flags}: One of GNUTLS_PKCS11_OBJ_* flags + +This function will import a PKCS11 certificate or a TPM key +as a public key. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_url.short b/doc/functions/gnutls_pubkey_import_url.short new file mode 100644 index 0000000..5bbdf14 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_url} (gnutls_pubkey_t @var{key}, const char * @var{url}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_import_x509_crq b/doc/functions/gnutls_pubkey_import_x509_crq new file mode 100644 index 0000000..b09c13e --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_x509_crq @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_x509_crq} (gnutls_pubkey_t @var{key}, gnutls_x509_crq_t @var{crq}, unsigned int @var{flags}) +@var{key}: The public key + +@var{crq}: The certificate to be imported + +@var{flags}: should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_x509_crq.short b/doc/functions/gnutls_pubkey_import_x509_crq.short new file mode 100644 index 0000000..b803c8e --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_x509_crq.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_x509_crq} (gnutls_pubkey_t @var{key}, gnutls_x509_crq_t @var{crq}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_import_x509_raw b/doc/functions/gnutls_pubkey_import_x509_raw new file mode 100644 index 0000000..6bcce5a --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_x509_raw @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {gnutls_pubkey_import_x509_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) +@var{pkey}: The public key + +@var{data}: The public key data to be imported + +@var{format}: The format of the public key + +@var{flags}: should be zero + +This function will import the given public key to the abstract +@code{gnutls_pubkey_t} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_import_x509_raw.short b/doc/functions/gnutls_pubkey_import_x509_raw.short new file mode 100644 index 0000000..ed00106 --- /dev/null +++ b/doc/functions/gnutls_pubkey_import_x509_raw.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_import_x509_raw} (gnutls_pubkey_t @var{pkey}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_pubkey_print b/doc/functions/gnutls_pubkey_print new file mode 100644 index 0000000..9c09ed2 --- /dev/null +++ b/doc/functions/gnutls_pubkey_print @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_pubkey_print} (gnutls_pubkey_t @var{pubkey}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) +@var{pubkey}: The structure to be printed + +@var{format}: Indicate the format to use + +@var{out}: Newly allocated datum with (0) terminated string. + +This function will pretty print public key information, suitable for +display to a human. + +Only @code{GNUTLS_CRT_PRINT_FULL} and @code{GNUTLS_CRT_PRINT_FULL_NUMBERS} +are implemented. + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_print.short b/doc/functions/gnutls_pubkey_print.short new file mode 100644 index 0000000..217e8e9 --- /dev/null +++ b/doc/functions/gnutls_pubkey_print.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_print} (gnutls_pubkey_t @var{pubkey}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_pubkey_set_pin_function b/doc/functions/gnutls_pubkey_set_pin_function new file mode 100644 index 0000000..b1f50a2 --- /dev/null +++ b/doc/functions/gnutls_pubkey_set_pin_function @@ -0,0 +1,20 @@ + + + + +@deftypefun {void} {gnutls_pubkey_set_pin_function} (gnutls_pubkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{key}: A key of type @code{gnutls_pubkey_t} + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +required to access the object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_set_pin_function.short b/doc/functions/gnutls_pubkey_set_pin_function.short new file mode 100644 index 0000000..06a91c6 --- /dev/null +++ b/doc/functions/gnutls_pubkey_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_pubkey_set_pin_function} (gnutls_pubkey_t @var{key}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_pubkey_verify_data b/doc/functions/gnutls_pubkey_verify_data index 113f877..77528f1 100644 --- a/doc/functions/gnutls_pubkey_verify_data +++ b/doc/functions/gnutls_pubkey_verify_data @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_pubkey_verify_data} (gnutls_pubkey_t @var{pubkey}, unsigned int @var{flags}, const gnutls_datum_t * @var{data}, const gnutls_datum_t * @var{signature}) @var{pubkey}: Holds the public key -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{data}: holds the signed data @@ -14,8 +14,11 @@ This function will verify the given signed data, using the parameters from the certificate. +Deprecated. This function cannot be easily used securely. +Use @code{gnutls_pubkey_verify_data2()} instead. + @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} -is returned, and zero or positive code on success. +is returned, and zero or positive code on success. @strong{Since:} 2.12.0 @end deftypefun diff --git a/doc/functions/gnutls_pubkey_verify_data2 b/doc/functions/gnutls_pubkey_verify_data2 index ad79350..e368d89 100644 --- a/doc/functions/gnutls_pubkey_verify_data2 +++ b/doc/functions/gnutls_pubkey_verify_data2 @@ -7,7 +7,7 @@ @var{algo}: The signature algorithm used -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{data}: holds the signed data diff --git a/doc/functions/gnutls_pubkey_verify_hash b/doc/functions/gnutls_pubkey_verify_hash index 26b3159..0eaf2e7 100644 --- a/doc/functions/gnutls_pubkey_verify_hash +++ b/doc/functions/gnutls_pubkey_verify_hash @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_pubkey_verify_hash} (gnutls_pubkey_t @var{key}, unsigned int @var{flags}, const gnutls_datum_t * @var{hash}, const gnutls_datum_t * @var{signature}) @var{key}: Holds the public key -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{hash}: holds the hash digest to be verified diff --git a/doc/functions/gnutls_pubkey_verify_hash2 b/doc/functions/gnutls_pubkey_verify_hash2 index 34aa070..62b1f0d 100644 --- a/doc/functions/gnutls_pubkey_verify_hash2 +++ b/doc/functions/gnutls_pubkey_verify_hash2 @@ -7,14 +7,16 @@ @var{algo}: The signature algorithm used -@var{flags}: should be 0 for now +@var{flags}: Zero or one of @code{gnutls_pubkey_flags_t} @var{hash}: holds the hash digest to be verified @var{signature}: contains the signature This function will verify the given signed digest, using the -parameters from the public key. +parameters from the public key. Note that unlike @code{gnutls_privkey_sign_hash()} , +this function accepts a signature algorithm instead of a digest algorithm. +You can use @code{gnutls_pk_to_sign()} to get the appropriate value. @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} is returned, and zero or positive code on success. diff --git a/doc/functions/gnutls_pubkey_verify_params b/doc/functions/gnutls_pubkey_verify_params new file mode 100644 index 0000000..59ea324 --- /dev/null +++ b/doc/functions/gnutls_pubkey_verify_params @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {gnutls_pubkey_verify_params} (gnutls_pubkey_t @var{key}) +@var{key}: should contain a @code{gnutls_pubkey_t} structure + +This function will verify the private key parameters. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_pubkey_verify_params.short b/doc/functions/gnutls_pubkey_verify_params.short new file mode 100644 index 0000000..063403e --- /dev/null +++ b/doc/functions/gnutls_pubkey_verify_params.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_pubkey_verify_params} (gnutls_pubkey_t @var{key}) diff --git a/doc/functions/gnutls_random_art b/doc/functions/gnutls_random_art index 8a27da0..5a5c29a 100644 --- a/doc/functions/gnutls_random_art +++ b/doc/functions/gnutls_random_art @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_random_art} (gnutls_random_art_t @var{type}, const char* @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t* @var{art}) +@deftypefun {int} {gnutls_random_art} (gnutls_random_art_t @var{type}, const char * @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t * @var{art}) @var{type}: The type of the random art @var{key_type}: The type of the key (RSA, DSA etc.) diff --git a/doc/functions/gnutls_random_art.short b/doc/functions/gnutls_random_art.short index 44bcd5c..64b51aa 100644 --- a/doc/functions/gnutls_random_art.short +++ b/doc/functions/gnutls_random_art.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_random_art} (gnutls_random_art_t @var{type}, const char* @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t* @var{art}) +@item @var{int} @ref{gnutls_random_art} (gnutls_random_art_t @var{type}, const char * @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t * @var{art}) diff --git a/doc/functions/gnutls_range_split b/doc/functions/gnutls_range_split new file mode 100644 index 0000000..6c3ed14 --- /dev/null +++ b/doc/functions/gnutls_range_split @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_range_split} (gnutls_session_t @var{session}, const gnutls_range_st * @var{orig}, gnutls_range_st * @var{next}, gnutls_range_st * @var{remainder}) +@var{session}: is a @code{gnutls_session_t} structure + +@var{orig}: is the original range provided by the user + +@var{next}: is the returned range that can be conveyed in a TLS record + +@var{remainder}: is the returned remaining range + +This function should be used when it is required to hide the length +of very long data that cannot be directly provided to @code{gnutls_record_send_range()} . +In that case this function should be called with the desired length +hiding range in @code{orig} . The returned @code{next} value should then be used in +the next call to @code{gnutls_record_send_range()} with the partial data. +That process should be repeated until @code{remainder} is (0,0). + +@strong{Returns:} 0 in case splitting succeeds, non zero in case of error. +Note that @code{orig} is not changed, while the values of @code{next} and @code{remainder} are modified to store the resulting values. +@end deftypefun diff --git a/doc/functions/gnutls_range_split.short b/doc/functions/gnutls_range_split.short new file mode 100644 index 0000000..4dcaa42 --- /dev/null +++ b/doc/functions/gnutls_range_split.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_range_split} (gnutls_session_t @var{session}, const gnutls_range_st * @var{orig}, gnutls_range_st * @var{next}, gnutls_range_st * @var{remainder}) diff --git a/doc/functions/gnutls_record_can_use_length_hiding b/doc/functions/gnutls_record_can_use_length_hiding new file mode 100644 index 0000000..57a8d29 --- /dev/null +++ b/doc/functions/gnutls_record_can_use_length_hiding @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_record_can_use_length_hiding} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +If the session supports length-hiding padding, you can +invoke @code{gnutls_range_send_message()} to send a message whose +length is hidden in the given range. If the session does not +support length hiding padding, you can use the standard +@code{gnutls_record_send()} function, or @code{gnutls_range_send_message()} +making sure that the range is the same as the length of the +message you are trying to send. + +@strong{Returns:} true (1) if the current session supports length-hiding +padding, false (0) if the current session does not. +@end deftypefun diff --git a/doc/functions/gnutls_record_can_use_length_hiding.short b/doc/functions/gnutls_record_can_use_length_hiding.short new file mode 100644 index 0000000..c3ca177 --- /dev/null +++ b/doc/functions/gnutls_record_can_use_length_hiding.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_record_can_use_length_hiding} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_record_check_corked b/doc/functions/gnutls_record_check_corked new file mode 100644 index 0000000..23fc76d --- /dev/null +++ b/doc/functions/gnutls_record_check_corked @@ -0,0 +1,14 @@ + + + + +@deftypefun {size_t} {gnutls_record_check_corked} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +This function checks if there pending corked +data in the gnutls buffers --see @code{gnutls_cork()} . + +@strong{Returns:} Returns the size of the corked data or zero. + +@strong{Since:} 3.2.8 +@end deftypefun diff --git a/doc/functions/gnutls_record_check_corked.short b/doc/functions/gnutls_record_check_corked.short new file mode 100644 index 0000000..d33b0e4 --- /dev/null +++ b/doc/functions/gnutls_record_check_corked.short @@ -0,0 +1 @@ +@item @var{size_t} @ref{gnutls_record_check_corked} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_record_check_pending b/doc/functions/gnutls_record_check_pending index bb91439..74529ea 100644 --- a/doc/functions/gnutls_record_check_pending +++ b/doc/functions/gnutls_record_check_pending @@ -8,7 +8,7 @@ This function checks if there are unread data in the gnutls buffers. If the return value is non-zero the next call to @code{gnutls_record_recv()} -is guarranteed not to block. +is guaranteed not to block. @strong{Returns:} Returns the size of the data or zero. @end deftypefun diff --git a/doc/functions/gnutls_record_cork b/doc/functions/gnutls_record_cork new file mode 100644 index 0000000..3d39427 --- /dev/null +++ b/doc/functions/gnutls_record_cork @@ -0,0 +1,15 @@ + + + + +@deftypefun {void} {gnutls_record_cork} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +If called @code{gnutls_record_send()} will no longer send partial records. +All queued records will be sent when @code{gnutls_uncork()} is called, or +when the maximum record size is reached. + +This function is safe to use with DTLS after GnuTLS 3.3.0. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_record_cork.short b/doc/functions/gnutls_record_cork.short new file mode 100644 index 0000000..ebbf9fb --- /dev/null +++ b/doc/functions/gnutls_record_cork.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_record_cork} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_record_disable_padding b/doc/functions/gnutls_record_disable_padding index dca4b13..d4ca9be 100644 --- a/doc/functions/gnutls_record_disable_padding +++ b/doc/functions/gnutls_record_disable_padding @@ -10,6 +10,6 @@ need to use this function, but there are buggy clients that complain if a server pads the encrypted data. This of course will disable protection against statistical attacks on the data. -Normally only servers that require maximum compatibility with everything -out there, need to call this function. +This functions is defunt since 3.1.7. Random padding is disabled +by default unless requested using @code{gnutls_range_send_message()} . @end deftypefun diff --git a/doc/functions/gnutls_record_overhead_size b/doc/functions/gnutls_record_overhead_size new file mode 100644 index 0000000..43253f8 --- /dev/null +++ b/doc/functions/gnutls_record_overhead_size @@ -0,0 +1,12 @@ + + + + +@deftypefun {size_t} {gnutls_record_overhead_size} (gnutls_session_t @var{session}) +@var{session}: is @code{gnutls_session_t} + +This function will return the set size in bytes of the overhead +due to TLS (or DTLS) per record. + +@strong{Since:} 3.2.2 +@end deftypefun diff --git a/doc/functions/gnutls_record_overhead_size.short b/doc/functions/gnutls_record_overhead_size.short new file mode 100644 index 0000000..57e878a --- /dev/null +++ b/doc/functions/gnutls_record_overhead_size.short @@ -0,0 +1 @@ +@item @var{size_t} @ref{gnutls_record_overhead_size} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_record_recv_packet b/doc/functions/gnutls_record_recv_packet new file mode 100644 index 0000000..49ffc41 --- /dev/null +++ b/doc/functions/gnutls_record_recv_packet @@ -0,0 +1,23 @@ + + + + +@deftypefun {ssize_t} {gnutls_record_recv_packet} (gnutls_session_t @var{session}, gnutls_packet_t * @var{packet}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{packet}: the structure that will hold the packet data + +This is a lower-level function thatn @code{gnutls_record_recv()} and allows +to directly receive the whole decrypted packet. That avoids a +memory copy, and is mostly applicable to applications seeking high +performance. + +The received packet is accessed using @code{gnutls_packet_get()} and +must be deinitialized using @code{gnutls_packet_deinit()} . The returned +packet will be @code{NULL} if the return value is zero (EOF). + +@strong{Returns:} The number of bytes received and zero on EOF (for stream +connections). A negative error code is returned in case of an error. + +@strong{Since:} 3.3.5 +@end deftypefun diff --git a/doc/functions/gnutls_record_recv_packet.short b/doc/functions/gnutls_record_recv_packet.short new file mode 100644 index 0000000..e3a96a8 --- /dev/null +++ b/doc/functions/gnutls_record_recv_packet.short @@ -0,0 +1 @@ +@item @var{ssize_t} @ref{gnutls_record_recv_packet} (gnutls_session_t @var{session}, gnutls_packet_t * @var{packet}) diff --git a/doc/functions/gnutls_record_send b/doc/functions/gnutls_record_send index 8a99f21..0c72ce8 100644 --- a/doc/functions/gnutls_record_send +++ b/doc/functions/gnutls_record_send @@ -13,17 +13,25 @@ This function has the similar semantics with @code{send()} . The only difference is that it accepts a GnuTLS session, and uses different error codes. Note that if the send buffer is full, @code{send()} will block this -function. See the @code{send()} documentation for full information. You -can replace the default push function by using -@code{gnutls_transport_set_ptr2()} with a call to @code{send()} with a -MSG_DONTWAIT flag if blocking is a problem. -If the EINTR is returned by the internal push function (the -default is @code{send()} ) then @code{GNUTLS_E_INTERRUPTED} will be returned. If +function. See the @code{send()} documentation for more information. + +You can replace the default push function which is @code{send()} , by using +@code{gnutls_transport_set_push_function()} . + +If the EINTR is returned by the internal push function +then @code{GNUTLS_E_INTERRUPTED} will be returned. If @code{GNUTLS_E_INTERRUPTED} or @code{GNUTLS_E_AGAIN} is returned, you must -call this function again, with the same parameters; alternatively +call this function again, with the exact same parameters; alternatively you could provide a @code{NULL} pointer for data, and 0 for -size. cf. @code{gnutls_record_get_direction()} . The errno value EMSGSIZE -maps to @code{GNUTLS_E_LARGE_PACKET} . +size. cf. @code{gnutls_record_get_direction()} . + +Note that in DTLS this function will return the @code{GNUTLS_E_LARGE_PACKET} +error code if the send data exceed the data MTU value - as returned +by @code{gnutls_dtls_get_data_mtu()} . The errno value EMSGSIZE +also maps to @code{GNUTLS_E_LARGE_PACKET} . +Note that since 3.2.13 this function can be called under cork in DTLS +mode, and will refuse to send data over the MTU size by returning +@code{GNUTLS_E_LARGE_PACKET} . @strong{Returns:} The number of bytes sent, or a negative error code. The number of bytes sent might be less than @code{data_size} . The maximum diff --git a/doc/functions/gnutls_record_send_range b/doc/functions/gnutls_record_send_range new file mode 100644 index 0000000..cc74ecf --- /dev/null +++ b/doc/functions/gnutls_record_send_range @@ -0,0 +1,27 @@ + + + + +@deftypefun {ssize_t} {gnutls_record_send_range} (gnutls_session_t @var{session}, const void * @var{data}, size_t @var{data_size}, const gnutls_range_st * @var{range}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{data}: contains the data to send. + +@var{data_size}: is the length of the data. + +@var{range}: is the range of lengths in which the real data length must be hidden. + +This function operates like @code{gnutls_record_send()} but, while +@code{gnutls_record_send()} adds minimal padding to each TLS record, +this function uses the TLS extra-padding feature to conceal the real +data size within the range of lengths provided. +Some TLS sessions do not support extra padding (e.g. stream ciphers in standard +TLS or SSL3 sessions). To know whether the current session supports extra +padding, and hence length hiding, use the @code{gnutls_record_can_use_length_hiding()} +function. + +@strong{Note:} This function currently is only limited to blocking sockets. + +@strong{Returns:} The number of bytes sent (that is data_size in a successful invocation), +or a negative error code. +@end deftypefun diff --git a/doc/functions/gnutls_record_send_range.short b/doc/functions/gnutls_record_send_range.short new file mode 100644 index 0000000..ae49dec --- /dev/null +++ b/doc/functions/gnutls_record_send_range.short @@ -0,0 +1 @@ +@item @var{ssize_t} @ref{gnutls_record_send_range} (gnutls_session_t @var{session}, const void * @var{data}, size_t @var{data_size}, const gnutls_range_st * @var{range}) diff --git a/doc/functions/gnutls_record_set_max_empty_records b/doc/functions/gnutls_record_set_max_empty_records new file mode 100644 index 0000000..730b2d5 --- /dev/null +++ b/doc/functions/gnutls_record_set_max_empty_records @@ -0,0 +1,17 @@ + + + + +@deftypefun {void} {gnutls_record_set_max_empty_records} (gnutls_session_t @var{session}, const unsigned int @var{i}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{i}: is the desired value of maximum empty records that can be accepted in a row. + +Used to set the maximum number of empty fragments that can be accepted +in a row. Accepting many empty fragments is useful for receiving length-hidden +content, where empty fragments filled with pad are sent to hide the real +length of a message. However, a malicious peer could send empty fragments to +mount a DoS attack, so as a safety measure, a maximum number of empty fragments +is accepted by default. If you know your application must accept a given number +of empty fragments in a row, you can use this function to set the desired value. +@end deftypefun diff --git a/doc/functions/gnutls_record_set_max_empty_records.short b/doc/functions/gnutls_record_set_max_empty_records.short new file mode 100644 index 0000000..d93726c --- /dev/null +++ b/doc/functions/gnutls_record_set_max_empty_records.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_record_set_max_empty_records} (gnutls_session_t @var{session}, const unsigned int @var{i}) diff --git a/doc/functions/gnutls_record_set_timeout b/doc/functions/gnutls_record_set_timeout new file mode 100644 index 0000000..70bf6f8 --- /dev/null +++ b/doc/functions/gnutls_record_set_timeout @@ -0,0 +1,15 @@ + + + + +@deftypefun {void} {gnutls_record_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{ms}: is a timeout value in milliseconds + +This function sets the receive timeout for the record layer +to the provided value. Use an @code{ms} value of zero to disable +timeout (the default). + +@strong{Since:} 3.1.7 +@end deftypefun diff --git a/doc/functions/gnutls_record_set_timeout.short b/doc/functions/gnutls_record_set_timeout.short new file mode 100644 index 0000000..a9f87e5 --- /dev/null +++ b/doc/functions/gnutls_record_set_timeout.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_record_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) diff --git a/doc/functions/gnutls_record_uncork b/doc/functions/gnutls_record_uncork new file mode 100644 index 0000000..b0efbda --- /dev/null +++ b/doc/functions/gnutls_record_uncork @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_record_uncork} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{flags}: Could be zero or @code{GNUTLS_RECORD_WAIT} + +This resets the effect of @code{gnutls_cork()} , and flushes any pending +data. If the @code{GNUTLS_RECORD_WAIT} flag is specified then this +function will block until the data is sent or a fatal error +occurs (i.e., the function will retry on @code{GNUTLS_E_AGAIN} and +@code{GNUTLS_E_INTERRUPTED} ). + +If the flag @code{GNUTLS_RECORD_WAIT} is not specified and the function +is interrupted then the @code{GNUTLS_E_AGAIN} or @code{GNUTLS_E_INTERRUPTED} +errors will be returned. To obtain the data left in the corked +buffer use @code{gnutls_record_check_corked()} . + +@strong{Returns:} On success the number of transmitted data is returned, or +otherwise a negative error code. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_record_uncork.short b/doc/functions/gnutls_record_uncork.short new file mode 100644 index 0000000..ff5a263 --- /dev/null +++ b/doc/functions/gnutls_record_uncork.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_record_uncork} (gnutls_session_t @var{session}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_rehandshake b/doc/functions/gnutls_rehandshake index 68ee499..8ffcb05 100644 --- a/doc/functions/gnutls_rehandshake +++ b/doc/functions/gnutls_rehandshake @@ -22,8 +22,8 @@ is returned to clear any pending data. Care must be taken if rehandshake is mandatory to terminate if it does not start after some threshold. -If the client does not wish to renegotiate parameters he will -should with an alert message, thus the return code will be +If the client does not wish to renegotiate parameters he +should reply with an alert message, thus the return code will be @code{GNUTLS_E_WARNING_ALERT_RECEIVED} and the alert will be @code{GNUTLS_A_NO_RENEGOTIATION} . A client may also choose to ignore this message. diff --git a/doc/functions/gnutls_rnd_refresh b/doc/functions/gnutls_rnd_refresh new file mode 100644 index 0000000..5665c25 --- /dev/null +++ b/doc/functions/gnutls_rnd_refresh @@ -0,0 +1,14 @@ + + + + +@deftypefun {void} {gnutls_rnd_refresh} () + +This function refreshes the random generator state. +That is the current precise time, CPU usage, and +other values are input into its state. + +On a slower rate input from /dev/urandom is mixed too. + +@strong{Since:} 3.1.7 +@end deftypefun diff --git a/doc/functions/gnutls_rnd_refresh.short b/doc/functions/gnutls_rnd_refresh.short new file mode 100644 index 0000000..6921039 --- /dev/null +++ b/doc/functions/gnutls_rnd_refresh.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_rnd_refresh} () diff --git a/doc/functions/gnutls_rsa_params_export_pkcs1 b/doc/functions/gnutls_rsa_params_export_pkcs1 index 9b066fe..0c6019a 100644 --- a/doc/functions/gnutls_rsa_params_export_pkcs1 +++ b/doc/functions/gnutls_rsa_params_export_pkcs1 @@ -7,12 +7,12 @@ @var{format}: the format of output params. One of PEM or DER. -@var{params_data}: will contain a PKCS1 RSAPublicKey structure PEM or DER encoded +@var{params_data}: will contain a PKCS1 RSAPrivateKey structure PEM or DER encoded @var{params_data_size}: holds the size of params_data (and will be replaced by the actual size of parameters) This function will export the given RSA parameters to a PKCS1 -RSAPublicKey structure. If the buffer provided is not long enough to +RSAPrivateKey structure. If the buffer provided is not long enough to hold the output, then GNUTLS_E_SHORT_MEMORY_BUFFER will be returned. If the structure is PEM encoded, it will have a header diff --git a/doc/functions/gnutls_rsa_params_import_pkcs1 b/doc/functions/gnutls_rsa_params_import_pkcs1 index 5889cbe..4c8c7ac 100644 --- a/doc/functions/gnutls_rsa_params_import_pkcs1 +++ b/doc/functions/gnutls_rsa_params_import_pkcs1 @@ -5,11 +5,11 @@ @deftypefun {int} {gnutls_rsa_params_import_pkcs1} (gnutls_rsa_params_t @var{params}, const gnutls_datum_t * @var{pkcs1_params}, gnutls_x509_crt_fmt_t @var{format}) @var{params}: A structure where the parameters will be copied to -@var{pkcs1_params}: should contain a PKCS1 RSAPublicKey structure PEM or DER encoded +@var{pkcs1_params}: should contain a PKCS1 RSAPrivateKey structure PEM or DER encoded @var{format}: the format of params. PEM or DER. -This function will extract the RSAPublicKey found in a PKCS1 formatted +This function will extract the RSAPrivateKey found in a PKCS1 formatted structure. If the structure is PEM encoded, it should have a header diff --git a/doc/functions/gnutls_sec_param_to_symmetric_bits b/doc/functions/gnutls_sec_param_to_symmetric_bits new file mode 100644 index 0000000..4939fbb --- /dev/null +++ b/doc/functions/gnutls_sec_param_to_symmetric_bits @@ -0,0 +1,14 @@ + + + + +@deftypefun {unsigned int} {gnutls_sec_param_to_symmetric_bits} (gnutls_sec_param_t @var{param}) +@var{param}: is a security parameter + +This function will return the number of bits that correspond to +symmetric cipher strength for the given security parameter. + +@strong{Returns:} The number of bits, or (0). + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_sec_param_to_symmetric_bits.short b/doc/functions/gnutls_sec_param_to_symmetric_bits.short new file mode 100644 index 0000000..379729a --- /dev/null +++ b/doc/functions/gnutls_sec_param_to_symmetric_bits.short @@ -0,0 +1 @@ +@item @var{unsigned int} @ref{gnutls_sec_param_to_symmetric_bits} (gnutls_sec_param_t @var{param}) diff --git a/doc/functions/gnutls_session_enable_compatibility_mode b/doc/functions/gnutls_session_enable_compatibility_mode index 09efc57..431706c 100644 --- a/doc/functions/gnutls_session_enable_compatibility_mode +++ b/doc/functions/gnutls_session_enable_compatibility_mode @@ -7,9 +7,12 @@ This function can be used to disable certain (security) features in TLS in order to maintain maximum compatibility with buggy -clients. It is equivalent to calling: -@code{gnutls_record_disable_padding()} +clients. Because several trade-offs with security are enabled, +if required they will be reported through the audit subsystem. Normally only servers that require maximum compatibility with everything out there, need to call this function. + +Note that this function must be called after any call to gnutls_priority +functions. @end deftypefun diff --git a/doc/functions/gnutls_session_force_valid b/doc/functions/gnutls_session_force_valid new file mode 100644 index 0000000..b5b8db1 --- /dev/null +++ b/doc/functions/gnutls_session_force_valid @@ -0,0 +1,13 @@ + + + + +@deftypefun {void} {gnutls_session_force_valid} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Clears the invalid flag in a session. That means +that sessions were corrupt or invalid data were received +can be re-used. Use only when debugging or experimenting +with the TLS protocol. Should not be used in typical +applications. +@end deftypefun diff --git a/doc/functions/gnutls_session_force_valid.short b/doc/functions/gnutls_session_force_valid.short new file mode 100644 index 0000000..56a7cf3 --- /dev/null +++ b/doc/functions/gnutls_session_force_valid.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_session_force_valid} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_session_get_data b/doc/functions/gnutls_session_get_data index b110c29..9daf4e9 100644 --- a/doc/functions/gnutls_session_get_data +++ b/doc/functions/gnutls_session_get_data @@ -9,14 +9,10 @@ @var{session_data_size}: is the session_data's size, or it will be set by the function. -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he -wants to resume that current version later by calling -@code{gnutls_session_set_data()} This function must be called after a -successful handshake. - -Resuming sessions is really useful and speedups connections after -a successful one. +Returns all session parameters needed to be stored to support resumption. +The client should call this, and store the returned session data. A session +may be resumed later by calling @code{gnutls_session_set_data()} . +This function must be called after a successful handshake. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. diff --git a/doc/functions/gnutls_session_get_data2 b/doc/functions/gnutls_session_get_data2 index c3edd2c..41caded 100644 --- a/doc/functions/gnutls_session_get_data2 +++ b/doc/functions/gnutls_session_get_data2 @@ -7,15 +7,11 @@ @var{data}: is a pointer to a datum that will hold the session. -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -@code{gnutls_session_set_data()} . This function must be called after a -successful handshake. The returned datum must be freed with -@code{gnutls_free()} . - -Resuming sessions is really useful and speedups connections after -a successful one. +Returns all session parameters needed to be stored to support resumption. +The client should call this, and store the returned session data. A session +may be resumed later by calling @code{gnutls_session_set_data()} . +This function must be called after a successful handshake. +The returned @code{data} are allocated and must be released using @code{gnutls_free()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. diff --git a/doc/functions/gnutls_session_get_desc b/doc/functions/gnutls_session_get_desc new file mode 100644 index 0000000..babc198 --- /dev/null +++ b/doc/functions/gnutls_session_get_desc @@ -0,0 +1,14 @@ + + + + +@deftypefun {char *} {gnutls_session_get_desc} (gnutls_session_t @var{session}) +@var{session}: is a gnutls session + +This function returns a string describing the current session. +The string is null terminated and allocated using @code{gnutls_malloc()} . + +@strong{Returns:} a description of the protocols and algorithms in the current session. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_session_get_desc.short b/doc/functions/gnutls_session_get_desc.short new file mode 100644 index 0000000..5136dd5 --- /dev/null +++ b/doc/functions/gnutls_session_get_desc.short @@ -0,0 +1 @@ +@item @var{char *} @ref{gnutls_session_get_desc} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_session_get_id b/doc/functions/gnutls_session_get_id index 91de295..87047eb 100644 --- a/doc/functions/gnutls_session_get_id +++ b/doc/functions/gnutls_session_get_id @@ -7,14 +7,14 @@ @var{session_id}: is a pointer to space to hold the session id. -@var{session_id_size}: is the session id's size, or it will be set by the function. +@var{session_id_size}: initially should contain the maximum @code{session_id} size and will be updated. -Returns the current session id. This can be used if you want to +Returns the current session ID. This can be used if you want to check if the next session you tried to resume was actually -resumed. This is because resumed sessions have the same sessionID +resumed. That is because resumed sessions share the same session ID with the original session. -Session id is some data set by the server, that identify the +The session ID is selected by the server, that identify the current session. In TLS 1.0 and SSL 3.0 session id is always less than 32 bytes. diff --git a/doc/functions/gnutls_session_get_id2 b/doc/functions/gnutls_session_get_id2 new file mode 100644 index 0000000..230d62d --- /dev/null +++ b/doc/functions/gnutls_session_get_id2 @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_session_get_id2} (gnutls_session_t @var{session}, gnutls_datum_t * @var{session_id}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{session_id}: will point to the session ID. + +Returns the current session ID. The returned data should be +treated as constant. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +@strong{Since:} 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_session_get_id2.short b/doc/functions/gnutls_session_get_id2.short new file mode 100644 index 0000000..8d17416 --- /dev/null +++ b/doc/functions/gnutls_session_get_id2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_session_get_id2} (gnutls_session_t @var{session}, gnutls_datum_t * @var{session_id}) diff --git a/doc/functions/gnutls_session_get_random b/doc/functions/gnutls_session_get_random index 9b95be0..2c06dbd 100644 --- a/doc/functions/gnutls_session_get_random +++ b/doc/functions/gnutls_session_get_random @@ -2,14 +2,14 @@ -@deftypefun {void} {gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t* @var{client}, gnutls_datum_t* @var{server}) +@deftypefun {void} {gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t * @var{client}, gnutls_datum_t * @var{server}) @var{session}: is a @code{gnutls_session_t} structure. @var{client}: the client part of the random @var{server}: the server part of the random -This functions returns pointers to the client and server +This function returns pointers to the client and server random fields used in the TLS handshake. The pointers are not to be modified or deallocated. diff --git a/doc/functions/gnutls_session_get_random.short b/doc/functions/gnutls_session_get_random.short index 9884d0c..ce4d151 100644 --- a/doc/functions/gnutls_session_get_random.short +++ b/doc/functions/gnutls_session_get_random.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t* @var{client}, gnutls_datum_t* @var{server}) +@item @var{void} @ref{gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t * @var{client}, gnutls_datum_t * @var{server}) diff --git a/doc/functions/gnutls_session_set_id b/doc/functions/gnutls_session_set_id new file mode 100644 index 0000000..771a325 --- /dev/null +++ b/doc/functions/gnutls_session_set_id @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_session_set_id} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{sid}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{sid}: the session identifier + +This function sets the session ID to be used in a client hello. +This is a function intended for exceptional uses. Do not use this +function unless you are implementing a custom protocol. + +To set session resumption parameters use @code{gnutls_session_set_data()} instead. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. +@end deftypefun diff --git a/doc/functions/gnutls_session_set_id.short b/doc/functions/gnutls_session_set_id.short new file mode 100644 index 0000000..05a3a00 --- /dev/null +++ b/doc/functions/gnutls_session_set_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_session_set_id} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{sid}) diff --git a/doc/functions/gnutls_session_set_premaster b/doc/functions/gnutls_session_set_premaster index 0d2e30e..99dd163 100644 --- a/doc/functions/gnutls_session_set_premaster +++ b/doc/functions/gnutls_session_set_premaster @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t* @var{master}, const gnutls_datum_t * @var{session_id}) +@deftypefun {int} {gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t * @var{master}, const gnutls_datum_t * @var{session_id}) @var{session}: is a @code{gnutls_session_t} structure. @var{entity}: GNUTLS_SERVER or GNUTLS_CLIENT diff --git a/doc/functions/gnutls_session_set_premaster.short b/doc/functions/gnutls_session_set_premaster.short index c3b3b1e..13841b9 100644 --- a/doc/functions/gnutls_session_set_premaster.short +++ b/doc/functions/gnutls_session_set_premaster.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t* @var{master}, const gnutls_datum_t * @var{session_id}) +@item @var{int} @ref{gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t * @var{master}, const gnutls_datum_t * @var{session_id}) diff --git a/doc/functions/gnutls_session_set_ptr b/doc/functions/gnutls_session_set_ptr index 56491f4..75f9be5 100644 --- a/doc/functions/gnutls_session_set_ptr +++ b/doc/functions/gnutls_session_set_ptr @@ -8,6 +8,6 @@ @var{ptr}: is the user pointer This function will set (associate) the user given pointer @code{ptr} to -the session structure. This is pointer can be accessed with +the session structure. This pointer can be accessed with @code{gnutls_session_get_ptr()} . @end deftypefun diff --git a/doc/functions/gnutls_set_default_priority b/doc/functions/gnutls_set_default_priority index 009f5a3..36ef0bc 100644 --- a/doc/functions/gnutls_set_default_priority +++ b/doc/functions/gnutls_set_default_priority @@ -8,9 +8,8 @@ Sets some default priority on the ciphers, key exchange methods, macs and compression methods. -This is the same as calling: - -gnutls_priority_set_direct (session, "NORMAL", NULL); +This typically sets a default priority that is considered +sufficiently secure to establish encrypted sessions. This function is kept around for backwards compatibility, but because of its wide use it is still fully supported. If you wish diff --git a/doc/functions/gnutls_sign_algorithm_get b/doc/functions/gnutls_sign_algorithm_get new file mode 100644 index 0000000..89495c0 --- /dev/null +++ b/doc/functions/gnutls_sign_algorithm_get @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {gnutls_sign_algorithm_get} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Returns the signature algorithm that is (or will be) used in this +session by the server to sign data. + +@strong{Returns:} The sign algorithm or @code{GNUTLS_SIGN_UNKNOWN} . + +@strong{Since:} 3.1.1 +@end deftypefun diff --git a/doc/functions/gnutls_sign_algorithm_get.short b/doc/functions/gnutls_sign_algorithm_get.short new file mode 100644 index 0000000..d5c2dba --- /dev/null +++ b/doc/functions/gnutls_sign_algorithm_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_sign_algorithm_get} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_sign_algorithm_get_client b/doc/functions/gnutls_sign_algorithm_get_client new file mode 100644 index 0000000..18a7bcd --- /dev/null +++ b/doc/functions/gnutls_sign_algorithm_get_client @@ -0,0 +1,14 @@ + + + + +@deftypefun {int} {gnutls_sign_algorithm_get_client} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Returns the signature algorithm that is (or will be) used in this +session by the client to sign data. + +@strong{Returns:} The sign algorithm or @code{GNUTLS_SIGN_UNKNOWN} . + +@strong{Since:} 3.1.11 +@end deftypefun diff --git a/doc/functions/gnutls_sign_algorithm_get_client.short b/doc/functions/gnutls_sign_algorithm_get_client.short new file mode 100644 index 0000000..17542f4 --- /dev/null +++ b/doc/functions/gnutls_sign_algorithm_get_client.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_sign_algorithm_get_client} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_sign_get_hash_algorithm b/doc/functions/gnutls_sign_get_hash_algorithm new file mode 100644 index 0000000..1d626b9 --- /dev/null +++ b/doc/functions/gnutls_sign_get_hash_algorithm @@ -0,0 +1,14 @@ + + + + +@deftypefun {gnutls_digest_algorithm_t} {gnutls_sign_get_hash_algorithm} (gnutls_sign_algorithm_t @var{sign}) +@var{sign}: is a signature algorithm + +This function returns the digest algorithm corresponding to +the given signature algorithms. + +@strong{Since:} 3.1.1 + +@strong{Returns:} return a @code{gnutls_digest_algorithm_t} value, or @code{GNUTLS_DIG_UNKNOWN} on error. +@end deftypefun diff --git a/doc/functions/gnutls_sign_get_hash_algorithm.short b/doc/functions/gnutls_sign_get_hash_algorithm.short new file mode 100644 index 0000000..5a86a01 --- /dev/null +++ b/doc/functions/gnutls_sign_get_hash_algorithm.short @@ -0,0 +1 @@ +@item @var{gnutls_digest_algorithm_t} @ref{gnutls_sign_get_hash_algorithm} (gnutls_sign_algorithm_t @var{sign}) diff --git a/doc/functions/gnutls_sign_get_id b/doc/functions/gnutls_sign_get_id index b852729..8756a3b 100644 --- a/doc/functions/gnutls_sign_get_id +++ b/doc/functions/gnutls_sign_get_id @@ -3,10 +3,10 @@ @deftypefun {gnutls_sign_algorithm_t} {gnutls_sign_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name +@var{name}: is a sign algorithm name The names are compared in a case insensitive way. @strong{Returns:} return a @code{gnutls_sign_algorithm_t} value corresponding to -the specified cipher, or @code{GNUTLS_SIGN_UNKNOWN} on error. +the specified algorithm, or @code{GNUTLS_SIGN_UNKNOWN} on error. @end deftypefun diff --git a/doc/functions/gnutls_sign_get_pk_algorithm b/doc/functions/gnutls_sign_get_pk_algorithm new file mode 100644 index 0000000..55f720e --- /dev/null +++ b/doc/functions/gnutls_sign_get_pk_algorithm @@ -0,0 +1,14 @@ + + + + +@deftypefun {gnutls_pk_algorithm_t} {gnutls_sign_get_pk_algorithm} (gnutls_sign_algorithm_t @var{sign}) +@var{sign}: is a signature algorithm + +This function returns the public key algorithm corresponding to +the given signature algorithms. + +@strong{Since:} 3.1.1 + +@strong{Returns:} return a @code{gnutls_pk_algorithm_t} value, or @code{GNUTLS_PK_UNKNOWN} on error. +@end deftypefun diff --git a/doc/functions/gnutls_sign_get_pk_algorithm.short b/doc/functions/gnutls_sign_get_pk_algorithm.short new file mode 100644 index 0000000..1583c1d --- /dev/null +++ b/doc/functions/gnutls_sign_get_pk_algorithm.short @@ -0,0 +1 @@ +@item @var{gnutls_pk_algorithm_t} @ref{gnutls_sign_get_pk_algorithm} (gnutls_sign_algorithm_t @var{sign}) diff --git a/doc/functions/gnutls_sign_is_secure b/doc/functions/gnutls_sign_is_secure new file mode 100644 index 0000000..f25391e --- /dev/null +++ b/doc/functions/gnutls_sign_is_secure @@ -0,0 +1,10 @@ + + + + +@deftypefun {int} {gnutls_sign_is_secure} (gnutls_sign_algorithm_t @var{algorithm}) +@var{algorithm}: is a sign algorithm + + +@strong{Returns:} Non-zero if the provided signature algorithm is considered to be secure. +@end deftypefun diff --git a/doc/functions/gnutls_sign_is_secure.short b/doc/functions/gnutls_sign_is_secure.short new file mode 100644 index 0000000..dbb9eac --- /dev/null +++ b/doc/functions/gnutls_sign_is_secure.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_sign_is_secure} (gnutls_sign_algorithm_t @var{algorithm}) diff --git a/doc/functions/gnutls_srp_allocate_client_credentials b/doc/functions/gnutls_srp_allocate_client_credentials index 5ab0b9a..3326002 100644 --- a/doc/functions/gnutls_srp_allocate_client_credentials +++ b/doc/functions/gnutls_srp_allocate_client_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus diff --git a/doc/functions/gnutls_srp_allocate_client_credentials.short b/doc/functions/gnutls_srp_allocate_client_credentials.short index 7e90afe..efc42fd 100644 --- a/doc/functions/gnutls_srp_allocate_client_credentials.short +++ b/doc/functions/gnutls_srp_allocate_client_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_srp_allocate_server_credentials b/doc/functions/gnutls_srp_allocate_server_credentials index 99cda5f..dc1a8ba 100644 --- a/doc/functions/gnutls_srp_allocate_server_credentials +++ b/doc/functions/gnutls_srp_allocate_server_credentials @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this diff --git a/doc/functions/gnutls_srp_allocate_server_credentials.short b/doc/functions/gnutls_srp_allocate_server_credentials.short index 538d5a8..843214a 100644 --- a/doc/functions/gnutls_srp_allocate_server_credentials.short +++ b/doc/functions/gnutls_srp_allocate_server_credentials.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) +@item @var{int} @ref{gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) diff --git a/doc/functions/gnutls_srp_set_client_credentials_function b/doc/functions/gnutls_srp_set_client_credentials_function index 0eed4c3..56fecd3 100644 --- a/doc/functions/gnutls_srp_set_client_credentials_function +++ b/doc/functions/gnutls_srp_set_client_credentials_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function diff --git a/doc/functions/gnutls_srp_set_client_credentials_function.short b/doc/functions/gnutls_srp_set_client_credentials_function.short index 9054eea..207b0a9 100644 --- a/doc/functions/gnutls_srp_set_client_credentials_function.short +++ b/doc/functions/gnutls_srp_set_client_credentials_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) +@item @var{void} @ref{gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) diff --git a/doc/functions/gnutls_srp_set_server_credentials_function b/doc/functions/gnutls_srp_set_server_credentials_function index 6a33956..9ffbd41 100644 --- a/doc/functions/gnutls_srp_set_server_credentials_function +++ b/doc/functions/gnutls_srp_set_server_credentials_function @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function @@ -11,20 +11,20 @@ This function can be used to set a callback to retrieve the user's SRP credentials. The callback's function form is: int (*callback)(gnutls_session_t, const char* username, -gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* g, -gnutls_datum_t* n); +gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* generator, +gnutls_datum_t* prime); @code{username} contains the actual username. The @code{salt} , @code{verifier} , @code{generator} and @code{prime} must be filled in using the @code{gnutls_malloc()} . For convenience @code{prime} and @code{generator} may also be one of the static parameters defined in gnutls.h. -In case the callback returned a negative number then gnutls will -assume that the username does not exist. - In order to prevent attackers from guessing valid usernames, if a user does not exist, g and n values should be filled in using a random user's parameters. In that case the callback must return the special value (1). +See @code{gnutls_srp_set_server_fake_salt_seed} too. +If this is not required for your application, return a negative +number from the callback to abort the handshake. The callback function will only be called once per handshake. The callback function should return 0 on success, while diff --git a/doc/functions/gnutls_srp_set_server_credentials_function.short b/doc/functions/gnutls_srp_set_server_credentials_function.short index 07125fb..b775485 100644 --- a/doc/functions/gnutls_srp_set_server_credentials_function.short +++ b/doc/functions/gnutls_srp_set_server_credentials_function.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) +@item @var{void} @ref{gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) diff --git a/doc/functions/gnutls_srp_set_server_fake_salt_seed b/doc/functions/gnutls_srp_set_server_fake_salt_seed new file mode 100644 index 0000000..c48be08 --- /dev/null +++ b/doc/functions/gnutls_srp_set_server_fake_salt_seed @@ -0,0 +1,35 @@ + + + + +@deftypefun {void} {gnutls_srp_set_server_fake_salt_seed} (gnutls_srp_server_credentials_t @var{cred}, const gnutls_datum_t * @var{seed}, unsigned int @var{salt_length}) +@var{cred}: is a @code{gnutls_srp_server_credentials_t} structure + +@var{seed}: is the seed data, only needs to be valid until the function +returns; size of the seed must be greater than zero + +@var{salt_length}: is the length of the generated fake salts + +This function sets the seed that is used to generate salts for +invalid (non-existent) usernames. + +In order to prevent attackers from guessing valid usernames, +when a user does not exist gnutls generates a salt and a verifier +and proceeds with the protocol as usual. +The authentication will ultimately fail, but the client cannot tell +whether the username is valid (exists) or invalid. + +If an attacker learns the seed, given a salt (which is part of the +handshake) which was generated when the seed was in use, it can tell +whether or not the authentication failed because of an unknown username. +This seed cannot be used to reveal application data or passwords. + + @code{salt_length} should represent the salt length your application uses. +Generating fake salts longer than 20 bytes is not supported. + +By default the seed is a random value, different each time a +@code{gnutls_srp_server_credentials_t} is allocated and fake salts are +16 bytes long. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_srp_set_server_fake_salt_seed.short b/doc/functions/gnutls_srp_set_server_fake_salt_seed.short new file mode 100644 index 0000000..1b7aaf3 --- /dev/null +++ b/doc/functions/gnutls_srp_set_server_fake_salt_seed.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_srp_set_server_fake_salt_seed} (gnutls_srp_server_credentials_t @var{cred}, const gnutls_datum_t * @var{seed}, unsigned int @var{salt_length}) diff --git a/doc/functions/gnutls_srtp_get_keys b/doc/functions/gnutls_srtp_get_keys new file mode 100644 index 0000000..691dcf8 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_keys @@ -0,0 +1,30 @@ + + + + +@deftypefun {int} {gnutls_srtp_get_keys} (gnutls_session_t @var{session}, void * @var{key_material}, unsigned int @var{key_material_size}, gnutls_datum_t * @var{client_key}, gnutls_datum_t * @var{client_salt}, gnutls_datum_t * @var{server_key}, gnutls_datum_t * @var{server_salt}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{key_material}: Space to hold the generated key material + +@var{key_material_size}: The maximum size of the key material + +@var{client_key}: The master client write key, pointing inside the key material + +@var{client_salt}: The master client write salt, pointing inside the key material + +@var{server_key}: The master server write key, pointing inside the key material + +@var{server_salt}: The master server write salt, pointing inside the key material + +This is a helper function to generate the keying material for SRTP. +It requires the space of the key material to be pre-allocated (should be at least +2x the maximum key size and salt size). The @code{client_key} , @code{client_salt} , @code{server_key} and @code{server_salt} are convenience datums that point inside the key material. They may +be @code{NULL} . + +@strong{Returns:} On success the size of the key material is returned, +otherwise, @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the buffer given is not +sufficient, or a negative error code. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_get_keys.short b/doc/functions/gnutls_srtp_get_keys.short new file mode 100644 index 0000000..b257818 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_keys.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_get_keys} (gnutls_session_t @var{session}, void * @var{key_material}, unsigned int @var{key_material_size}, gnutls_datum_t * @var{client_key}, gnutls_datum_t * @var{client_salt}, gnutls_datum_t * @var{server_key}, gnutls_datum_t * @var{server_salt}) diff --git a/doc/functions/gnutls_srtp_get_mki b/doc/functions/gnutls_srtp_get_mki new file mode 100644 index 0000000..ef1c95d --- /dev/null +++ b/doc/functions/gnutls_srtp_get_mki @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_srtp_get_mki} (gnutls_session_t @var{session}, gnutls_datum_t * @var{mki}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{mki}: will hold the MKI + +This function exports the negotiated Master Key Identifier, +received by the peer if any. The returned value in @code{mki} should be +treated as constant and valid only during the session's lifetime. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_get_mki.short b/doc/functions/gnutls_srtp_get_mki.short new file mode 100644 index 0000000..56c44f7 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_mki.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_get_mki} (gnutls_session_t @var{session}, gnutls_datum_t * @var{mki}) diff --git a/doc/functions/gnutls_srtp_get_profile_id b/doc/functions/gnutls_srtp_get_profile_id new file mode 100644 index 0000000..7ac9bf4 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_profile_id @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_srtp_get_profile_id} (const char * @var{name}, gnutls_srtp_profile_t * @var{profile}) +@var{name}: The name of the profile to look up + +@var{profile}: Will hold the profile id + +This function allows you to look up a profile based on a string. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_get_profile_id.short b/doc/functions/gnutls_srtp_get_profile_id.short new file mode 100644 index 0000000..a7687b9 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_profile_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_get_profile_id} (const char * @var{name}, gnutls_srtp_profile_t * @var{profile}) diff --git a/doc/functions/gnutls_srtp_get_profile_name b/doc/functions/gnutls_srtp_get_profile_name new file mode 100644 index 0000000..d1deeb7 --- /dev/null +++ b/doc/functions/gnutls_srtp_get_profile_name @@ -0,0 +1,15 @@ + + + + +@deftypefun {const char *} {gnutls_srtp_get_profile_name} (gnutls_srtp_profile_t @var{profile}) +@var{profile}: The profile to look up a string for + +This function allows you to get the corresponding name for a +SRTP protection profile. + +@strong{Returns:} On success, the name of a SRTP profile as a string, +otherwise NULL. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_get_profile_name.short b/doc/functions/gnutls_srtp_get_profile_name.short new file mode 100644 index 0000000..33b01fb --- /dev/null +++ b/doc/functions/gnutls_srtp_get_profile_name.short @@ -0,0 +1 @@ +@item @var{const char *} @ref{gnutls_srtp_get_profile_name} (gnutls_srtp_profile_t @var{profile}) diff --git a/doc/functions/gnutls_srtp_get_selected_profile b/doc/functions/gnutls_srtp_get_selected_profile new file mode 100644 index 0000000..16ec56f --- /dev/null +++ b/doc/functions/gnutls_srtp_get_selected_profile @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_srtp_get_selected_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t * @var{profile}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profile}: will hold the profile + +This function allows you to get the negotiated SRTP profile. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_get_selected_profile.short b/doc/functions/gnutls_srtp_get_selected_profile.short new file mode 100644 index 0000000..4556c0c --- /dev/null +++ b/doc/functions/gnutls_srtp_get_selected_profile.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_get_selected_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t * @var{profile}) diff --git a/doc/functions/gnutls_srtp_set_mki b/doc/functions/gnutls_srtp_set_mki new file mode 100644 index 0000000..46c20df --- /dev/null +++ b/doc/functions/gnutls_srtp_set_mki @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_srtp_set_mki} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{mki}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{mki}: holds the MKI + +This function sets the Master Key Identifier, to be +used by this session (if any). + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_set_mki.short b/doc/functions/gnutls_srtp_set_mki.short new file mode 100644 index 0000000..5c95ccd --- /dev/null +++ b/doc/functions/gnutls_srtp_set_mki.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_set_mki} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{mki}) diff --git a/doc/functions/gnutls_srtp_set_profile b/doc/functions/gnutls_srtp_set_profile new file mode 100644 index 0000000..35cafac --- /dev/null +++ b/doc/functions/gnutls_srtp_set_profile @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_srtp_set_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t @var{profile}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profile}: is the profile id to add. + +This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_set_profile.short b/doc/functions/gnutls_srtp_set_profile.short new file mode 100644 index 0000000..781cb95 --- /dev/null +++ b/doc/functions/gnutls_srtp_set_profile.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_set_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t @var{profile}) diff --git a/doc/functions/gnutls_srtp_set_profile_direct b/doc/functions/gnutls_srtp_set_profile_direct new file mode 100644 index 0000000..e066ff4 --- /dev/null +++ b/doc/functions/gnutls_srtp_set_profile_direct @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_srtp_set_profile_direct} (gnutls_session_t @var{session}, const char * @var{profiles}, const char ** @var{err_pos}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profiles}: is a string that contains the supported SRTP profiles, +separated by colons. + +@var{err_pos}: In case of an error this will have the position in the string the error occured, may be NULL. + +This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer. + +@strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, +@code{GNUTLS_E_SUCCESS} on success, or an error code. + +Since 3.1.4 +@end deftypefun diff --git a/doc/functions/gnutls_srtp_set_profile_direct.short b/doc/functions/gnutls_srtp_set_profile_direct.short new file mode 100644 index 0000000..98a37e8 --- /dev/null +++ b/doc/functions/gnutls_srtp_set_profile_direct.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_srtp_set_profile_direct} (gnutls_session_t @var{session}, const char * @var{profiles}, const char ** @var{err_pos}) diff --git a/doc/functions/gnutls_store_commitment b/doc/functions/gnutls_store_commitment index b2901e8..062051f 100644 --- a/doc/functions/gnutls_store_commitment +++ b/doc/functions/gnutls_store_commitment @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_store_commitment} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t* @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_store_commitment} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t * @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default diff --git a/doc/functions/gnutls_store_commitment.short b/doc/functions/gnutls_store_commitment.short index 2d1121e..ab5e573 100644 --- a/doc/functions/gnutls_store_commitment.short +++ b/doc/functions/gnutls_store_commitment.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_store_commitment} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t* @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_store_commitment} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t * @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_store_pubkey b/doc/functions/gnutls_store_pubkey index f1ee1b4..4cf54a0 100644 --- a/doc/functions/gnutls_store_pubkey +++ b/doc/functions/gnutls_store_pubkey @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_store_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_store_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default @@ -19,7 +19,7 @@ @var{flags}: should be 0. -This function will store the provided certificate to +This function will store the provided (raw or DER-encoded) certificate to the list of stored public keys. The key will be considered valid until the provided expiration time. @@ -30,5 +30,5 @@ default file backend will be used. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. -@strong{Since:} 3.0 +@strong{Since:} 3.0.13 @end deftypefun diff --git a/doc/functions/gnutls_store_pubkey.short b/doc/functions/gnutls_store_pubkey.short index 612a8fe..5713387 100644 --- a/doc/functions/gnutls_store_pubkey.short +++ b/doc/functions/gnutls_store_pubkey.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_store_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_store_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_subject_alt_names_deinit b/doc/functions/gnutls_subject_alt_names_deinit new file mode 100644 index 0000000..976c7f2 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_subject_alt_names_deinit} (gnutls_subject_alt_names_t @var{sans}) +@var{sans}: The alternative names structure + +This function will deinitialize an alternative names structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_subject_alt_names_deinit.short b/doc/functions/gnutls_subject_alt_names_deinit.short new file mode 100644 index 0000000..10d16a8 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_subject_alt_names_deinit} (gnutls_subject_alt_names_t @var{sans}) diff --git a/doc/functions/gnutls_subject_alt_names_get b/doc/functions/gnutls_subject_alt_names_get new file mode 100644 index 0000000..d4e8b5b --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_get @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_subject_alt_names_get} (gnutls_subject_alt_names_t @var{sans}, unsigned int @var{seq}, unsigned int * @var{san_type}, gnutls_datum_t * @var{san}, gnutls_datum_t * @var{othername_oid}) +@var{sans}: The alternative names structure + +@var{seq}: The index of the name to get + +@var{san_type}: Will hold the type of the name (of @code{gnutls_subject_alt_names_t} ) + +@var{san}: The alternative name data (should be treated as constant) + +@var{othername_oid}: The object identifier if @code{san_type} is @code{GNUTLS_SAN_OTHERNAME} (should be treated as constant) + +This function will return a specific alternative name as stored in +the @code{sans} structure. The returned values should be treated as constant +and valid for the lifetime of @code{sans} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_subject_alt_names_get.short b/doc/functions/gnutls_subject_alt_names_get.short new file mode 100644 index 0000000..8925aaf --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_subject_alt_names_get} (gnutls_subject_alt_names_t @var{sans}, unsigned int @var{seq}, unsigned int * @var{san_type}, gnutls_datum_t * @var{san}, gnutls_datum_t * @var{othername_oid}) diff --git a/doc/functions/gnutls_subject_alt_names_init b/doc/functions/gnutls_subject_alt_names_init new file mode 100644 index 0000000..73cd594 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_subject_alt_names_init} (gnutls_subject_alt_names_t * @var{sans}) +@var{sans}: The alternative names structure + +This function will initialize an alternative names structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_subject_alt_names_init.short b/doc/functions/gnutls_subject_alt_names_init.short new file mode 100644 index 0000000..b449089 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_subject_alt_names_init} (gnutls_subject_alt_names_t * @var{sans}) diff --git a/doc/functions/gnutls_subject_alt_names_set b/doc/functions/gnutls_subject_alt_names_set new file mode 100644 index 0000000..5c1c3b5 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_set @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_subject_alt_names_set} (gnutls_subject_alt_names_t @var{sans}, unsigned int @var{san_type}, const gnutls_datum_t * @var{san}, const char * @var{othername_oid}) +@var{sans}: The alternative names structure + +@var{san_type}: The type of the name (of @code{gnutls_subject_alt_names_t} ) + +@var{san}: The alternative name data + +@var{othername_oid}: The object identifier if @code{san_type} is @code{GNUTLS_SAN_OTHERNAME} + +This function will store the specified alternative name in +the @code{sans} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0), otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_subject_alt_names_set.short b/doc/functions/gnutls_subject_alt_names_set.short new file mode 100644 index 0000000..cff8505 --- /dev/null +++ b/doc/functions/gnutls_subject_alt_names_set.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_subject_alt_names_set} (gnutls_subject_alt_names_t @var{sans}, unsigned int @var{san_type}, const gnutls_datum_t * @var{san}, const char * @var{othername_oid}) diff --git a/doc/functions/gnutls_supplemental_get_name b/doc/functions/gnutls_supplemental_get_name index 4e03fb4..b815635 100644 --- a/doc/functions/gnutls_supplemental_get_name +++ b/doc/functions/gnutls_supplemental_get_name @@ -2,7 +2,7 @@ -@deftypefun {const char *} {gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) +@deftypefun {const char *} {gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) @var{type}: is a supplemental data format type Convert a @code{gnutls_supplemental_data_format_type_t} value to a diff --git a/doc/functions/gnutls_supplemental_get_name.short b/doc/functions/gnutls_supplemental_get_name.short index 634e190..4a2c110 100644 --- a/doc/functions/gnutls_supplemental_get_name.short +++ b/doc/functions/gnutls_supplemental_get_name.short @@ -1 +1 @@ -@item @var{const char *} @ref{gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) +@item @var{const char *} @ref{gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) diff --git a/doc/functions/gnutls_tdb_init b/doc/functions/gnutls_tdb_init index 7ee3e85..dec24b5 100644 --- a/doc/functions/gnutls_tdb_init +++ b/doc/functions/gnutls_tdb_init @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_tdb_init} (gnutls_tdb_t* @var{tdb}) +@deftypefun {int} {gnutls_tdb_init} (gnutls_tdb_t * @var{tdb}) @var{tdb}: The structure to be initialized This function will initialize a public key trust storage structure. diff --git a/doc/functions/gnutls_tdb_init.short b/doc/functions/gnutls_tdb_init.short index 2dc405d..b53b4b8 100644 --- a/doc/functions/gnutls_tdb_init.short +++ b/doc/functions/gnutls_tdb_init.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_tdb_init} (gnutls_tdb_t* @var{tdb}) +@item @var{int} @ref{gnutls_tdb_init} (gnutls_tdb_t * @var{tdb}) diff --git a/doc/functions/gnutls_tdb_set_store_commitment_func b/doc/functions/gnutls_tdb_set_store_commitment_func index f212041..99b4860 100644 --- a/doc/functions/gnutls_tdb_set_store_commitment_func +++ b/doc/functions/gnutls_tdb_set_store_commitment_func @@ -2,7 +2,7 @@ -@deftypefun {void} {gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) +@deftypefun {void} {gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) @var{tdb}: The trust storage @var{cstore}: The commitment storage function diff --git a/doc/functions/gnutls_tdb_set_store_commitment_func.short b/doc/functions/gnutls_tdb_set_store_commitment_func.short index 07f9e3d..5ad45eb 100644 --- a/doc/functions/gnutls_tdb_set_store_commitment_func.short +++ b/doc/functions/gnutls_tdb_set_store_commitment_func.short @@ -1 +1 @@ -@item @var{void} @ref{gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) +@item @var{void} @ref{gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) diff --git a/doc/functions/gnutls_tpm_get_registered b/doc/functions/gnutls_tpm_get_registered new file mode 100644 index 0000000..779fa42 --- /dev/null +++ b/doc/functions/gnutls_tpm_get_registered @@ -0,0 +1,14 @@ + + + +@deftypefun {int} {gnutls_tpm_get_registered} (gnutls_tpm_key_list_t * @var{list}) +@var{list}: a list to store the keys + +This function will get a list of stored keys in the TPM. The uuid +of those keys + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_tpm_get_registered.short b/doc/functions/gnutls_tpm_get_registered.short new file mode 100644 index 0000000..155e7cf --- /dev/null +++ b/doc/functions/gnutls_tpm_get_registered.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_tpm_get_registered} (gnutls_tpm_key_list_t * @var{list}) diff --git a/doc/functions/gnutls_tpm_key_list_deinit b/doc/functions/gnutls_tpm_key_list_deinit new file mode 100644 index 0000000..63fc418 --- /dev/null +++ b/doc/functions/gnutls_tpm_key_list_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_tpm_key_list_deinit} (gnutls_tpm_key_list_t @var{list}) +@var{list}: a list of the keys + +This function will deinitialize the list of stored keys in the TPM. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_tpm_key_list_deinit.short b/doc/functions/gnutls_tpm_key_list_deinit.short new file mode 100644 index 0000000..e3a546f --- /dev/null +++ b/doc/functions/gnutls_tpm_key_list_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_tpm_key_list_deinit} (gnutls_tpm_key_list_t @var{list}) diff --git a/doc/functions/gnutls_tpm_key_list_get_url b/doc/functions/gnutls_tpm_key_list_get_url new file mode 100644 index 0000000..35ee8e2 --- /dev/null +++ b/doc/functions/gnutls_tpm_key_list_get_url @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_tpm_key_list_get_url} (gnutls_tpm_key_list_t @var{list}, unsigned int @var{idx}, char ** @var{url}, unsigned int @var{flags}) +@var{list}: a list of the keys + +@var{idx}: The index of the key (starting from zero) + +@var{url}: The URL to be returned + +@var{flags}: should be zero + +This function will return for each given index a URL of +the corresponding key. +If the provided index is out of bounds then @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_tpm_key_list_get_url.short b/doc/functions/gnutls_tpm_key_list_get_url.short new file mode 100644 index 0000000..b0448de --- /dev/null +++ b/doc/functions/gnutls_tpm_key_list_get_url.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_tpm_key_list_get_url} (gnutls_tpm_key_list_t @var{list}, unsigned int @var{idx}, char ** @var{url}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_tpm_privkey_delete b/doc/functions/gnutls_tpm_privkey_delete new file mode 100644 index 0000000..f844e86 --- /dev/null +++ b/doc/functions/gnutls_tpm_privkey_delete @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_tpm_privkey_delete} (const char * @var{url}, const char * @var{srk_password}) +@var{url}: the URL describing the key + +@var{srk_password}: a password for the SRK key + +This function will unregister the private key from the TPM +chip. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_tpm_privkey_delete.short b/doc/functions/gnutls_tpm_privkey_delete.short new file mode 100644 index 0000000..c14c769 --- /dev/null +++ b/doc/functions/gnutls_tpm_privkey_delete.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_tpm_privkey_delete} (const char * @var{url}, const char * @var{srk_password}) diff --git a/doc/functions/gnutls_tpm_privkey_generate b/doc/functions/gnutls_tpm_privkey_generate new file mode 100644 index 0000000..74c70ac --- /dev/null +++ b/doc/functions/gnutls_tpm_privkey_generate @@ -0,0 +1,40 @@ + + + + +@deftypefun {int} {gnutls_tpm_privkey_generate} (gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{srk_password}, const char * @var{key_password}, gnutls_tpmkey_fmt_t @var{format}, gnutls_x509_crt_fmt_t @var{pub_format}, gnutls_datum_t * @var{privkey}, gnutls_datum_t * @var{pubkey}, unsigned int @var{flags}) +@var{pk}: the public key algorithm + +@var{bits}: the security bits + +@var{srk_password}: a password to protect the exported key (optional) + +@var{key_password}: the password for the TPM (optional) + +@var{format}: the format of the private key + +@var{pub_format}: the format of the public key + +@var{privkey}: the generated key + +@var{pubkey}: the corresponding public key (may be null) + +@var{flags}: should be a list of GNUTLS_TPM_* flags + +This function will generate a private key in the TPM +chip. The private key will be generated within the chip +and will be exported in a wrapped with TPM's master key +form. Furthermore the wrapped key can be protected with +the provided @code{password} . + +Note that bits in TPM is quantized value. If the input value +is not one of the allowed values, then it will be quantized to +one of 512, 1024, 2048, 4096, 8192 and 16384. + +Allowed flags are: + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_tpm_privkey_generate.short b/doc/functions/gnutls_tpm_privkey_generate.short new file mode 100644 index 0000000..3778c7a --- /dev/null +++ b/doc/functions/gnutls_tpm_privkey_generate.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_tpm_privkey_generate} (gnutls_pk_algorithm_t @var{pk}, unsigned int @var{bits}, const char * @var{srk_password}, const char * @var{key_password}, gnutls_tpmkey_fmt_t @var{format}, gnutls_x509_crt_fmt_t @var{pub_format}, gnutls_datum_t * @var{privkey}, gnutls_datum_t * @var{pubkey}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_transport_get_int b/doc/functions/gnutls_transport_get_int new file mode 100644 index 0000000..0e34d92 --- /dev/null +++ b/doc/functions/gnutls_transport_get_int @@ -0,0 +1,15 @@ + + + + +@deftypefun {int} {gnutls_transport_get_int} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Used to get the first argument of the transport function (like +PUSH and PULL). This must have been set using +@code{gnutls_transport_set_int()} . + +@strong{Returns:} The first argument of the transport function. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_transport_get_int.short b/doc/functions/gnutls_transport_get_int.short new file mode 100644 index 0000000..7acffd1 --- /dev/null +++ b/doc/functions/gnutls_transport_get_int.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_transport_get_int} (gnutls_session_t @var{session}) diff --git a/doc/functions/gnutls_transport_get_int2 b/doc/functions/gnutls_transport_get_int2 new file mode 100644 index 0000000..fe28b4c --- /dev/null +++ b/doc/functions/gnutls_transport_get_int2 @@ -0,0 +1,17 @@ + + + + +@deftypefun {void} {gnutls_transport_get_int2} (gnutls_session_t @var{session}, int * @var{recv_int}, int * @var{send_int}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{recv_int}: will hold the value for the pull function + +@var{send_int}: will hold the value for the push function + +Used to get the arguments of the transport functions (like PUSH +and PULL). These should have been set using +@code{gnutls_transport_set_int2()} . + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_transport_get_int2.short b/doc/functions/gnutls_transport_get_int2.short new file mode 100644 index 0000000..d417b4a --- /dev/null +++ b/doc/functions/gnutls_transport_get_int2.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_transport_get_int2} (gnutls_session_t @var{session}, int * @var{recv_int}, int * @var{send_int}) diff --git a/doc/functions/gnutls_transport_set_int b/doc/functions/gnutls_transport_set_int new file mode 100644 index 0000000..b2a3523 --- /dev/null +++ b/doc/functions/gnutls_transport_set_int @@ -0,0 +1,14 @@ + + + + +@deftypefun {void} {gnutls_transport_set_int} (gnutls_session_t @var{session}, int @var{i}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{i}: is the value. + +Used to set the first argument of the transport function (for push +and pull callbacks) for berkeley style sockets. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_transport_set_int.short b/doc/functions/gnutls_transport_set_int.short new file mode 100644 index 0000000..9a8ad76 --- /dev/null +++ b/doc/functions/gnutls_transport_set_int.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_transport_set_int} (gnutls_session_t @var{session}, int @var{i}) diff --git a/doc/functions/gnutls_transport_set_int2 b/doc/functions/gnutls_transport_set_int2 new file mode 100644 index 0000000..0859b09 --- /dev/null +++ b/doc/functions/gnutls_transport_set_int2 @@ -0,0 +1,18 @@ + + + + +@deftypefun {void} {gnutls_transport_set_int2} (gnutls_session_t @var{session}, int @var{recv_int}, int @var{send_int}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{recv_int}: is the value for the pull function + +@var{send_int}: is the value for the push function + +Used to set the first argument of the transport function (for push +and pull callbacks), when using the berkeley style sockets. +With this function you can set two different +pointers for receiving and sending. + +@strong{Since:} 3.1.9 +@end deftypefun diff --git a/doc/functions/gnutls_transport_set_int2.short b/doc/functions/gnutls_transport_set_int2.short new file mode 100644 index 0000000..8c3e91f --- /dev/null +++ b/doc/functions/gnutls_transport_set_int2.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_transport_set_int2} (gnutls_session_t @var{session}, int @var{recv_int}, int @var{send_int}) diff --git a/doc/functions/gnutls_transport_set_pull_timeout_function b/doc/functions/gnutls_transport_set_pull_timeout_function index e695b0d..939e72e 100644 --- a/doc/functions/gnutls_transport_set_pull_timeout_function +++ b/doc/functions/gnutls_transport_set_pull_timeout_function @@ -12,11 +12,13 @@ whether data are ready to be received. It should wait for data a given time frame in milliseconds. The callback should return 0 on timeout, a positive number if data can be received, and -1 on error. You'll need to override this function if @code{select()} is not suitable -for the provided transport calls. -The callback function is used in DTLS only. +for the provided transport calls. + +As with @code{select()} , if the timeout value is zero the callback should return +zero if no data are immediately available. @code{gnutls_pull_timeout_func} is of the form, -ssize_t (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms); +int (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms); @strong{Since:} 3.0 @end deftypefun diff --git a/doc/functions/gnutls_url_is_supported b/doc/functions/gnutls_url_is_supported new file mode 100644 index 0000000..6d00542 --- /dev/null +++ b/doc/functions/gnutls_url_is_supported @@ -0,0 +1,15 @@ + + + + +@deftypefun {int} {gnutls_url_is_supported} (const char * @var{url}) +@var{url}: A PKCS 11 url + +Check whether url is supported. Depending on the system libraries +GnuTLS may support pkcs11 or tpmkey URLs. + +@strong{Returns:} return non-zero if the given URL is supported, and zero if +it is not known. + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_url_is_supported.short b/doc/functions/gnutls_url_is_supported.short new file mode 100644 index 0000000..09faa95 --- /dev/null +++ b/doc/functions/gnutls_url_is_supported.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_url_is_supported} (const char * @var{url}) diff --git a/doc/functions/gnutls_verify_stored_pubkey b/doc/functions/gnutls_verify_stored_pubkey index 83139a3..1515721 100644 --- a/doc/functions/gnutls_verify_stored_pubkey +++ b/doc/functions/gnutls_verify_stored_pubkey @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_verify_stored_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_verify_stored_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default @@ -17,8 +17,8 @@ @var{flags}: should be 0. -This function will try to verify the provided certificate using -a list of stored public keys. The @code{service} field if non-NULL should +This function will try to verify the provided (raw or DER-encoded) certificate +using a list of stored public keys. The @code{service} field if non-NULL should be a port number. The @code{retrieve} variable if non-null specifies a custom backend for @@ -39,5 +39,5 @@ is found but does not match @code{GNUTLS_E_CERTIFICATE_KEY_MISMATCH} is returned. On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or a negative error value on other errors. -@strong{Since:} 3.0 +@strong{Since:} 3.0.13 @end deftypefun diff --git a/doc/functions/gnutls_verify_stored_pubkey.short b/doc/functions/gnutls_verify_stored_pubkey.short index 74e250a..3ecf88d 100644 --- a/doc/functions/gnutls_verify_stored_pubkey.short +++ b/doc/functions/gnutls_verify_stored_pubkey.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_verify_stored_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_verify_stored_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_aia_deinit b/doc/functions/gnutls_x509_aia_deinit new file mode 100644 index 0000000..617dd4a --- /dev/null +++ b/doc/functions/gnutls_x509_aia_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_aia_deinit} (gnutls_x509_aia_t @var{aia}) +@var{aia}: The authority info access structure + +This function will deinitialize a CRL distribution points structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aia_deinit.short b/doc/functions/gnutls_x509_aia_deinit.short new file mode 100644 index 0000000..0ce503a --- /dev/null +++ b/doc/functions/gnutls_x509_aia_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_aia_deinit} (gnutls_x509_aia_t @var{aia}) diff --git a/doc/functions/gnutls_x509_aia_get b/doc/functions/gnutls_x509_aia_get new file mode 100644 index 0000000..e6afadd --- /dev/null +++ b/doc/functions/gnutls_x509_aia_get @@ -0,0 +1,28 @@ + + + + +@deftypefun {int} {gnutls_x509_aia_get} (gnutls_x509_aia_t @var{aia}, unsigned int @var{seq}, gnutls_datum_t * @var{oid}, unsigned * @var{san_type}, gnutls_datum_t * @var{san}) +@var{aia}: The authority info access structure + +@var{seq}: specifies the sequence number of the access descriptor (0 for the first one, 1 for the second etc.) + +@var{oid}: the type of available data; to be treated as constant. + +@var{san_type}: Will hold the type of the name of @code{gnutls_subject_alt_names_t} (may be null). + +@var{san}: the access location name; to be treated as constant (may be null). + +This function reads from the Authority Information Access structure. + +The @code{seq} input parameter is used to indicate which member of the +sequence the caller is interested in. The first member is 0, the +second member 1 and so on. When the @code{seq} value is out of bounds, +@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. + +Typically @code{oid} is @code{GNUTLS_OID_AD_CAISSUERS} or @code{GNUTLS_OID_AD_OCSP} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aia_get.short b/doc/functions/gnutls_x509_aia_get.short new file mode 100644 index 0000000..75911b0 --- /dev/null +++ b/doc/functions/gnutls_x509_aia_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aia_get} (gnutls_x509_aia_t @var{aia}, unsigned int @var{seq}, gnutls_datum_t * @var{oid}, unsigned * @var{san_type}, gnutls_datum_t * @var{san}) diff --git a/doc/functions/gnutls_x509_aia_init b/doc/functions/gnutls_x509_aia_init new file mode 100644 index 0000000..89544c7 --- /dev/null +++ b/doc/functions/gnutls_x509_aia_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_aia_init} (gnutls_x509_aia_t * @var{aia}) +@var{aia}: The authority info access structure + +This function will initialize a CRL distribution points structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aia_init.short b/doc/functions/gnutls_x509_aia_init.short new file mode 100644 index 0000000..7f924eb --- /dev/null +++ b/doc/functions/gnutls_x509_aia_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aia_init} (gnutls_x509_aia_t * @var{aia}) diff --git a/doc/functions/gnutls_x509_aia_set b/doc/functions/gnutls_x509_aia_set new file mode 100644 index 0000000..de53ef2 --- /dev/null +++ b/doc/functions/gnutls_x509_aia_set @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_aia_set} (gnutls_x509_aia_t @var{aia}, const char * @var{oid}, unsigned @var{san_type}, const gnutls_datum_t * @var{san}) +@var{aia}: The authority info access structure + +@var{oid}: the type of data. + +@var{san_type}: The type of the name (of @code{gnutls_subject_alt_names_t} ) + +@var{san}: The alternative name data + +This function will store the specified alternative name in +the @code{aia} structure. + +Typically the value for @code{oid} should be @code{GNUTLS_OID_AD_OCSP} , or +@code{GNUTLS_OID_AD_CAISSUERS} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0), otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aia_set.short b/doc/functions/gnutls_x509_aia_set.short new file mode 100644 index 0000000..148e15c --- /dev/null +++ b/doc/functions/gnutls_x509_aia_set.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aia_set} (gnutls_x509_aia_t @var{aia}, const char * @var{oid}, unsigned @var{san_type}, const gnutls_datum_t * @var{san}) diff --git a/doc/functions/gnutls_x509_aki_deinit b/doc/functions/gnutls_x509_aki_deinit new file mode 100644 index 0000000..f80a66b --- /dev/null +++ b/doc/functions/gnutls_x509_aki_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_aki_deinit} (gnutls_x509_aki_t @var{aki}) +@var{aki}: The authority key identifier structure + +This function will deinitialize an authority key identifier structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_deinit.short b/doc/functions/gnutls_x509_aki_deinit.short new file mode 100644 index 0000000..14321ff --- /dev/null +++ b/doc/functions/gnutls_x509_aki_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_aki_deinit} (gnutls_x509_aki_t @var{aki}) diff --git a/doc/functions/gnutls_x509_aki_get_cert_issuer b/doc/functions/gnutls_x509_aki_get_cert_issuer new file mode 100644 index 0000000..052a472 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_get_cert_issuer @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_aki_get_cert_issuer} (gnutls_x509_aki_t @var{aki}, unsigned int @var{seq}, unsigned int * @var{san_type}, gnutls_datum_t * @var{san}, gnutls_datum_t * @var{othername_oid}, gnutls_datum_t * @var{serial}) +@var{aki}: The authority key ID structure + +@var{seq}: The index of the name to get + +@var{san_type}: Will hold the type of the name (of @code{gnutls_subject_alt_names_t} ), may be null + +@var{san}: The alternative name data (may be null and should be treated as constant) + +@var{othername_oid}: The object identifier if @code{san_type} is @code{GNUTLS_SAN_OTHERNAME} (should be treated as constant) + +@var{serial}: The authorityCertSerialNumber number (may be null) + +This function will return a specific authorityCertIssuer name as stored in +the @code{aki} structure, as well as the authorityCertSerialNumber. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_get_cert_issuer.short b/doc/functions/gnutls_x509_aki_get_cert_issuer.short new file mode 100644 index 0000000..e81664f --- /dev/null +++ b/doc/functions/gnutls_x509_aki_get_cert_issuer.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aki_get_cert_issuer} (gnutls_x509_aki_t @var{aki}, unsigned int @var{seq}, unsigned int * @var{san_type}, gnutls_datum_t * @var{san}, gnutls_datum_t * @var{othername_oid}, gnutls_datum_t * @var{serial}) diff --git a/doc/functions/gnutls_x509_aki_get_id b/doc/functions/gnutls_x509_aki_get_id new file mode 100644 index 0000000..d4e7bd4 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_get_id @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_aki_get_id} (gnutls_x509_aki_t @var{aki}, gnutls_datum_t * @var{id}) +@var{aki}: The authority key ID structure + +@var{id}: Will hold the identifier + +This function will return the key identifier as stored in +the @code{aki} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_get_id.short b/doc/functions/gnutls_x509_aki_get_id.short new file mode 100644 index 0000000..930cdec --- /dev/null +++ b/doc/functions/gnutls_x509_aki_get_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aki_get_id} (gnutls_x509_aki_t @var{aki}, gnutls_datum_t * @var{id}) diff --git a/doc/functions/gnutls_x509_aki_init b/doc/functions/gnutls_x509_aki_init new file mode 100644 index 0000000..0c22c81 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_aki_init} (gnutls_x509_aki_t * @var{aki}) +@var{aki}: The authority key ID structure + +This function will initialize an authority key ID structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_init.short b/doc/functions/gnutls_x509_aki_init.short new file mode 100644 index 0000000..6a33e60 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aki_init} (gnutls_x509_aki_t * @var{aki}) diff --git a/doc/functions/gnutls_x509_aki_set_cert_issuer b/doc/functions/gnutls_x509_aki_set_cert_issuer new file mode 100644 index 0000000..a751bd4 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_set_cert_issuer @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_aki_set_cert_issuer} (gnutls_x509_aki_t @var{aki}, unsigned int @var{san_type}, const gnutls_datum_t * @var{san}, const char * @var{othername_oid}, const gnutls_datum_t * @var{serial}) +@var{aki}: The authority key ID structure + +@var{san_type}: the type of the name (of @code{gnutls_subject_alt_names_t} ), may be null + +@var{san}: The alternative name data + +@var{othername_oid}: The object identifier if @code{san_type} is @code{GNUTLS_SAN_OTHERNAME} + +@var{serial}: The authorityCertSerialNumber number (may be null) + +This function will set the authorityCertIssuer name and the authorityCertSerialNumber +to be stored in the @code{aki} structure. When storing multiple names, the serial +should be set on the first call, and subsequent calls should use a @code{NULL} serial. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_set_cert_issuer.short b/doc/functions/gnutls_x509_aki_set_cert_issuer.short new file mode 100644 index 0000000..353a7a1 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_set_cert_issuer.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aki_set_cert_issuer} (gnutls_x509_aki_t @var{aki}, unsigned int @var{san_type}, const gnutls_datum_t * @var{san}, const char * @var{othername_oid}, const gnutls_datum_t * @var{serial}) diff --git a/doc/functions/gnutls_x509_aki_set_id b/doc/functions/gnutls_x509_aki_set_id new file mode 100644 index 0000000..073c9fd --- /dev/null +++ b/doc/functions/gnutls_x509_aki_set_id @@ -0,0 +1,15 @@ + + + + +@deftypefun {int} {gnutls_x509_aki_set_id} (gnutls_x509_aki_t @var{aki}, const gnutls_datum_t * @var{id}) +@var{aki}: The authority key ID structure + +@var{id}: the key identifier + +This function will set the keyIdentifier to be stored in the @code{aki} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_aki_set_id.short b/doc/functions/gnutls_x509_aki_set_id.short new file mode 100644 index 0000000..e336824 --- /dev/null +++ b/doc/functions/gnutls_x509_aki_set_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_aki_set_id} (gnutls_x509_aki_t @var{aki}, const gnutls_datum_t * @var{id}) diff --git a/doc/functions/gnutls_x509_crl_check_issuer b/doc/functions/gnutls_x509_crl_check_issuer index 4b43fe0..0caa044 100644 --- a/doc/functions/gnutls_x509_crl_check_issuer +++ b/doc/functions/gnutls_x509_crl_check_issuer @@ -8,9 +8,8 @@ @var{issuer}: is the certificate of a possible issuer This function will check if the given CRL was issued by the given -issuer certificate. It will return true (1) if the given CRL was -issued by the given issuer, and false (0) if not. +issuer certificate. -@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a -negative error value. +@strong{Returns:} true (1) if the given CRL was issued by the given issuer, +and false (0) if not. @end deftypefun diff --git a/doc/functions/gnutls_x509_crl_deinit b/doc/functions/gnutls_x509_crl_deinit index 6f99288..2c73c43 100644 --- a/doc/functions/gnutls_x509_crl_deinit +++ b/doc/functions/gnutls_x509_crl_deinit @@ -3,7 +3,7 @@ @deftypefun {void} {gnutls_x509_crl_deinit} (gnutls_x509_crl_t @var{crl}) -@var{crl}: The structure to be initialized +@var{crl}: The structure to be deinitialized This function will deinitialize a CRL structure. @end deftypefun diff --git a/doc/functions/gnutls_x509_crl_dist_points_deinit b/doc/functions/gnutls_x509_crl_dist_points_deinit new file mode 100644 index 0000000..81b4739 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_crl_dist_points_deinit} (gnutls_x509_crl_dist_points_t @var{cdp}) +@var{cdp}: The CRL distribution points structure + +This function will deinitialize a CRL distribution points structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_dist_points_deinit.short b/doc/functions/gnutls_x509_crl_dist_points_deinit.short new file mode 100644 index 0000000..e7c4680 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_crl_dist_points_deinit} (gnutls_x509_crl_dist_points_t @var{cdp}) diff --git a/doc/functions/gnutls_x509_crl_dist_points_get b/doc/functions/gnutls_x509_crl_dist_points_get new file mode 100644 index 0000000..105aea7 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_get @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_dist_points_get} (gnutls_x509_crl_dist_points_t @var{cdp}, unsigned int @var{seq}, unsigned int * @var{type}, gnutls_datum_t * @var{san}, unsigned int * @var{reasons}) +@var{cdp}: The CRL distribution points structure + +@var{seq}: specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.) + +@var{type}: The name type of the corresponding name (gnutls_x509_subject_alt_name_t) + +@var{san}: The distribution point names (to be treated as constant) + +@var{reasons}: Revocation reasons. An ORed sequence of flags from @code{gnutls_x509_crl_reason_flags_t} . + +This function retrieves the individual CRL distribution points (2.5.29.31), +contained in provided structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_dist_points_get.short b/doc/functions/gnutls_x509_crl_dist_points_get.short new file mode 100644 index 0000000..bf3a3b2 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_dist_points_get} (gnutls_x509_crl_dist_points_t @var{cdp}, unsigned int @var{seq}, unsigned int * @var{type}, gnutls_datum_t * @var{san}, unsigned int * @var{reasons}) diff --git a/doc/functions/gnutls_x509_crl_dist_points_init b/doc/functions/gnutls_x509_crl_dist_points_init new file mode 100644 index 0000000..5182169 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_dist_points_init} (gnutls_x509_crl_dist_points_t * @var{cdp}) +@var{cdp}: The CRL distribution points structure + +This function will initialize a CRL distribution points structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_dist_points_init.short b/doc/functions/gnutls_x509_crl_dist_points_init.short new file mode 100644 index 0000000..4582b1c --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_dist_points_init} (gnutls_x509_crl_dist_points_t * @var{cdp}) diff --git a/doc/functions/gnutls_x509_crl_dist_points_set b/doc/functions/gnutls_x509_crl_dist_points_set new file mode 100644 index 0000000..5f72294 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_set @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_dist_points_set} (gnutls_x509_crl_dist_points_t @var{cdp}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{san}, unsigned int @var{reasons}) +@var{cdp}: The CRL distribution points structure + +@var{type}: The type of the name (of @code{gnutls_subject_alt_names_t} ) + +@var{san}: The point name data + +@var{reasons}: Revocation reasons. An ORed sequence of flags from @code{gnutls_x509_crl_reason_flags_t} . + +This function will store the specified CRL distibution point value +the @code{cdp} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0), otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_dist_points_set.short b/doc/functions/gnutls_x509_crl_dist_points_set.short new file mode 100644 index 0000000..a65fb3b --- /dev/null +++ b/doc/functions/gnutls_x509_crl_dist_points_set.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_dist_points_set} (gnutls_x509_crl_dist_points_t @var{cdp}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{san}, unsigned int @var{reasons}) diff --git a/doc/functions/gnutls_x509_crl_export2 b/doc/functions/gnutls_x509_crl_export2 new file mode 100644 index 0000000..864c067 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_export2 @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_export2} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{crl}: Holds the revocation list + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a private key PEM or DER encoded + +This function will export the revocation list to DER or PEM format. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN X509 CRL". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on failure. + +Since 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_export2.short b/doc/functions/gnutls_x509_crl_export2.short new file mode 100644 index 0000000..213df38 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_export2} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial b/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial index 5102e37..45940e5 100644 --- a/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial +++ b/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_crl_get_authority_key_gn_serial} (gnutls_x509_crl_t @var{crl}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void* @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crl_get_authority_key_gn_serial} (gnutls_x509_crl_t @var{crl}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void * @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) @var{crl}: should contain a @code{gnutls_x509_crl_t} structure @var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -17,7 +17,7 @@ @var{serial_size}: Holds the size of the serial field (may be null) -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the X.509 authority key identifier when stored as a general name (authorityCertIssuer) diff --git a/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial.short b/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial.short index b5fee99..897da16 100644 --- a/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial.short +++ b/doc/functions/gnutls_x509_crl_get_authority_key_gn_serial.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crl_get_authority_key_gn_serial} (gnutls_x509_crl_t @var{crl}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void* @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crl_get_authority_key_gn_serial} (gnutls_x509_crl_t @var{crl}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void * @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crl_get_authority_key_id b/doc/functions/gnutls_x509_crl_get_authority_key_id index cb76eab..3d93b66 100644 --- a/doc/functions/gnutls_x509_crl_get_authority_key_id +++ b/doc/functions/gnutls_x509_crl_get_authority_key_id @@ -9,7 +9,7 @@ @var{id_size}: Holds the size of the result field. -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the CRL authority's key identifier. This diff --git a/doc/functions/gnutls_x509_crl_get_crt_serial b/doc/functions/gnutls_x509_crl_get_crt_serial index ae034b3..9cd4563 100644 --- a/doc/functions/gnutls_x509_crl_get_crt_serial +++ b/doc/functions/gnutls_x509_crl_get_crt_serial @@ -16,6 +16,9 @@ This function will retrieve the serial number of the specified, by the index, revoked certificate. +Note that this function will have performance issues in large sequences +of revoked certificates. In that case use @code{gnutls_x509_crl_iter_crt_serial()} . + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. and a negative error code on error. @end deftypefun diff --git a/doc/functions/gnutls_x509_crl_get_extension_data2 b/doc/functions/gnutls_x509_crl_get_extension_data2 new file mode 100644 index 0000000..3340488 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_get_extension_data2 @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_get_extension_data2} (gnutls_x509_crl_t @var{crl}, unsigned @var{indx}, gnutls_datum_t * @var{data}) +@var{crl}: should contain a @code{gnutls_x509_crl_t} structure + +@var{indx}: Specifies which extension OID to read. Use (0) to get the first one. + +@var{data}: will contain the extension DER-encoded data + +This function will return the requested by the index extension data in the +certificate revocation list. The extension data will be allocated using +@code{gnutls_malloc()} . + +Use @code{gnutls_x509_crt_get_extension_info()} to extract the OID. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +will be returned. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_get_extension_data2.short b/doc/functions/gnutls_x509_crl_get_extension_data2.short new file mode 100644 index 0000000..bb60639 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_get_extension_data2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_get_extension_data2} (gnutls_x509_crl_t @var{crl}, unsigned @var{indx}, gnutls_datum_t * @var{data}) diff --git a/doc/functions/gnutls_x509_crl_get_issuer_dn2 b/doc/functions/gnutls_x509_crl_get_issuer_dn2 new file mode 100644 index 0000000..d0eb561 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_get_issuer_dn2 @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_get_issuer_dn2} (gnutls_x509_crl_t @var{crl}, gnutls_datum_t * @var{dn}) +@var{crl}: should contain a @code{gnutls_x509_crl_t} structure + +@var{dn}: a pointer to a structure to hold the name + +This function will allocate buffer and copy the name of the CRL issuer. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on error. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_get_issuer_dn2.short b/doc/functions/gnutls_x509_crl_get_issuer_dn2.short new file mode 100644 index 0000000..a2ec908 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_get_issuer_dn2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_get_issuer_dn2} (gnutls_x509_crl_t @var{crl}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crl_get_issuer_dn_by_oid b/doc/functions/gnutls_x509_crl_get_issuer_dn_by_oid index edd682e..e2a54f7 100644 --- a/doc/functions/gnutls_x509_crl_get_issuer_dn_by_oid +++ b/doc/functions/gnutls_x509_crl_get_issuer_dn_by_oid @@ -9,7 +9,7 @@ @var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one. -@var{raw_flag}: If non (0) returns the raw DER data of the DN part. +@var{raw_flag}: If non-zero returns the raw DER data of the DN part. @var{buf}: a pointer to a structure to hold the peer's name (may be null) diff --git a/doc/functions/gnutls_x509_crl_get_number b/doc/functions/gnutls_x509_crl_get_number index c4df895..82c315e 100644 --- a/doc/functions/gnutls_x509_crl_get_number +++ b/doc/functions/gnutls_x509_crl_get_number @@ -9,7 +9,7 @@ @var{ret_size}: Holds the size of the result field. -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the CRL number extension. This is diff --git a/doc/functions/gnutls_x509_crl_iter_crt_serial b/doc/functions/gnutls_x509_crl_iter_crt_serial new file mode 100644 index 0000000..6364112 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_iter_crt_serial @@ -0,0 +1,28 @@ + + + + +@deftypefun {int} {gnutls_x509_crl_iter_crt_serial} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crl_iter_t * @var{iter}, unsigned char * @var{serial}, size_t * @var{serial_size}, time_t * @var{t}) +@var{crl}: should contain a @code{gnutls_x509_crl_t} structure + +@var{iter}: A pointer to an iterator (initially the iterator should be @code{NULL} ) + +@var{serial}: where the serial number will be copied + +@var{serial_size}: initially holds the size of serial + +@var{t}: if non null, will hold the time this certificate was revoked + +This function performs the same as @code{gnutls_x509_crl_get_crt_serial()} , +but reads sequentially and keeps state in the iterator +between calls. That allows it to provide better performance in sequences +with many elements (50000+). + +When past the last element is accessed @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +is returned and the iterator is reset. + +After use, the iterator must be deinitialized using @code{gnutls_x509_crl_iter_deinit()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on error. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_iter_crt_serial.short b/doc/functions/gnutls_x509_crl_iter_crt_serial.short new file mode 100644 index 0000000..8579bc4 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_iter_crt_serial.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crl_iter_crt_serial} (gnutls_x509_crl_t @var{crl}, gnutls_x509_crl_iter_t * @var{iter}, unsigned char * @var{serial}, size_t * @var{serial_size}, time_t * @var{t}) diff --git a/doc/functions/gnutls_x509_crl_iter_deinit b/doc/functions/gnutls_x509_crl_iter_deinit new file mode 100644 index 0000000..6c12b79 --- /dev/null +++ b/doc/functions/gnutls_x509_crl_iter_deinit @@ -0,0 +1,9 @@ + + + + +@deftypefun {void} {gnutls_x509_crl_iter_deinit} (gnutls_x509_crl_iter_t @var{iter}) +@var{iter}: The iterator structure to be deinitialized + +This function will deinitialize an iterator structure. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crl_iter_deinit.short b/doc/functions/gnutls_x509_crl_iter_deinit.short new file mode 100644 index 0000000..a64b5dd --- /dev/null +++ b/doc/functions/gnutls_x509_crl_iter_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_crl_iter_deinit} (gnutls_x509_crl_iter_t @var{iter}) diff --git a/doc/functions/gnutls_x509_crl_print b/doc/functions/gnutls_x509_crl_print index 479bff0..73e9248 100644 --- a/doc/functions/gnutls_x509_crl_print +++ b/doc/functions/gnutls_x509_crl_print @@ -12,7 +12,7 @@ This function will pretty print a X.509 certificate revocation list, suitable for display to a human. -The output @code{out} needs to be deallocate using @code{gnutls_free()} . +The output @code{out} needs to be deallocated using @code{gnutls_free()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crl_verify b/doc/functions/gnutls_x509_crl_verify index ab705d4..fade2be 100644 --- a/doc/functions/gnutls_x509_crl_verify +++ b/doc/functions/gnutls_x509_crl_verify @@ -2,20 +2,25 @@ -@deftypefun {int} {gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) +@deftypefun {int} {gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{trusted_cas}, int @var{tcas_size}, unsigned int @var{flags}, unsigned int * @var{verify}) @var{crl}: is the crl to be verified -@var{CA_list}: is a certificate list that is considered to be trusted one +@var{trusted_cas}: is a certificate list that is considered to be trusted one -@var{CA_list_length}: holds the number of CA certificates in CA_list +@var{tcas_size}: holds the number of CA certificates in CA_list @var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. @var{verify}: will hold the crl verification output. -This function will try to verify the given crl and return its status. +This function will try to verify the given crl and return its verification status. See @code{gnutls_x509_crt_list_verify()} for a detailed description of -return values. +return values. Note that since GnuTLS 3.1.4 this function includes +the time checks. + +Note that value in @code{verify} is set only when the return value of this +function is success (i.e, failure to trust a CRL a certificate does not imply +a negative return value). @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crl_verify.short b/doc/functions/gnutls_x509_crl_verify.short index db22fc1..d0f4288 100644 --- a/doc/functions/gnutls_x509_crl_verify.short +++ b/doc/functions/gnutls_x509_crl_verify.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{CA_list}, int @var{CA_list_length}, unsigned int @var{flags}, unsigned int * @var{verify}) +@item @var{int} @ref{gnutls_x509_crl_verify} (gnutls_x509_crl_t @var{crl}, const gnutls_x509_crt_t * @var{trusted_cas}, int @var{tcas_size}, unsigned int @var{flags}, unsigned int * @var{verify}) diff --git a/doc/functions/gnutls_x509_crq_export2 b/doc/functions/gnutls_x509_crq_export2 new file mode 100644 index 0000000..cc6f6e9 --- /dev/null +++ b/doc/functions/gnutls_x509_crq_export2 @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_crq_export2} (gnutls_x509_crq_t @var{crq}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{crq}: should contain a @code{gnutls_x509_crq_t} structure + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a certificate request PEM or DER encoded + +This function will export the certificate request to a PEM or DER +encoded PKCS10 structure. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header of "BEGIN +NEW CERTIFICATE REQUEST". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +Since 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crq_export2.short b/doc/functions/gnutls_x509_crq_export2.short new file mode 100644 index 0000000..5ce0246 --- /dev/null +++ b/doc/functions/gnutls_x509_crq_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crq_export2} (gnutls_x509_crq_t @var{crq}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_crq_get_attribute_by_oid b/doc/functions/gnutls_x509_crq_get_attribute_by_oid index d77c16f..d58efbf 100644 --- a/doc/functions/gnutls_x509_crq_get_attribute_by_oid +++ b/doc/functions/gnutls_x509_crq_get_attribute_by_oid @@ -2,22 +2,25 @@ -@deftypefun {int} {gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{oid}: holds an Object Identified in (0)-terminated string +@var{oid}: holds an Object Identifier in null-terminated string @var{indx}: In case multiple same OIDs exist in the attribute list, this -specifies which to send, use (0) to get the first one +specifies which to get, use (0) to get the first one @var{buf}: a pointer to a structure to hold the attribute data (may be @code{NULL} ) -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{buf_size}: initially holds the size of @code{buf} This function will return the attribute in the certificate request specified by the given Object ID. The attribute will be DER encoded. +Attributes in a certificate request is an optional set of data +appended to the request. Their interpretation depends on the CA policy. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @end deftypefun diff --git a/doc/functions/gnutls_x509_crq_get_attribute_by_oid.short b/doc/functions/gnutls_x509_crq_get_attribute_by_oid.short index 46944f7..f2c0bd9 100644 --- a/doc/functions/gnutls_x509_crq_get_attribute_by_oid.short +++ b/doc/functions/gnutls_x509_crq_get_attribute_by_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_crq_get_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_crq_get_attribute_data b/doc/functions/gnutls_x509_crq_get_attribute_data index 94c9e5e..cf02c2d 100644 --- a/doc/functions/gnutls_x509_crq_get_attribute_data +++ b/doc/functions/gnutls_x509_crq_get_attribute_data @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_attribute_data} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{indx}: Specifies which attribute OID to send. Use (0) to get the first one. +@var{indx}: Specifies which attribute number to get. Use (0) to get the first one. @var{data}: a pointer to a structure to hold the data (may be null) diff --git a/doc/functions/gnutls_x509_crq_get_attribute_info b/doc/functions/gnutls_x509_crq_get_attribute_info index a0e00ce..ded3e4f 100644 --- a/doc/functions/gnutls_x509_crq_get_attribute_info +++ b/doc/functions/gnutls_x509_crq_get_attribute_info @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_attribute_info} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{indx}: Specifies which attribute OID to send. Use (0) to get the first one. +@var{indx}: Specifies which attribute number to get. Use (0) to get the first one. @var{oid}: a pointer to a structure to hold the OID diff --git a/doc/functions/gnutls_x509_crq_get_basic_constraints b/doc/functions/gnutls_x509_crq_get_basic_constraints index bb4bb6f..17027ef 100644 --- a/doc/functions/gnutls_x509_crq_get_basic_constraints +++ b/doc/functions/gnutls_x509_crq_get_basic_constraints @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_basic_constraints} (gnutls_x509_crq_t @var{crq}, unsigned int * @var{critical}, unsigned int * @var{ca}, int * @var{pathlen}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical @var{ca}: pointer to output integer indicating CA status, may be NULL, value is 1 if the certificate CA flag is set, 0 otherwise. diff --git a/doc/functions/gnutls_x509_crq_get_challenge_password b/doc/functions/gnutls_x509_crq_get_challenge_password index db2003c..111dacd 100644 --- a/doc/functions/gnutls_x509_crq_get_challenge_password +++ b/doc/functions/gnutls_x509_crq_get_challenge_password @@ -2,12 +2,12 @@ -@deftypefun {int} {gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{sizeof_pass}) +@deftypefun {int} {gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{pass_size}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure @var{pass}: will hold a (0)-terminated password string -@var{sizeof_pass}: Initially holds the size of @code{pass} . +@var{pass_size}: Initially holds the size of @code{pass} . This function will return the challenge password in the request. The challenge password is intended to be used for requesting a diff --git a/doc/functions/gnutls_x509_crq_get_challenge_password.short b/doc/functions/gnutls_x509_crq_get_challenge_password.short index 829e67d..6c8210c 100644 --- a/doc/functions/gnutls_x509_crq_get_challenge_password.short +++ b/doc/functions/gnutls_x509_crq_get_challenge_password.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{sizeof_pass}) +@item @var{int} @ref{gnutls_x509_crq_get_challenge_password} (gnutls_x509_crq_t @var{crq}, char * @var{pass}, size_t * @var{pass_size}) diff --git a/doc/functions/gnutls_x509_crq_get_dn b/doc/functions/gnutls_x509_crq_get_dn index e7a0e38..4961eee 100644 --- a/doc/functions/gnutls_x509_crq_get_dn +++ b/doc/functions/gnutls_x509_crq_get_dn @@ -2,12 +2,12 @@ -@deftypefun {int} {gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{buf_size}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure @var{buf}: a pointer to a structure to hold the name (may be @code{NULL} ) -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{buf_size}: initially holds the size of @code{buf} This function will copy the name of the Certificate request subject to the provided buffer. The name will be in the form @@ -16,6 +16,6 @@ to the provided buffer. The name will be in the form data. @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is not -long enough, and in that case the * @code{sizeof_buf} will be updated with +long enough, and in that case the * @code{buf_size} will be updated with the required size. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crq_get_dn.short b/doc/functions/gnutls_x509_crq_get_dn.short index 2274e30..47131e1 100644 --- a/doc/functions/gnutls_x509_crq_get_dn.short +++ b/doc/functions/gnutls_x509_crq_get_dn.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_crq_get_dn} (gnutls_x509_crq_t @var{crq}, char * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_crq_get_dn2 b/doc/functions/gnutls_x509_crq_get_dn2 new file mode 100644 index 0000000..f3a927c --- /dev/null +++ b/doc/functions/gnutls_x509_crq_get_dn2 @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_crq_get_dn2} (gnutls_x509_crq_t @var{crq}, gnutls_datum_t * @var{dn}) +@var{crq}: should contain a @code{gnutls_x509_crq_t} structure + +@var{dn}: a pointer to a structure to hold the name + +This function will allocate buffer and copy the name of the Certificate +request. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on error. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crq_get_dn2.short b/doc/functions/gnutls_x509_crq_get_dn2.short new file mode 100644 index 0000000..ad7ca0c --- /dev/null +++ b/doc/functions/gnutls_x509_crq_get_dn2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crq_get_dn2} (gnutls_x509_crq_t @var{crq}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crq_get_dn_by_oid b/doc/functions/gnutls_x509_crq_get_dn_by_oid index dd4ec4e..14010db 100644 --- a/doc/functions/gnutls_x509_crq_get_dn_by_oid +++ b/doc/functions/gnutls_x509_crq_get_dn_by_oid @@ -2,19 +2,19 @@ -@deftypefun {int} {gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{buf_size}) @var{crq}: should contain a gnutls_x509_crq_t structure -@var{oid}: holds an Object Identified in null terminated string +@var{oid}: holds an Object Identifier in a null terminated string @var{indx}: In case multiple same OIDs exist in the RDN, this specifies -which to send. Use (0) to get the first one. +which to get. Use (0) to get the first one. -@var{raw_flag}: If non (0) returns the raw DER data of the DN part. +@var{raw_flag}: If non-zero returns the raw DER data of the DN part. @var{buf}: a pointer to a structure to hold the name (may be @code{NULL} ) -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{buf_size}: initially holds the size of @code{buf} This function will extract the part of the name of the Certificate request subject, specified by the given OID. The output will be @@ -28,6 +28,6 @@ in hex format with a '\#' prefix. You can check about known OIDs using @code{gnutls_x509_dn_oid_known()} . @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the * @code{sizeof_buf} will be +not long enough, and in that case the * @code{buf_size} will be updated with the required size. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crq_get_dn_by_oid.short b/doc/functions/gnutls_x509_crq_get_dn_by_oid.short index 46b6f93..0b41bdd 100644 --- a/doc/functions/gnutls_x509_crq_get_dn_by_oid.short +++ b/doc/functions/gnutls_x509_crq_get_dn_by_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_crq_get_dn_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_crq_get_dn_oid b/doc/functions/gnutls_x509_crq_get_dn_oid index bc10eb5..47035c2 100644 --- a/doc/functions/gnutls_x509_crq_get_dn_oid +++ b/doc/functions/gnutls_x509_crq_get_dn_oid @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_dn_oid} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}) @var{crq}: should contain a gnutls_x509_crq_t structure -@var{indx}: Specifies which DN OID to send. Use (0) to get the first one. +@var{indx}: Specifies which DN OID to get. Use (0) to get the first one. @var{oid}: a pointer to a structure to hold the name (may be @code{NULL} ) diff --git a/doc/functions/gnutls_x509_crq_get_extension_by_oid b/doc/functions/gnutls_x509_crq_get_extension_by_oid index 8400546..4984946 100644 --- a/doc/functions/gnutls_x509_crq_get_extension_by_oid +++ b/doc/functions/gnutls_x509_crq_get_extension_by_oid @@ -2,19 +2,19 @@ -@deftypefun {int} {gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}, unsigned int * @var{critical}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{oid}: holds an Object Identified in null terminated string +@var{oid}: holds an Object Identifier in a null terminated string @var{indx}: In case multiple same OIDs exist in the extensions, this -specifies which to send. Use (0) to get the first one. +specifies which to get. Use (0) to get the first one. @var{buf}: a pointer to a structure to hold the name (may be null) -@var{sizeof_buf}: initially holds the size of @code{buf} +@var{buf_size}: initially holds the size of @code{buf} -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical This function will return the extension specified by the OID in the certificate. The extensions will be returned as binary data diff --git a/doc/functions/gnutls_x509_crq_get_extension_by_oid.short b/doc/functions/gnutls_x509_crq_get_extension_by_oid.short index aa6a6c0..1a6d3f9 100644 --- a/doc/functions/gnutls_x509_crq_get_extension_by_oid.short +++ b/doc/functions/gnutls_x509_crq_get_extension_by_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crq_get_extension_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crq_get_extension_data b/doc/functions/gnutls_x509_crq_get_extension_data index 78ce7e0..69620a6 100644 --- a/doc/functions/gnutls_x509_crq_get_extension_data +++ b/doc/functions/gnutls_x509_crq_get_extension_data @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_extension_data} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{data}, size_t * @var{sizeof_data}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{indx}: Specifies which extension OID to send. Use (0) to get the first one. +@var{indx}: Specifies which extension number to get. Use (0) to get the first one. @var{data}: a pointer to a structure to hold the data (may be null) diff --git a/doc/functions/gnutls_x509_crq_get_extension_data2 b/doc/functions/gnutls_x509_crq_get_extension_data2 new file mode 100644 index 0000000..48d638a --- /dev/null +++ b/doc/functions/gnutls_x509_crq_get_extension_data2 @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_crq_get_extension_data2} (gnutls_x509_crq_t @var{crq}, unsigned @var{indx}, gnutls_datum_t * @var{data}) +@var{crq}: should contain a @code{gnutls_x509_crq_t} structure + +@var{indx}: Specifies which extension OID to read. Use (0) to get the first one. + +@var{data}: will contain the extension DER-encoded data + +This function will return the requested extension data in the +certificate request. The extension data will be allocated using +@code{gnutls_malloc()} . + +Use @code{gnutls_x509_crq_get_extension_info()} to extract the OID. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +will be returned. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crq_get_extension_data2.short b/doc/functions/gnutls_x509_crq_get_extension_data2.short new file mode 100644 index 0000000..2aba62b --- /dev/null +++ b/doc/functions/gnutls_x509_crq_get_extension_data2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crq_get_extension_data2} (gnutls_x509_crq_t @var{crq}, unsigned @var{indx}, gnutls_datum_t * @var{data}) diff --git a/doc/functions/gnutls_x509_crq_get_extension_info b/doc/functions/gnutls_x509_crq_get_extension_info index 1be546a..ddf9ed4 100644 --- a/doc/functions/gnutls_x509_crq_get_extension_info +++ b/doc/functions/gnutls_x509_crq_get_extension_info @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crq_get_extension_info} (gnutls_x509_crq_t @var{crq}, int @var{indx}, void * @var{oid}, size_t * @var{sizeof_oid}, unsigned int * @var{critical}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{indx}: Specifies which extension OID to send. Use (0) to get the first one. +@var{indx}: Specifies which extension number to get. Use (0) to get the first one. @var{oid}: a pointer to a structure to hold the OID diff --git a/doc/functions/gnutls_x509_crq_get_key_id b/doc/functions/gnutls_x509_crq_get_key_id index 5283c5d..c196395 100644 --- a/doc/functions/gnutls_x509_crq_get_key_id +++ b/doc/functions/gnutls_x509_crq_get_key_id @@ -12,7 +12,7 @@ @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will return a unique ID the depends on the public key +This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given private key. diff --git a/doc/functions/gnutls_x509_crq_get_key_usage b/doc/functions/gnutls_x509_crq_get_key_usage index 977e287..92bcd54 100644 --- a/doc/functions/gnutls_x509_crq_get_key_usage +++ b/doc/functions/gnutls_x509_crq_get_key_usage @@ -7,7 +7,7 @@ @var{key_usage}: where the key usage bits will be stored -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical This function will return certificate's key usage, by reading the keyUsage X.509 extension (2.5.29.15). The key usage value will diff --git a/doc/functions/gnutls_x509_crq_get_private_key_usage_period b/doc/functions/gnutls_x509_crq_get_private_key_usage_period index b1c9802..450c61c 100644 --- a/doc/functions/gnutls_x509_crq_get_private_key_usage_period +++ b/doc/functions/gnutls_x509_crq_get_private_key_usage_period @@ -2,8 +2,8 @@ -@deftypefun {int} {gnutls_x509_crq_get_private_key_usage_period} (gnutls_x509_crq_t @var{crq}, time_t* @var{activation}, time_t* @var{expiration}, unsigned int * @var{critical}) -@var{crq}: -- undescribed -- +@deftypefun {int} {gnutls_x509_crq_get_private_key_usage_period} (gnutls_x509_crq_t @var{crq}, time_t * @var{activation}, time_t * @var{expiration}, unsigned int * @var{critical}) +@var{crq}: should contain a @code{gnutls_x509_crq_t} structure @var{activation}: The activation time diff --git a/doc/functions/gnutls_x509_crq_get_private_key_usage_period.short b/doc/functions/gnutls_x509_crq_get_private_key_usage_period.short index d28f2cd..8041c62 100644 --- a/doc/functions/gnutls_x509_crq_get_private_key_usage_period.short +++ b/doc/functions/gnutls_x509_crq_get_private_key_usage_period.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_get_private_key_usage_period} (gnutls_x509_crq_t @var{crq}, time_t* @var{activation}, time_t* @var{expiration}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crq_get_private_key_usage_period} (gnutls_x509_crq_t @var{crq}, time_t * @var{activation}, time_t * @var{expiration}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crq_get_subject_alt_name b/doc/functions/gnutls_x509_crq_get_subject_alt_name index ef1a267..5e52544 100644 --- a/doc/functions/gnutls_x509_crq_get_subject_alt_name +++ b/doc/functions/gnutls_x509_crq_get_subject_alt_name @@ -14,7 +14,7 @@ first one, 1 for the second etc. @var{ret_type}: holds the @code{gnutls_x509_subject_alt_name_t} name type -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the alternative names, contained in the diff --git a/doc/functions/gnutls_x509_crq_print b/doc/functions/gnutls_x509_crq_print index 2bfe855..a598f2a 100644 --- a/doc/functions/gnutls_x509_crq_print +++ b/doc/functions/gnutls_x509_crq_print @@ -12,7 +12,7 @@ This function will pretty print a certificate request, suitable for display to a human. -The output @code{out} needs to be deallocate using @code{gnutls_free()} . +The output @code{out} needs to be deallocated using @code{gnutls_free()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crq_set_attribute_by_oid b/doc/functions/gnutls_x509_crq_set_attribute_by_oid index d41f573..2f74364 100644 --- a/doc/functions/gnutls_x509_crq_set_attribute_by_oid +++ b/doc/functions/gnutls_x509_crq_set_attribute_by_oid @@ -2,19 +2,22 @@ -@deftypefun {int} {gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{buf_size}) @var{crq}: should contain a @code{gnutls_x509_crq_t} structure -@var{oid}: holds an Object Identified in (0)-terminated string +@var{oid}: holds an Object Identifier in a null-terminated string @var{buf}: a pointer to a structure that holds the attribute data -@var{sizeof_buf}: holds the size of @code{buf} +@var{buf_size}: holds the size of @code{buf} This function will set the attribute in the certificate request -specified by the given Object ID. The attribute must be be DER +specified by the given Object ID. The provided attribute must be be DER encoded. +Attributes in a certificate request is an optional set of data +appended to the request. Their interpretation depends on the CA policy. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @end deftypefun diff --git a/doc/functions/gnutls_x509_crq_set_attribute_by_oid.short b/doc/functions/gnutls_x509_crq_set_attribute_by_oid.short index 1c734fa..0797b6e 100644 --- a/doc/functions/gnutls_x509_crq_set_attribute_by_oid.short +++ b/doc/functions/gnutls_x509_crq_set_attribute_by_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_crq_set_attribute_by_oid} (gnutls_x509_crq_t @var{crq}, const char * @var{oid}, void * @var{buf}, size_t @var{buf_size}) diff --git a/doc/functions/gnutls_x509_crq_set_dn b/doc/functions/gnutls_x509_crq_set_dn new file mode 100644 index 0000000..c0b2155 --- /dev/null +++ b/doc/functions/gnutls_x509_crq_set_dn @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_crq_set_dn} (gnutls_x509_crq_t @var{crq}, const char * @var{dn}, const char ** @var{err}) +@var{crq}: a certificate of type @code{gnutls_x509_crq_t} + +@var{dn}: a comma separated DN string (RFC4514) + +@var{err}: indicates the error position (if any) + +This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crq_set_dn.short b/doc/functions/gnutls_x509_crq_set_dn.short new file mode 100644 index 0000000..5f8affa --- /dev/null +++ b/doc/functions/gnutls_x509_crq_set_dn.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crq_set_dn} (gnutls_x509_crq_t @var{crq}, const char * @var{dn}, const char ** @var{err}) diff --git a/doc/functions/gnutls_x509_crt_check_hostname b/doc/functions/gnutls_x509_crt_check_hostname index eeacdb7..9ff0396 100644 --- a/doc/functions/gnutls_x509_crt_check_hostname +++ b/doc/functions/gnutls_x509_crt_check_hostname @@ -12,5 +12,11 @@ the given hostname. This is a basic implementation of the matching described in RFC2818 (HTTPS), which takes into account wildcards, and the DNSName/IPAddress subject alternative name PKIX extension. -@strong{Returns:} non (0) for a successful match, and (0) on failure. +The comparison may have false-negatives as it is done byte by byte in +non-ascii names. + +Wildcards are only considered if the domain name consists of three +components or more, and the wildcard starts at the leftmost position. + +@strong{Returns:} non-zero for a successful match, and zero on failure. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_check_hostname2 b/doc/functions/gnutls_x509_crt_check_hostname2 new file mode 100644 index 0000000..db7d47b --- /dev/null +++ b/doc/functions/gnutls_x509_crt_check_hostname2 @@ -0,0 +1,26 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_check_hostname2} (gnutls_x509_crt_t @var{cert}, const char * @var{hostname}, unsigned int @var{flags}) +@var{cert}: should contain an gnutls_x509_crt_t structure + +@var{hostname}: A null terminated string that contains a DNS name + +@var{flags}: gnutls_certificate_verify_flags + +This function will check if the given certificate's subject matches +the given hostname. This is a basic implementation of the matching +described in RFC2818 (HTTPS), which takes into account wildcards, +and the DNSName/IPAddress subject alternative name PKIX extension. + +The comparison may have false-negatives as it is done byte by byte in +non-ascii names. + +When the flag @code{GNUTLS_VERIFY_DO_NOT_ALLOW_WILDCARDS} is specified no +wildcards are considered. Otherwise they are only considered if the +domain name consists of three components or more, and the wildcard +starts at the leftmost position. + +@strong{Returns:} non-zero for a successful match, and zero on failure. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_check_hostname2.short b/doc/functions/gnutls_x509_crt_check_hostname2.short new file mode 100644 index 0000000..fecd496 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_check_hostname2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_check_hostname2} (gnutls_x509_crt_t @var{cert}, const char * @var{hostname}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_crt_check_issuer b/doc/functions/gnutls_x509_crt_check_issuer index 0f04328..dfb4362 100644 --- a/doc/functions/gnutls_x509_crt_check_issuer +++ b/doc/functions/gnutls_x509_crt_check_issuer @@ -12,6 +12,5 @@ given issuer. It checks the DN fields and the authority key identifier and subject key identifier fields match. @strong{Returns:} It will return true (1) if the given certificate is issued -by the given issuer, and false (0) if not. A negative error code is -returned in case of an error. +by the given issuer, and false (0) if not. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_export2 b/doc/functions/gnutls_x509_crt_export2 new file mode 100644 index 0000000..1aef7a2 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_export2 @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_export2} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{cert}: Holds the certificate + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a certificate PEM or DER encoded + +This function will export the certificate to DER or PEM format. +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN CERTIFICATE". + +@strong{Returns:} In case of failure a negative error code will be +returned, and 0 on success. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_export2.short b/doc/functions/gnutls_x509_crt_export2.short new file mode 100644 index 0000000..8fff54c --- /dev/null +++ b/doc/functions/gnutls_x509_crt_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_export2} (gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_crt_get_authority_info_access b/doc/functions/gnutls_x509_crt_get_authority_info_access index c07eeef..a3aece5 100644 --- a/doc/functions/gnutls_x509_crt_get_authority_info_access +++ b/doc/functions/gnutls_x509_crt_get_authority_info_access @@ -13,18 +13,12 @@ @var{critical}: pointer to output integer that is set to non-0 if the extension is marked as critical (may be @code{NULL} ) +Note that a simpler API to access the authority info data is provided +by @code{gnutls_x509_aia_get()} and @code{gnutls_x509_ext_import_aia()} . + This function extracts the Authority Information Access (AIA) extension, see RFC 5280 section 4.2.2.1 for more information. The -AIA extension holds a sequence of AccessDescription (AD) data: - - -AuthorityInfoAccessSyntax ::= -SEQUENCE SIZE (1..MAX) OF AccessDescription - -AccessDescription ::= SEQUENCE @{ -accessMethod OBJECT IDENTIFIER, -accessLocation GeneralName @} - +AIA extension holds a sequence of AccessDescription (AD) data. The @code{seq} input parameter is used to indicate which member of the sequence the caller is interested in. The first member is 0, the diff --git a/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial b/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial index e7626d2..144b526 100644 --- a/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial +++ b/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_crt_get_authority_key_gn_serial} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void* @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crt_get_authority_key_gn_serial} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void * @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{seq}: specifies the sequence number of the alt name (0 for the first one, 1 for the second etc.) @@ -17,7 +17,7 @@ @var{serial_size}: Holds the size of the serial field (may be null) -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the X.509 authority key identifier when stored as a general name (authorityCertIssuer) diff --git a/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial.short b/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial.short index e0a148c..2ba5f04 100644 --- a/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial.short +++ b/doc/functions/gnutls_x509_crt_get_authority_key_gn_serial.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_authority_key_gn_serial} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void* @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crt_get_authority_key_gn_serial} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{alt}, size_t * @var{alt_size}, unsigned int * @var{alt_type}, void * @var{serial}, size_t * @var{serial_size}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_get_authority_key_id b/doc/functions/gnutls_x509_crt_get_authority_key_id index 227fc3d..c7180d0 100644 --- a/doc/functions/gnutls_x509_crt_get_authority_key_id +++ b/doc/functions/gnutls_x509_crt_get_authority_key_id @@ -9,7 +9,7 @@ @var{id_size}: Holds the size of the id field. -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the X.509v3 certificate authority's key identifier. This is obtained by the X.509 Authority Key diff --git a/doc/functions/gnutls_x509_crt_get_basic_constraints b/doc/functions/gnutls_x509_crt_get_basic_constraints index 9fdca71..fb0371b 100644 --- a/doc/functions/gnutls_x509_crt_get_basic_constraints +++ b/doc/functions/gnutls_x509_crt_get_basic_constraints @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crt_get_basic_constraints} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, unsigned int * @var{ca}, int * @var{pathlen}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical @var{ca}: pointer to output integer indicating CA status, may be NULL, value is 1 if the certificate CA flag is set, 0 otherwise. diff --git a/doc/functions/gnutls_x509_crt_get_ca_status b/doc/functions/gnutls_x509_crt_get_ca_status index bf3c5b7..e7a5724 100644 --- a/doc/functions/gnutls_x509_crt_get_ca_status +++ b/doc/functions/gnutls_x509_crt_get_ca_status @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crt_get_ca_status} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical This function will return certificates CA status, by reading the basicConstraints X.509 extension (2.5.29.19). If the certificate is diff --git a/doc/functions/gnutls_x509_crt_get_crl_dist_points b/doc/functions/gnutls_x509_crt_get_crl_dist_points index 9fbaaf8..001f3b2 100644 --- a/doc/functions/gnutls_x509_crt_get_crl_dist_points +++ b/doc/functions/gnutls_x509_crt_get_crl_dist_points @@ -2,33 +2,23 @@ -@deftypefun {int} {gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{san}, size_t * @var{san_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{seq}: specifies the sequence number of the distribution point (0 for the first one, 1 for the second etc.) -@var{ret}: is the place where the distribution point will be copied to +@var{san}: is the place where the distribution point will be copied to -@var{ret_size}: holds the size of ret. +@var{san_size}: holds the size of ret. -@var{reason_flags}: Revocation reasons flags. +@var{reason_flags}: Revocation reasons. An ORed sequence of flags from @code{gnutls_x509_crl_reason_flags_t} . -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function retrieves the CRL distribution points (2.5.29.31), contained in the given certificate in the X509v3 Certificate Extensions. - @code{reason_flags} should be an ORed sequence of -@code{GNUTLS_CRL_REASON_UNUSED} , @code{GNUTLS_CRL_REASON_KEY_COMPROMISE} , -@code{GNUTLS_CRL_REASON_CA_COMPROMISE} , -@code{GNUTLS_CRL_REASON_AFFILIATION_CHANGED} , -@code{GNUTLS_CRL_REASON_SUPERSEEDED} , -@code{GNUTLS_CRL_REASON_CESSATION_OF_OPERATION} , -@code{GNUTLS_CRL_REASON_CERTIFICATE_HOLD} , -@code{GNUTLS_CRL_REASON_PRIVILEGE_WITHDRAWN} , -@code{GNUTLS_CRL_REASON_AA_COMPROMISE} , or (0) for all possible reasons. - @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} and updates @code{ret_size} if @code{ret_size} is not enough to hold the distribution point, or the type of the distribution point if everything was ok. The type is diff --git a/doc/functions/gnutls_x509_crt_get_crl_dist_points.short b/doc/functions/gnutls_x509_crt_get_crl_dist_points.short index fcaf0e9..ba44da0 100644 --- a/doc/functions/gnutls_x509_crt_get_crl_dist_points.short +++ b/doc/functions/gnutls_x509_crt_get_crl_dist_points.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{ret}, size_t * @var{ret_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crt_get_crl_dist_points} (gnutls_x509_crt_t @var{cert}, unsigned int @var{seq}, void * @var{san}, size_t * @var{san_size}, unsigned int * @var{reason_flags}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_get_dn2 b/doc/functions/gnutls_x509_crt_get_dn2 new file mode 100644 index 0000000..909ac89 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_dn2 @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_get_dn2} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{dn}: a pointer to a structure to hold the name + +This function will allocate buffer and copy the name of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on error. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_dn2.short b/doc/functions/gnutls_x509_crt_get_dn2.short new file mode 100644 index 0000000..dc3f420 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_dn2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_get_dn2} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crt_get_dn_by_oid b/doc/functions/gnutls_x509_crt_get_dn_by_oid index d0e1ccc..0cbf671 100644 --- a/doc/functions/gnutls_x509_crt_get_dn_by_oid +++ b/doc/functions/gnutls_x509_crt_get_dn_by_oid @@ -9,7 +9,7 @@ @var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one. -@var{raw_flag}: If non (0) returns the raw DER data of the DN part. +@var{raw_flag}: If non-zero returns the raw DER data of the DN part. @var{buf}: a pointer where the DN part will be copied (may be null). @@ -29,7 +29,8 @@ using @code{gnutls_x509_dn_oid_known()} . If @code{buf} is null then only the size will be filled. If the @code{raw_flag} is not specified the output is always null terminated, although the @code{buf_size} will not include the null character. -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the *buf_size will be updated -with the required size. On success 0 is returned. +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is not +long enough, and in that case the @code{buf_size} will be updated with +the required size. @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} if there +are no data in the current index. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_dn_oid b/doc/functions/gnutls_x509_crt_get_dn_oid index 6fcb6f3..f22ae8e 100644 --- a/doc/functions/gnutls_x509_crt_get_dn_oid +++ b/doc/functions/gnutls_x509_crt_get_dn_oid @@ -17,7 +17,8 @@ subject specified by the given index. If @code{oid} is null then only the size will be filled. The @code{oid} returned will be null terminated, although @code{oid_size} will not account for the trailing null. -@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is -not long enough, and in that case the @code{oid_size} will be updated -with the required size. On success 0 is returned. +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is not +long enough, and in that case the @code{buf_size} will be updated with +the required size. @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} if there +are no data in the current index. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_expiration_time b/doc/functions/gnutls_x509_crt_get_expiration_time index 6a3938e..9a70240 100644 --- a/doc/functions/gnutls_x509_crt_get_expiration_time +++ b/doc/functions/gnutls_x509_crt_get_expiration_time @@ -8,5 +8,8 @@ This function will return the time this Certificate was or will be expired. +The no well defined expiration time can be checked against with the +@code{GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION} macro. + @strong{Returns:} expiration time, or (time_t)-1 on error. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_extension_by_oid b/doc/functions/gnutls_x509_crt_get_extension_by_oid index dabd2ee..8520a82 100644 --- a/doc/functions/gnutls_x509_crt_get_extension_by_oid +++ b/doc/functions/gnutls_x509_crt_get_extension_by_oid @@ -13,7 +13,7 @@ @var{buf_size}: initially holds the size of @code{buf} -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical This function will return the extension specified by the OID in the certificate. The extensions will be returned as binary data DER diff --git a/doc/functions/gnutls_x509_crt_get_extension_data b/doc/functions/gnutls_x509_crt_get_extension_data index e42209a..05f915f 100644 --- a/doc/functions/gnutls_x509_crt_get_extension_data +++ b/doc/functions/gnutls_x509_crt_get_extension_data @@ -9,10 +9,10 @@ @var{data}: a pointer to a structure to hold the data (may be null) -@var{sizeof_data}: initially holds the size of @code{oid} +@var{sizeof_data}: initially holds the size of @code{data} This function will return the requested extension data in the -certificate. The extension data will be stored as a string in the +certificate. The extension data will be stored in the provided buffer. Use @code{gnutls_x509_crt_get_extension_info()} to extract the OID and diff --git a/doc/functions/gnutls_x509_crt_get_extension_data2 b/doc/functions/gnutls_x509_crt_get_extension_data2 new file mode 100644 index 0000000..57822d6 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_extension_data2 @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_get_extension_data2} (gnutls_x509_crt_t @var{cert}, unsigned @var{indx}, gnutls_datum_t * @var{data}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{indx}: Specifies which extension OID to read. Use (0) to get the first one. + +@var{data}: will contain the extension DER-encoded data + +This function will return the requested by the index extension data in the +certificate. The extension data will be allocated using +@code{gnutls_malloc()} . + +Use @code{gnutls_x509_crt_get_extension_info()} to extract the OID. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. If you have reached the +last extension available @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +will be returned. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_extension_data2.short b/doc/functions/gnutls_x509_crt_get_extension_data2.short new file mode 100644 index 0000000..e9b8239 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_extension_data2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_get_extension_data2} (gnutls_x509_crt_t @var{cert}, unsigned @var{indx}, gnutls_datum_t * @var{data}) diff --git a/doc/functions/gnutls_x509_crt_get_extension_info b/doc/functions/gnutls_x509_crt_get_extension_info index d26629e..69fb83a 100644 --- a/doc/functions/gnutls_x509_crt_get_extension_info +++ b/doc/functions/gnutls_x509_crt_get_extension_info @@ -17,7 +17,7 @@ holds actual size of @code{oid} . This function will return the requested extension OID in the certificate, and the critical flag for it. The extension OID will be stored as a string in the provided buffer. Use -@code{gnutls_x509_crt_get_extension_data()} to extract the data. +@code{gnutls_x509_crt_get_extension()} to extract the data. If the buffer provided is not long enough to hold the output, then @code{oid_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be diff --git a/doc/functions/gnutls_x509_crt_get_fingerprint b/doc/functions/gnutls_x509_crt_get_fingerprint index cd2f2a2..9fe2d70 100644 --- a/doc/functions/gnutls_x509_crt_get_fingerprint +++ b/doc/functions/gnutls_x509_crt_get_fingerprint @@ -12,7 +12,8 @@ @var{buf_size}: initially holds the size of @code{buf} This function will calculate and copy the certificate's fingerprint -in the provided buffer. +in the provided buffer. The fingerprint is a hash of the DER-encoded +data of the certificate. If the buffer is null then only the size will be filled. diff --git a/doc/functions/gnutls_x509_crt_get_issuer b/doc/functions/gnutls_x509_crt_get_issuer index af9cee4..805e30a 100644 --- a/doc/functions/gnutls_x509_crt_get_issuer +++ b/doc/functions/gnutls_x509_crt_get_issuer @@ -7,11 +7,12 @@ @var{dn}: output variable with pointer to uint8_t DN -Return the Certificate's Issuer DN as an uint8_t data type. You may -use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. +Return the Certificate's Issuer DN as a @code{gnutls_x509_dn_t} data type, +that can be decoded using @code{gnutls_x509_dn_get_rdn_ava()} . -Note that @code{dn} should be treated as constant. Because points -into the @code{cert} object, you may not deallocate @code{cert} and continue to access @code{dn} . +Note that @code{dn} should be treated as constant. Because it points +into the @code{cert} object, you should not use @code{dn} after @code{cert} is +deallocated. @strong{Returns:} Returns 0 on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_issuer_alt_name b/doc/functions/gnutls_x509_crt_get_issuer_alt_name index 5981451..7e3030b 100644 --- a/doc/functions/gnutls_x509_crt_get_issuer_alt_name +++ b/doc/functions/gnutls_x509_crt_get_issuer_alt_name @@ -11,7 +11,7 @@ @var{ian_size}: holds the size of ian. -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function retrieves the Issuer Alternative Name (2.5.29.18), contained in the given certificate in the X509v3 Certificate diff --git a/doc/functions/gnutls_x509_crt_get_issuer_alt_name2 b/doc/functions/gnutls_x509_crt_get_issuer_alt_name2 index 9bfef3e..96511cd 100644 --- a/doc/functions/gnutls_x509_crt_get_issuer_alt_name2 +++ b/doc/functions/gnutls_x509_crt_get_issuer_alt_name2 @@ -13,7 +13,7 @@ @var{ian_type}: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the alternative names, contained in the given certificate. It is the same as diff --git a/doc/functions/gnutls_x509_crt_get_issuer_dn2 b/doc/functions/gnutls_x509_crt_get_issuer_dn2 new file mode 100644 index 0000000..d3d4b70 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_issuer_dn2 @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_get_issuer_dn2} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) +@var{cert}: should contain a @code{gnutls_x509_crt_t} structure + +@var{dn}: a pointer to a structure to hold the name + +This function will allocate buffer and copy the name of issuer of the Certificate. +The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as +described in RFC4514. The output string will be ASCII or UTF-8 +encoded, depending on the certificate data. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. and a negative error code on error. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_issuer_dn2.short b/doc/functions/gnutls_x509_crt_get_issuer_dn2.short new file mode 100644 index 0000000..683cec8 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_issuer_dn2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_get_issuer_dn2} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crt_get_issuer_dn_by_oid b/doc/functions/gnutls_x509_crt_get_issuer_dn_by_oid index ed0c771..531caab 100644 --- a/doc/functions/gnutls_x509_crt_get_issuer_dn_by_oid +++ b/doc/functions/gnutls_x509_crt_get_issuer_dn_by_oid @@ -9,7 +9,7 @@ @var{indx}: In case multiple same OIDs exist in the RDN, this specifies which to send. Use (0) to get the first one. -@var{raw_flag}: If non (0) returns the raw DER data of the DN part. +@var{raw_flag}: If non-zero returns the raw DER data of the DN part. @var{buf}: a pointer to a structure to hold the name (may be null) @@ -29,7 +29,8 @@ using @code{gnutls_x509_dn_oid_known()} . If @code{buf} is null then only the size will be filled. If the @code{raw_flag} is not specified the output is always null terminated, although the @code{buf_size} will not include the null character. -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the @code{buf_size} will be updated -with the required size. On success 0 is returned. +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is not +long enough, and in that case the @code{buf_size} will be updated with +the required size. @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} if there +are no data in the current index. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_issuer_dn_oid b/doc/functions/gnutls_x509_crt_get_issuer_dn_oid index c24298b..f2457e3 100644 --- a/doc/functions/gnutls_x509_crt_get_issuer_dn_oid +++ b/doc/functions/gnutls_x509_crt_get_issuer_dn_oid @@ -17,7 +17,8 @@ issuer specified by the given index. If @code{oid} is null then only the size will be filled. The @code{oid} returned will be null terminated, although @code{oid_size} will not account for the trailing null. -@strong{Returns:} GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not -long enough, and in that case the @code{oid_size} will be updated -with the required size. On success 0 is returned. +@strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the provided buffer is not +long enough, and in that case the @code{buf_size} will be updated with +the required size. @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} if there +are no data in the current index. On success 0 is returned. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_key_id b/doc/functions/gnutls_x509_crt_get_key_id index a115698..1a8edf6 100644 --- a/doc/functions/gnutls_x509_crt_get_key_id +++ b/doc/functions/gnutls_x509_crt_get_key_id @@ -12,7 +12,7 @@ @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will return a unique ID the depends on the public +This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given private key. diff --git a/doc/functions/gnutls_x509_crt_get_key_usage b/doc/functions/gnutls_x509_crt_get_key_usage index 2a3a029..2e9b022 100644 --- a/doc/functions/gnutls_x509_crt_get_key_usage +++ b/doc/functions/gnutls_x509_crt_get_key_usage @@ -7,7 +7,7 @@ @var{key_usage}: where the key usage bits will be stored -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical This function will return certificate's key usage, by reading the keyUsage X.509 extension (2.5.29.15). The key usage value will ORed diff --git a/doc/functions/gnutls_x509_crt_get_name_constraints b/doc/functions/gnutls_x509_crt_get_name_constraints new file mode 100644 index 0000000..3320bf8 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_name_constraints @@ -0,0 +1,31 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_get_name_constraints} (gnutls_x509_crt_t @var{crt}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{flags}, unsigned int * @var{critical}) +@var{crt}: should contain a @code{gnutls_x509_crt_t} structure + +@var{nc}: The nameconstraints intermediate structure + +@var{flags}: zero or @code{GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND} + +@var{critical}: the extension status + +This function will return an intermediate structure containing +the name constraints of the provided CA certificate. That +structure can be used in combination with @code{gnutls_x509_name_constraints_check()} +to verify whether a server's name is in accordance with the constraints. + +When the @code{flags} is set to @code{GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND} , then if +the @code{nc} structure is empty +this function will behave identically as if the flag was not set. +Otherwise if there are elements in the @code{nc} structure then only the +excluded constraints will be appended to the constraints. + +Note that @code{nc} must be initialized prior to calling this function. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_name_constraints.short b/doc/functions/gnutls_x509_crt_get_name_constraints.short new file mode 100644 index 0000000..0a43e11 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_name_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_get_name_constraints} (gnutls_x509_crt_t @var{crt}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{flags}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_get_policy b/doc/functions/gnutls_x509_crt_get_policy new file mode 100644 index 0000000..8003338 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_policy @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_get_policy} (gnutls_x509_crt_t @var{crt}, int @var{indx}, struct gnutls_x509_policy_st * @var{policy}, unsigned int * @var{critical}) +@var{crt}: should contain a @code{gnutls_x509_crt_t} structure + +@var{indx}: This specifies which policy to return. Use (0) to get the first one. + +@var{policy}: A pointer to a policy structure. + +@var{critical}: will be non-zero if the extension is marked as critical + +This function will extract the certificate policy (extension 2.5.29.32) +specified by the given index. + +The policy returned by this function must be deinitialized by using +@code{gnutls_x509_policy_release()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_policy.short b/doc/functions/gnutls_x509_crt_get_policy.short new file mode 100644 index 0000000..4f67b7b --- /dev/null +++ b/doc/functions/gnutls_x509_crt_get_policy.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_get_policy} (gnutls_x509_crt_t @var{crt}, int @var{indx}, struct gnutls_x509_policy_st * @var{policy}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm b/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm index 6ad57a0..76e585b 100644 --- a/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm +++ b/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm @@ -2,12 +2,12 @@ -@deftypefun {int} {gnutls_x509_crt_get_preferred_hash_algorithm} (gnutls_x509_crt_t @var{crt}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) +@deftypefun {int} {gnutls_x509_crt_get_preferred_hash_algorithm} (gnutls_x509_crt_t @var{crt}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) @var{crt}: Holds the certificate @var{hash}: The result of the call with the hash algorithm used for signature -@var{mand}: If non (0) it means that the algorithm MUST use this hash. May be NULL. +@var{mand}: If non-zero it means that the algorithm MUST use this hash. May be NULL. This function will read the certifcate and return the appropriate digest algorithm to use for signing with this certificate. Some certificates (i.e. diff --git a/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm.short b/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm.short index 6bd1780..fa046c7 100644 --- a/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm.short +++ b/doc/functions/gnutls_x509_crt_get_preferred_hash_algorithm.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_preferred_hash_algorithm} (gnutls_x509_crt_t @var{crt}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) +@item @var{int} @ref{gnutls_x509_crt_get_preferred_hash_algorithm} (gnutls_x509_crt_t @var{crt}, gnutls_digest_algorithm_t * @var{hash}, unsigned int * @var{mand}) diff --git a/doc/functions/gnutls_x509_crt_get_private_key_usage_period b/doc/functions/gnutls_x509_crt_get_private_key_usage_period index e1d64d4..0316b41 100644 --- a/doc/functions/gnutls_x509_crt_get_private_key_usage_period +++ b/doc/functions/gnutls_x509_crt_get_private_key_usage_period @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_crt_get_private_key_usage_period} (gnutls_x509_crt_t @var{cert}, time_t* @var{activation}, time_t* @var{expiration}, unsigned int * @var{critical}) +@deftypefun {int} {gnutls_x509_crt_get_private_key_usage_period} (gnutls_x509_crt_t @var{cert}, time_t * @var{activation}, time_t * @var{expiration}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{activation}: The activation time diff --git a/doc/functions/gnutls_x509_crt_get_private_key_usage_period.short b/doc/functions/gnutls_x509_crt_get_private_key_usage_period.short index 3d149df..05b37f9 100644 --- a/doc/functions/gnutls_x509_crt_get_private_key_usage_period.short +++ b/doc/functions/gnutls_x509_crt_get_private_key_usage_period.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_private_key_usage_period} (gnutls_x509_crt_t @var{cert}, time_t* @var{activation}, time_t* @var{expiration}, unsigned int * @var{critical}) +@item @var{int} @ref{gnutls_x509_crt_get_private_key_usage_period} (gnutls_x509_crt_t @var{cert}, time_t * @var{activation}, time_t * @var{expiration}, unsigned int * @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_get_proxy b/doc/functions/gnutls_x509_crt_get_proxy index 25e8246..5641731 100644 --- a/doc/functions/gnutls_x509_crt_get_proxy +++ b/doc/functions/gnutls_x509_crt_get_proxy @@ -5,7 +5,7 @@ @deftypefun {int} {gnutls_x509_crt_get_proxy} (gnutls_x509_crt_t @var{cert}, unsigned int * @var{critical}, int * @var{pathlen}, char ** @var{policyLanguage}, char ** @var{policy}, size_t * @var{sizeof_policy}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{critical}: will be non (0) if the extension is marked as critical +@var{critical}: will be non-zero if the extension is marked as critical @var{pathlen}: pointer to output integer indicating path length (may be NULL), non-negative error codes indicate a present pCPathLenConstraint diff --git a/doc/functions/gnutls_x509_crt_get_raw_dn b/doc/functions/gnutls_x509_crt_get_raw_dn index bb68fa9..527c7e2 100644 --- a/doc/functions/gnutls_x509_crt_get_raw_dn +++ b/doc/functions/gnutls_x509_crt_get_raw_dn @@ -2,10 +2,10 @@ -@deftypefun {int} {gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@deftypefun {int} {gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{start}: will hold the starting point of the DN +@var{dn}: will hold the starting point of the DN This function will return a pointer to the DER encoded DN structure and the length. This points to allocated data that must be free'd using @code{gnutls_free()} . diff --git a/doc/functions/gnutls_x509_crt_get_raw_dn.short b/doc/functions/gnutls_x509_crt_get_raw_dn.short index 74ff8ee..49fe292 100644 --- a/doc/functions/gnutls_x509_crt_get_raw_dn.short +++ b/doc/functions/gnutls_x509_crt_get_raw_dn.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@item @var{int} @ref{gnutls_x509_crt_get_raw_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crt_get_raw_issuer_dn b/doc/functions/gnutls_x509_crt_get_raw_issuer_dn index 0478712..ec3be15 100644 --- a/doc/functions/gnutls_x509_crt_get_raw_issuer_dn +++ b/doc/functions/gnutls_x509_crt_get_raw_issuer_dn @@ -2,10 +2,10 @@ -@deftypefun {int} {gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@deftypefun {int} {gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure -@var{start}: will hold the starting point of the DN +@var{dn}: will hold the starting point of the DN This function will return a pointer to the DER encoded DN structure and the length. This points to allocated data that must be free'd using @code{gnutls_free()} . diff --git a/doc/functions/gnutls_x509_crt_get_raw_issuer_dn.short b/doc/functions/gnutls_x509_crt_get_raw_issuer_dn.short index fcb9948..720d385 100644 --- a/doc/functions/gnutls_x509_crt_get_raw_issuer_dn.short +++ b/doc/functions/gnutls_x509_crt_get_raw_issuer_dn.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{start}) +@item @var{int} @ref{gnutls_x509_crt_get_raw_issuer_dn} (gnutls_x509_crt_t @var{cert}, gnutls_datum_t * @var{dn}) diff --git a/doc/functions/gnutls_x509_crt_get_signature b/doc/functions/gnutls_x509_crt_get_signature index 71f42e9..e2e77a0 100644 --- a/doc/functions/gnutls_x509_crt_get_signature +++ b/doc/functions/gnutls_x509_crt_get_signature @@ -2,12 +2,12 @@ -@deftypefun {int} {gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sizeof_sig}) +@deftypefun {int} {gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sig_size}) @var{cert}: should contain a @code{gnutls_x509_crt_t} structure @var{sig}: a pointer where the signature part will be copied (may be null). -@var{sizeof_sig}: initially holds the size of @code{sig} +@var{sig_size}: initially holds the size of @code{sig} This function will extract the signature field of a certificate. diff --git a/doc/functions/gnutls_x509_crt_get_signature.short b/doc/functions/gnutls_x509_crt_get_signature.short index 12812ab..cf0fdbb 100644 --- a/doc/functions/gnutls_x509_crt_get_signature.short +++ b/doc/functions/gnutls_x509_crt_get_signature.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sizeof_sig}) +@item @var{int} @ref{gnutls_x509_crt_get_signature} (gnutls_x509_crt_t @var{cert}, char * @var{sig}, size_t * @var{sig_size}) diff --git a/doc/functions/gnutls_x509_crt_get_subject b/doc/functions/gnutls_x509_crt_get_subject index 80866c7..428ff92 100644 --- a/doc/functions/gnutls_x509_crt_get_subject +++ b/doc/functions/gnutls_x509_crt_get_subject @@ -7,11 +7,12 @@ @var{dn}: output variable with pointer to uint8_t DN. -Return the Certificate's Subject DN as an uint8_t data type. You -may use @code{gnutls_x509_dn_get_rdn_ava()} to decode the DN. +Return the Certificate's Subject DN as a @code{gnutls_x509_dn_t} data type, +that can be decoded using @code{gnutls_x509_dn_get_rdn_ava()} . -Note that @code{dn} should be treated as constant. Because points -into the @code{cert} object, you may not deallocate @code{cert} and continue to access @code{dn} . +Note that @code{dn} should be treated as constant. Because it points +into the @code{cert} object, you should not use @code{dn} after @code{cert} is +deallocated. @strong{Returns:} Returns 0 on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_x509_crt_get_subject_alt_name b/doc/functions/gnutls_x509_crt_get_subject_alt_name index e296cf3..beb3a8a 100644 --- a/doc/functions/gnutls_x509_crt_get_subject_alt_name +++ b/doc/functions/gnutls_x509_crt_get_subject_alt_name @@ -11,7 +11,7 @@ @var{san_size}: holds the size of san. -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function retrieves the Alternative Name (2.5.29.17), contained in the given certificate in the X509v3 Certificate Extensions. diff --git a/doc/functions/gnutls_x509_crt_get_subject_alt_name2 b/doc/functions/gnutls_x509_crt_get_subject_alt_name2 index b3c3f8b..26c40ae 100644 --- a/doc/functions/gnutls_x509_crt_get_subject_alt_name2 +++ b/doc/functions/gnutls_x509_crt_get_subject_alt_name2 @@ -13,7 +13,7 @@ @var{san_type}: holds the type of the alternative name (one of gnutls_x509_subject_alt_name_t). -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the alternative names, contained in the given certificate. It is the same as diff --git a/doc/functions/gnutls_x509_crt_get_subject_key_id b/doc/functions/gnutls_x509_crt_get_subject_key_id index 711325a..c15eacd 100644 --- a/doc/functions/gnutls_x509_crt_get_subject_key_id +++ b/doc/functions/gnutls_x509_crt_get_subject_key_id @@ -9,7 +9,7 @@ @var{ret_size}: Holds the size of the result field. -@var{critical}: will be non (0) if the extension is marked as critical (may be null) +@var{critical}: will be non-zero if the extension is marked as critical (may be null) This function will return the X.509v3 certificate's subject key identifier. This is obtained by the X.509 Subject Key identifier diff --git a/doc/functions/gnutls_x509_crt_list_import2 b/doc/functions/gnutls_x509_crt_list_import2 index ee6be77..018f830 100644 --- a/doc/functions/gnutls_x509_crt_list_import2 +++ b/doc/functions/gnutls_x509_crt_list_import2 @@ -15,11 +15,14 @@ This function will convert the given PEM encoded certificate list to the native gnutls_x509_crt_t format. The output will be stored -in @code{certs} . They will be automatically initialized. +in @code{certs} which will allocated and initialized. If the Certificate is PEM encoded it should have a header of "X509 CERTIFICATE", or "CERTIFICATE". +To deinitialize @code{certs} , you need to deinitialize each crt structure +independently, and use @code{gnutls_free()} at + @strong{Returns:} the number of certificates read or a negative error value. @strong{Since:} 3.0 diff --git a/doc/functions/gnutls_x509_crt_print b/doc/functions/gnutls_x509_crt_print index dc80675..6891bd8 100644 --- a/doc/functions/gnutls_x509_crt_print +++ b/doc/functions/gnutls_x509_crt_print @@ -17,7 +17,7 @@ certificate will be output, on multiple lines. The @code{GNUTLS_CRT_PRINT_ONELINE} format will generate one line with some selected fields, which is useful for logging purposes. -The output @code{out} needs to be deallocate using @code{gnutls_free()} . +The output @code{out} needs to be deallocated using @code{gnutls_free()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crt_set_authority_key_id b/doc/functions/gnutls_x509_crt_set_authority_key_id index 01af028..b9f754f 100644 --- a/doc/functions/gnutls_x509_crt_set_authority_key_id +++ b/doc/functions/gnutls_x509_crt_set_authority_key_id @@ -7,7 +7,7 @@ @var{id}: The key ID -@var{id_size}: Holds the size of the serial field. +@var{id_size}: Holds the size of the key ID field. This function will set the X.509 certificate's authority key ID extension. Only the keyIdentifier field can be set with this function. diff --git a/doc/functions/gnutls_x509_crt_set_dn b/doc/functions/gnutls_x509_crt_set_dn new file mode 100644 index 0000000..8fa1c75 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_dn @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_set_dn} (gnutls_x509_crt_t @var{crt}, const char * @var{dn}, const char ** @var{err}) +@var{crt}: a certificate of type @code{gnutls_x509_crt_t} + +@var{dn}: a comma separated DN string (RFC4514) + +@var{err}: indicates the error position (if any) + +This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_dn.short b/doc/functions/gnutls_x509_crt_set_dn.short new file mode 100644 index 0000000..ff6259e --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_dn.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_set_dn} (gnutls_x509_crt_t @var{crt}, const char * @var{dn}, const char ** @var{err}) diff --git a/doc/functions/gnutls_x509_crt_set_expiration_time b/doc/functions/gnutls_x509_crt_set_expiration_time index a9bd3c3..20f4781 100644 --- a/doc/functions/gnutls_x509_crt_set_expiration_time +++ b/doc/functions/gnutls_x509_crt_set_expiration_time @@ -8,6 +8,8 @@ @var{exp_time}: The actual time This function will set the time this Certificate will expire. +Setting an expiration time to (time_t)-1 or to @code{GNUTLS_X509_NO_WELL_DEFINED_EXPIRATION} +will set to the no well-defined expiration date value. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crt_set_extension_by_oid b/doc/functions/gnutls_x509_crt_set_extension_by_oid index 05f2eb0..9368b01 100644 --- a/doc/functions/gnutls_x509_crt_set_extension_by_oid +++ b/doc/functions/gnutls_x509_crt_set_extension_by_oid @@ -11,7 +11,7 @@ @var{sizeof_buf}: holds the size of @code{buf} -@var{critical}: should be non (0) if the extension is to be marked as critical +@var{critical}: should be non-zero if the extension is to be marked as critical This function will set an the extension, by the specified OID, in the certificate. The extension data should be binary data DER diff --git a/doc/functions/gnutls_x509_crt_set_issuer_alt_name b/doc/functions/gnutls_x509_crt_set_issuer_alt_name new file mode 100644 index 0000000..5365456 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_issuer_alt_name @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_set_issuer_alt_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) +@var{crt}: a certificate of type @code{gnutls_x509_crt_t} + +@var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations + +@var{data}: The data to be set + +@var{data_size}: The size of data to be set + +@var{flags}: GNUTLS_FSAN_SET to clear previous data or GNUTLS_FSAN_APPEND to append. + +This function will set the issuer alternative name certificate +extension. It can set the same types as @code{gnutls_x509_crt_set_subject_alt_name()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_issuer_alt_name.short b/doc/functions/gnutls_x509_crt_set_issuer_alt_name.short new file mode 100644 index 0000000..5dea3c5 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_issuer_alt_name.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_set_issuer_alt_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const void * @var{data}, unsigned int @var{data_size}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_crt_set_issuer_dn b/doc/functions/gnutls_x509_crt_set_issuer_dn new file mode 100644 index 0000000..3f4498f --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_issuer_dn @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_set_issuer_dn} (gnutls_x509_crt_t @var{crt}, const char * @var{dn}, const char ** @var{err}) +@var{crt}: a certificate of type @code{gnutls_x509_crt_t} + +@var{dn}: a comma separated DN string (RFC4514) + +@var{err}: indicates the error position (if any) + +This function will set the DN on the provided certificate. +The input string should be plain ASCII or UTF-8 encoded. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_issuer_dn.short b/doc/functions/gnutls_x509_crt_set_issuer_dn.short new file mode 100644 index 0000000..759a63f --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_issuer_dn.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_set_issuer_dn} (gnutls_x509_crt_t @var{crt}, const char * @var{dn}, const char ** @var{err}) diff --git a/doc/functions/gnutls_x509_crt_set_name_constraints b/doc/functions/gnutls_x509_crt_set_name_constraints new file mode 100644 index 0000000..a596f5a --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_name_constraints @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_set_name_constraints} (gnutls_x509_crt_t @var{crt}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{critical}) +@var{crt}: The certificate structure + +@var{nc}: The nameconstraints structure + +@var{critical}: whether this extension will be critical + +This function will set the provided name constraints to +the certificate extension list. This extension is always +marked as critical. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_name_constraints.short b/doc/functions/gnutls_x509_crt_set_name_constraints.short new file mode 100644 index 0000000..f15eea4 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_name_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_set_name_constraints} (gnutls_x509_crt_t @var{crt}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_set_pin_function b/doc/functions/gnutls_x509_crt_set_pin_function new file mode 100644 index 0000000..b74ea09 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_pin_function @@ -0,0 +1,20 @@ + + + + +@deftypefun {void} {gnutls_x509_crt_set_pin_function} (gnutls_x509_crt_t @var{crt}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{crt}: The certificate structure + +@var{fn}: the callback + +@var{userdata}: data associated with the callback + +This function will set a callback function to be used when +it is required to access a protected object. This function overrides +the global function set using @code{gnutls_pkcs11_set_pin_function()} . + +Note that this callback is currently used only during the import +of a PKCS @code{11} certificate with @code{gnutls_x509_crt_import_pkcs11_url()} . + +@strong{Since:} 3.1.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_pin_function.short b/doc/functions/gnutls_x509_crt_set_pin_function.short new file mode 100644 index 0000000..41a9c64 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_pin_function.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_crt_set_pin_function} (gnutls_x509_crt_t @var{crt}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) diff --git a/doc/functions/gnutls_x509_crt_set_policy b/doc/functions/gnutls_x509_crt_set_policy new file mode 100644 index 0000000..4645a55 --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_policy @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_crt_set_policy} (gnutls_x509_crt_t @var{crt}, const struct gnutls_x509_policy_st * @var{policy}, unsigned int @var{critical}) +@var{crt}: should contain a @code{gnutls_x509_crt_t} structure + +@var{policy}: A pointer to a policy structure. + +@var{critical}: use non-zero if the extension is marked as critical + +This function will set the certificate policy extension (2.5.29.32). +Multiple calls to this function append a new policy. + +Note the maximum text size for the qualifier @code{GNUTLS_X509_QUALIFIER_NOTICE} +is 200 characters. This function will fail with @code{GNUTLS_E_INVALID_REQUEST} +if this is exceeded. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_x509_crt_set_policy.short b/doc/functions/gnutls_x509_crt_set_policy.short new file mode 100644 index 0000000..a09741c --- /dev/null +++ b/doc/functions/gnutls_x509_crt_set_policy.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_crt_set_policy} (gnutls_x509_crt_t @var{crt}, const struct gnutls_x509_policy_st * @var{policy}, unsigned int @var{critical}) diff --git a/doc/functions/gnutls_x509_crt_set_serial b/doc/functions/gnutls_x509_crt_set_serial index 0b079ad..132d5a7 100644 --- a/doc/functions/gnutls_x509_crt_set_serial +++ b/doc/functions/gnutls_x509_crt_set_serial @@ -10,9 +10,11 @@ @var{serial_size}: Holds the size of the serial field. This function will set the X.509 certificate's serial number. -Serial is not always a 32 or 64bit number. Some CAs use large -serial numbers, thus it may be wise to handle it as something -uint8_t. +While the serial number is an integer, it is often handled +as an opaque field by several CAs. For this reason this function +accepts any kind of data as a serial number. To be consistent +with the X.509/PKIX specifications the provided @code{serial} should be +a big-endian positive number (i.e. it's leftmost bit should be zero). @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crt_set_subject_alternative_name b/doc/functions/gnutls_x509_crt_set_subject_alternative_name index 35fadee..6247246 100644 --- a/doc/functions/gnutls_x509_crt_set_subject_alternative_name +++ b/doc/functions/gnutls_x509_crt_set_subject_alternative_name @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) +@deftypefun {int} {gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) @var{crt}: a certificate of type @code{gnutls_x509_crt_t} @var{type}: is one of the gnutls_x509_subject_alt_name_t enumerations diff --git a/doc/functions/gnutls_x509_crt_set_subject_alternative_name.short b/doc/functions/gnutls_x509_crt_set_subject_alternative_name.short index f3a75d7..efc7b31 100644 --- a/doc/functions/gnutls_x509_crt_set_subject_alternative_name.short +++ b/doc/functions/gnutls_x509_crt_set_subject_alternative_name.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) +@item @var{int} @ref{gnutls_x509_crt_set_subject_alternative_name} (gnutls_x509_crt_t @var{crt}, gnutls_x509_subject_alt_name_t @var{type}, const char * @var{data_string}) diff --git a/doc/functions/gnutls_x509_crt_set_subject_key_id b/doc/functions/gnutls_x509_crt_set_subject_key_id index 6ef2458..c31f957 100644 --- a/doc/functions/gnutls_x509_crt_set_subject_key_id +++ b/doc/functions/gnutls_x509_crt_set_subject_key_id @@ -7,7 +7,7 @@ @var{id}: The key ID -@var{id_size}: Holds the size of the serial field. +@var{id_size}: Holds the size of the subject key ID field. This function will set the X.509 certificate's subject key ID extension. diff --git a/doc/functions/gnutls_x509_crt_verify b/doc/functions/gnutls_x509_crt_verify index c183852..9e78159 100644 --- a/doc/functions/gnutls_x509_crt_verify +++ b/doc/functions/gnutls_x509_crt_verify @@ -14,7 +14,8 @@ @var{verify}: will hold the certificate verification output. This function will try to verify the given certificate and return -its status. +its status. Note that a verification error does not imply a negative +return status. In that case the @code{verify} status is set. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_crt_verify_data b/doc/functions/gnutls_x509_crt_verify_data index 2b2abbb..01d382c 100644 --- a/doc/functions/gnutls_x509_crt_verify_data +++ b/doc/functions/gnutls_x509_crt_verify_data @@ -14,7 +14,8 @@ This function will verify the given signed data, using the parameters from the certificate. -Deprecated. Please use @code{gnutls_pubkey_verify_data()} . +Deprecated. This function cannot be easily used securely. +Use @code{gnutls_pubkey_verify_data2()} instead. @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} is returned, and zero or positive code on success. diff --git a/doc/functions/gnutls_x509_crt_verify_hash b/doc/functions/gnutls_x509_crt_verify_hash index 008c080..8d324aa 100644 --- a/doc/functions/gnutls_x509_crt_verify_hash +++ b/doc/functions/gnutls_x509_crt_verify_hash @@ -14,7 +14,8 @@ This function will verify the given signed digest, using the parameters from the certificate. -Deprecated. Please use @code{gnutls_pubkey_verify_data2()} or @code{gnutls_pubkey_verify_hash2()} . +Deprecated. This function cannot be easily used securely. +Use @code{gnutls_pubkey_verify_hash2()} instead. @strong{Returns:} In case of a verification failure @code{GNUTLS_E_PK_SIG_VERIFY_FAILED} is returned, and zero or positive code on success. diff --git a/doc/functions/gnutls_x509_dn_export2 b/doc/functions/gnutls_x509_dn_export2 new file mode 100644 index 0000000..960045b --- /dev/null +++ b/doc/functions/gnutls_x509_dn_export2 @@ -0,0 +1,23 @@ + + + + +@deftypefun {int} {gnutls_x509_dn_export2} (gnutls_x509_dn_t @var{dn}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{dn}: Holds the uint8_t DN object + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a DN PEM or DER encoded + +This function will export the DN to DER or PEM format. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN NAME". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_dn_export2.short b/doc/functions/gnutls_x509_dn_export2.short new file mode 100644 index 0000000..074cf0f --- /dev/null +++ b/doc/functions/gnutls_x509_dn_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_dn_export2} (gnutls_x509_dn_t @var{dn}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_dn_get_rdn_ava b/doc/functions/gnutls_x509_dn_get_rdn_ava index 52651d8..d02960f 100644 --- a/doc/functions/gnutls_x509_dn_get_rdn_ava +++ b/doc/functions/gnutls_x509_dn_get_rdn_ava @@ -3,7 +3,7 @@ @deftypefun {int} {gnutls_x509_dn_get_rdn_ava} (gnutls_x509_dn_t @var{dn}, int @var{irdn}, int @var{iava}, gnutls_x509_ava_st * @var{ava}) -@var{dn}: input variable with uint8_t DN pointer +@var{dn}: a pointer to DN @var{irdn}: index of RDN @@ -11,12 +11,24 @@ @var{ava}: Pointer to structure which will hold output information. -Get pointers to data within the DN. +Get pointers to data within the DN. The format of the @code{ava} structure +is shown below. -Note that @code{ava} will contain pointers into the @code{dn} structure, so you -should not modify any data or deallocate it. Note also that the DN -in turn points into the original certificate structure, and thus -you may not deallocate the certificate and continue to access @code{dn} . +struct gnutls_x509_ava_st @{ +gnutls_datum_t oid; +gnutls_datum_t value; +unsigned long value_tag; +@}; + +The X.509 distinguished name is a sequence of sequences of strings +and this is what the @code{irdn} and @code{iava} indexes model. + +Note that @code{ava} will contain pointers into the @code{dn} structure which +in turns points to the original certificate. Thus you should not +modify any data or deallocate any of those. + +This is a low-level function that requires the caller to do the +value conversions when necessary (e.g. from UCS-2). @strong{Returns:} Returns 0 on success, or an error code. @end deftypefun diff --git a/doc/functions/gnutls_x509_dn_oid_name b/doc/functions/gnutls_x509_dn_oid_name index 5ba3cee..4ca02f8 100644 --- a/doc/functions/gnutls_x509_dn_oid_name +++ b/doc/functions/gnutls_x509_dn_oid_name @@ -2,10 +2,10 @@ -@deftypefun {const char*} {gnutls_x509_dn_oid_name} (const char * @var{oid}, unsigned int @var{flags}) +@deftypefun {const char *} {gnutls_x509_dn_oid_name} (const char * @var{oid}, unsigned int @var{flags}) @var{oid}: holds an Object Identifier in a null terminated string -@var{flags}: 0 or @code{GNUTLS_X509_DN_OID_} * +@var{flags}: 0 or GNUTLS_X509_DN_OID_* This function will return the name of a known DN OID. If @code{GNUTLS_X509_DN_OID_RETURN_OID} is specified this function diff --git a/doc/functions/gnutls_x509_dn_oid_name.short b/doc/functions/gnutls_x509_dn_oid_name.short index ebe9581..118f0d0 100644 --- a/doc/functions/gnutls_x509_dn_oid_name.short +++ b/doc/functions/gnutls_x509_dn_oid_name.short @@ -1 +1 @@ -@item @var{const char*} @ref{gnutls_x509_dn_oid_name} (const char * @var{oid}, unsigned int @var{flags}) +@item @var{const char *} @ref{gnutls_x509_dn_oid_name} (const char * @var{oid}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_export_aia b/doc/functions/gnutls_x509_ext_export_aia new file mode 100644 index 0000000..ba2e098 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_aia @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_aia} (gnutls_x509_aia_t @var{aia}, gnutls_datum_t * @var{ext}) +@var{aia}: The authority info access structure + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will DER encode the Authority Information Access (AIA) +extension; see RFC 5280 section 4.2.2.1 for more information on the +extension. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_aia.short b/doc/functions/gnutls_x509_ext_export_aia.short new file mode 100644 index 0000000..8648aa4 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_aia.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_aia} (gnutls_x509_aia_t @var{aia}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_authority_key_id b/doc/functions/gnutls_x509_ext_export_authority_key_id new file mode 100644 index 0000000..6d038a3 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_authority_key_id @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_authority_key_id} (gnutls_x509_aki_t @var{aki}, gnutls_datum_t * @var{ext}) +@var{aki}: An initialized authority key identifier structure + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided key identifier to a +DER-encoded PKIX AuthorityKeyIdentifier extension. +The output data in @code{ext} will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_authority_key_id.short b/doc/functions/gnutls_x509_ext_export_authority_key_id.short new file mode 100644 index 0000000..2812136 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_authority_key_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_authority_key_id} (gnutls_x509_aki_t @var{aki}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_basic_constraints b/doc/functions/gnutls_x509_ext_export_basic_constraints new file mode 100644 index 0000000..0b25275 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_basic_constraints @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_basic_constraints} (unsigned int @var{ca}, int @var{pathlen}, gnutls_datum_t * @var{ext}) +@var{ca}: non-zero for a CA + +@var{pathlen}: The path length constraint (set to -1 for no constraint) + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the parameters provided to a basic constraints +DER encoded extension (2.5.29.19). +The @code{ext} data will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_basic_constraints.short b/doc/functions/gnutls_x509_ext_export_basic_constraints.short new file mode 100644 index 0000000..54c6e42 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_basic_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_basic_constraints} (unsigned int @var{ca}, int @var{pathlen}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_crl_dist_points b/doc/functions/gnutls_x509_ext_export_crl_dist_points new file mode 100644 index 0000000..758e643 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_crl_dist_points @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_crl_dist_points} (gnutls_x509_crl_dist_points_t @var{cdp}, gnutls_datum_t * @var{ext}) +@var{cdp}: A pointer to an initialized CRL distribution points structure. + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided policies, to a certificate policy +DER encoded extension (2.5.29.31). + +The @code{ext} data will be allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_crl_dist_points.short b/doc/functions/gnutls_x509_ext_export_crl_dist_points.short new file mode 100644 index 0000000..13f884b --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_crl_dist_points.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_crl_dist_points} (gnutls_x509_crl_dist_points_t @var{cdp}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_key_purposes b/doc/functions/gnutls_x509_ext_export_key_purposes new file mode 100644 index 0000000..5fb33e1 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_key_purposes @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_key_purposes} (gnutls_x509_key_purposes_t @var{p}, gnutls_datum_t * @var{ext}) +@var{p}: The key purposes structure + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the key purposes structure to a +DER-encoded PKIX ExtKeyUsageSyntax (2.5.29.37) extension. The output data in + @code{ext} will be allocated usin @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_key_purposes.short b/doc/functions/gnutls_x509_ext_export_key_purposes.short new file mode 100644 index 0000000..2a92f33 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_key_purposes.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_key_purposes} (gnutls_x509_key_purposes_t @var{p}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_key_usage b/doc/functions/gnutls_x509_ext_export_key_usage new file mode 100644 index 0000000..d7b35b0 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_key_usage @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_key_usage} (unsigned int @var{usage}, gnutls_datum_t * @var{ext}) +@var{usage}: an ORed sequence of the GNUTLS_KEY_* elements. + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the keyUsage bit string to a DER +encoded PKIX extension. The @code{ext} data will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_key_usage.short b/doc/functions/gnutls_x509_ext_export_key_usage.short new file mode 100644 index 0000000..23f69e4 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_key_usage.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_key_usage} (unsigned int @var{usage}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_name_constraints b/doc/functions/gnutls_x509_ext_export_name_constraints new file mode 100644 index 0000000..4172365 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_name_constraints @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_name_constraints} (gnutls_x509_name_constraints_t @var{nc}, gnutls_datum_t * @var{ext}) +@var{nc}: The nameconstraints structure + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided name constraints structure to a +DER-encoded PKIX NameConstraints (2.5.29.30) extension. The output data in + @code{ext} will be allocated usin @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_name_constraints.short b/doc/functions/gnutls_x509_ext_export_name_constraints.short new file mode 100644 index 0000000..63180dd --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_name_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_name_constraints} (gnutls_x509_name_constraints_t @var{nc}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_policies b/doc/functions/gnutls_x509_ext_export_policies new file mode 100644 index 0000000..87da5c2 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_policies @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_policies} (gnutls_x509_policies_t @var{policies}, gnutls_datum_t * @var{ext}) +@var{policies}: A pointer to an initialized policies structure. + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided policies, to a certificate policy +DER encoded extension (2.5.29.32). + +The @code{ext} data will be allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_policies.short b/doc/functions/gnutls_x509_ext_export_policies.short new file mode 100644 index 0000000..7bb7394 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_policies.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_policies} (gnutls_x509_policies_t @var{policies}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_private_key_usage_period b/doc/functions/gnutls_x509_ext_export_private_key_usage_period new file mode 100644 index 0000000..0947c74 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_private_key_usage_period @@ -0,0 +1,21 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_private_key_usage_period} (time_t @var{activation}, time_t @var{expiration}, gnutls_datum_t * @var{ext}) +@var{activation}: The activation time + +@var{expiration}: The expiration time + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the periods provided to a private key +usage DER encoded extension (2.5.29.16). +The @code{ext} data will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_private_key_usage_period.short b/doc/functions/gnutls_x509_ext_export_private_key_usage_period.short new file mode 100644 index 0000000..b9848b8 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_private_key_usage_period.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_private_key_usage_period} (time_t @var{activation}, time_t @var{expiration}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_proxy b/doc/functions/gnutls_x509_ext_export_proxy new file mode 100644 index 0000000..81c2fcf --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_proxy @@ -0,0 +1,27 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_proxy} (int @var{pathLenConstraint}, const char * @var{policyLanguage}, const char * @var{policy}, size_t @var{sizeof_policy}, gnutls_datum_t * @var{ext}) +@var{pathLenConstraint}: non-negative error codes indicate maximum length of path, +and negative error codes indicate that the pathLenConstraints field should +not be present. + +@var{policyLanguage}: OID describing the language of @code{policy} . + +@var{policy}: uint8_t byte array with policy language, can be @code{NULL} + +@var{sizeof_policy}: size of @code{policy} . + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the parameters provided to a proxyCertInfo extension. + +The @code{ext} data will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_proxy.short b/doc/functions/gnutls_x509_ext_export_proxy.short new file mode 100644 index 0000000..fba8076 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_proxy.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_proxy} (int @var{pathLenConstraint}, const char * @var{policyLanguage}, const char * @var{policy}, size_t @var{sizeof_policy}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_subject_alt_names b/doc/functions/gnutls_x509_ext_export_subject_alt_names new file mode 100644 index 0000000..b51c616 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_subject_alt_names @@ -0,0 +1,17 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_subject_alt_names} (gnutls_subject_alt_names_t @var{sans}, gnutls_datum_t * @var{ext}) +@var{sans}: The alternative names structure + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided alternative names structure to a +DER-encoded SubjectAltName PKIX extension. The output data in @code{ext} will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_subject_alt_names.short b/doc/functions/gnutls_x509_ext_export_subject_alt_names.short new file mode 100644 index 0000000..9b6c8a0 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_subject_alt_names.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_subject_alt_names} (gnutls_subject_alt_names_t @var{sans}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_export_subject_key_id b/doc/functions/gnutls_x509_ext_export_subject_key_id new file mode 100644 index 0000000..7ffb90a --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_subject_key_id @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_export_subject_key_id} (const gnutls_datum_t * @var{id}, gnutls_datum_t * @var{ext}) +@var{id}: The key identifier + +@var{ext}: The DER-encoded extension data; must be freed using @code{gnutls_free()} . + +This function will convert the provided key identifier to a +DER-encoded PKIX SubjectKeyIdentifier extension. +The output data in @code{ext} will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_export_subject_key_id.short b/doc/functions/gnutls_x509_ext_export_subject_key_id.short new file mode 100644 index 0000000..4ddd6ce --- /dev/null +++ b/doc/functions/gnutls_x509_ext_export_subject_key_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_export_subject_key_id} (const gnutls_datum_t * @var{id}, gnutls_datum_t * @var{ext}) diff --git a/doc/functions/gnutls_x509_ext_import_aia b/doc/functions/gnutls_x509_ext_import_aia new file mode 100644 index 0000000..c579854 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_aia @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_aia} (const gnutls_datum_t * @var{ext}, gnutls_x509_aia_t @var{aia}, unsigned int @var{flags}) +@var{ext}: The DER-encoded extension data + +@var{aia}: The authority info access structure + +@var{flags}: should be zero + +This function extracts the Authority Information Access (AIA) +extension from the provided DER-encoded data; see RFC 5280 section 4.2.2.1 +for more information on the extension. The +AIA extension holds a sequence of AccessDescription (AD) data. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_aia.short b/doc/functions/gnutls_x509_ext_import_aia.short new file mode 100644 index 0000000..bd30071 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_aia.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_aia} (const gnutls_datum_t * @var{ext}, gnutls_x509_aia_t @var{aia}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_authority_key_id b/doc/functions/gnutls_x509_ext_import_authority_key_id new file mode 100644 index 0000000..c2bf353 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_authority_key_id @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_authority_key_id} (const gnutls_datum_t * @var{ext}, gnutls_x509_aki_t @var{aki}, unsigned int @var{flags}) +@var{ext}: a DER encoded extension + +@var{aki}: An initialized authority key identifier structure + +@var{flags}: should be zero + +This function will return the subject key ID stored in the provided +AuthorityKeyIdentifier extension. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_authority_key_id.short b/doc/functions/gnutls_x509_ext_import_authority_key_id.short new file mode 100644 index 0000000..3884c43 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_authority_key_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_authority_key_id} (const gnutls_datum_t * @var{ext}, gnutls_x509_aki_t @var{aki}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_basic_constraints b/doc/functions/gnutls_x509_ext_import_basic_constraints new file mode 100644 index 0000000..6c2284d --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_basic_constraints @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_basic_constraints} (const gnutls_datum_t * @var{ext}, unsigned int * @var{ca}, int * @var{pathlen}) +@var{ext}: the DER encoded extension data + +@var{ca}: will be non zero if the CA status is true + +@var{pathlen}: the path length constraint; will be set to -1 for no limit + +This function will return the CA status and path length constraint +as written in the PKIX extension 2.5.29.19. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_basic_constraints.short b/doc/functions/gnutls_x509_ext_import_basic_constraints.short new file mode 100644 index 0000000..f4d8dc5 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_basic_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_basic_constraints} (const gnutls_datum_t * @var{ext}, unsigned int * @var{ca}, int * @var{pathlen}) diff --git a/doc/functions/gnutls_x509_ext_import_crl_dist_points b/doc/functions/gnutls_x509_ext_import_crl_dist_points new file mode 100644 index 0000000..1e79703 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_crl_dist_points @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_crl_dist_points} (const gnutls_datum_t * @var{ext}, gnutls_x509_crl_dist_points_t @var{cdp}, unsigned int @var{flags}) +@var{ext}: the DER encoded extension data + +@var{cdp}: A pointer to an initialized CRL distribution points structure. + +@var{flags}: should be zero + +This function will extract the CRL distribution points extension (2.5.29.31) +and store it into the provided structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_crl_dist_points.short b/doc/functions/gnutls_x509_ext_import_crl_dist_points.short new file mode 100644 index 0000000..b568fb8 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_crl_dist_points.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_crl_dist_points} (const gnutls_datum_t * @var{ext}, gnutls_x509_crl_dist_points_t @var{cdp}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_key_purposes b/doc/functions/gnutls_x509_ext_import_key_purposes new file mode 100644 index 0000000..ae41488 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_key_purposes @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_key_purposes} (const gnutls_datum_t * @var{ext}, gnutls_x509_key_purposes_t @var{p}, unsigned int @var{flags}) +@var{ext}: The DER-encoded extension data + +@var{p}: The key purposes structure + +@var{flags}: should be zero + +This function will extract the key purposes in the provided DER-encoded +ExtKeyUsageSyntax PKIX extension, to a @code{gnutls_x509_key_purposes_t} structure. +The structure must be initialized. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_key_purposes.short b/doc/functions/gnutls_x509_ext_import_key_purposes.short new file mode 100644 index 0000000..4a45f6f --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_key_purposes.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_key_purposes} (const gnutls_datum_t * @var{ext}, gnutls_x509_key_purposes_t @var{p}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_key_usage b/doc/functions/gnutls_x509_ext_import_key_usage new file mode 100644 index 0000000..bccadaa --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_key_usage @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_key_usage} (const gnutls_datum_t * @var{ext}, unsigned int * @var{key_usage}) +@var{ext}: the DER encoded extension data + +@var{key_usage}: where the key usage bits will be stored + +This function will return certificate's key usage, by reading the DER +data of the keyUsage X.509 extension (2.5.29.15). The key usage value will ORed +values of the: @code{GNUTLS_KEY_DIGITAL_SIGNATURE} , +@code{GNUTLS_KEY_NON_REPUDIATION} , @code{GNUTLS_KEY_KEY_ENCIPHERMENT} , +@code{GNUTLS_KEY_DATA_ENCIPHERMENT} , @code{GNUTLS_KEY_KEY_AGREEMENT} , +@code{GNUTLS_KEY_KEY_CERT_SIGN} , @code{GNUTLS_KEY_CRL_SIGN} , +@code{GNUTLS_KEY_ENCIPHER_ONLY} , @code{GNUTLS_KEY_DECIPHER_ONLY} . + +@strong{Returns:} the certificate key usage, or a negative error code in case of +parsing error. If the certificate does not contain the keyUsage +extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be +returned. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_key_usage.short b/doc/functions/gnutls_x509_ext_import_key_usage.short new file mode 100644 index 0000000..e43397f --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_key_usage.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_key_usage} (const gnutls_datum_t * @var{ext}, unsigned int * @var{key_usage}) diff --git a/doc/functions/gnutls_x509_ext_import_name_constraints b/doc/functions/gnutls_x509_ext_import_name_constraints new file mode 100644 index 0000000..fd7c317 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_name_constraints @@ -0,0 +1,29 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_name_constraints} (const gnutls_datum_t * @var{ext}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{flags}) +@var{ext}: a DER encoded extension + +@var{nc}: The nameconstraints intermediate structure + +@var{flags}: zero or @code{GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND} + +This function will return an intermediate structure containing +the name constraints of the provided NameConstraints extension. That +structure can be used in combination with @code{gnutls_x509_name_constraints_check()} +to verify whether a server's name is in accordance with the constraints. + +When the @code{flags} is set to @code{GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND} , then if +the @code{nc} structure is empty +this function will behave identically as if the flag was not set. +Otherwise if there are elements in the @code{nc} structure then only the +excluded constraints will be appended to the constraints. + +Note that @code{nc} must be initialized prior to calling this function. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_name_constraints.short b/doc/functions/gnutls_x509_ext_import_name_constraints.short new file mode 100644 index 0000000..b21f3fa --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_name_constraints.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_name_constraints} (const gnutls_datum_t * @var{ext}, gnutls_x509_name_constraints_t @var{nc}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_policies b/doc/functions/gnutls_x509_ext_import_policies new file mode 100644 index 0000000..6af8b83 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_policies @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_policies} (const gnutls_datum_t * @var{ext}, gnutls_x509_policies_t @var{policies}, unsigned int @var{flags}) +@var{ext}: the DER encoded extension data + +@var{policies}: A pointer to an initialized policies structures. + +@var{flags}: should be zero + +This function will extract the certificate policy extension (2.5.29.32) +and store it the provided structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_policies.short b/doc/functions/gnutls_x509_ext_import_policies.short new file mode 100644 index 0000000..e5f494b --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_policies.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_policies} (const gnutls_datum_t * @var{ext}, gnutls_x509_policies_t @var{policies}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_private_key_usage_period b/doc/functions/gnutls_x509_ext_import_private_key_usage_period new file mode 100644 index 0000000..c5215f6 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_private_key_usage_period @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_private_key_usage_period} (const gnutls_datum_t * @var{ext}, time_t * @var{activation}, time_t * @var{expiration}) +@var{ext}: the DER encoded extension data + +@var{activation}: Will hold the activation time + +@var{expiration}: Will hold the expiration time + +This function will return the expiration and activation +times of the private key as written in the +PKIX extension 2.5.29.16. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_private_key_usage_period.short b/doc/functions/gnutls_x509_ext_import_private_key_usage_period.short new file mode 100644 index 0000000..43a7b9b --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_private_key_usage_period.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_private_key_usage_period} (const gnutls_datum_t * @var{ext}, time_t * @var{activation}, time_t * @var{expiration}) diff --git a/doc/functions/gnutls_x509_ext_import_proxy b/doc/functions/gnutls_x509_ext_import_proxy new file mode 100644 index 0000000..4548305 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_proxy @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_proxy} (const gnutls_datum_t * @var{ext}, int * @var{pathlen}, char ** @var{policyLanguage}, char ** @var{policy}, size_t * @var{sizeof_policy}) +@var{ext}: the DER encoded extension data + +@var{pathlen}: pointer to output integer indicating path length (may be +NULL), non-negative error codes indicate a present pCPathLenConstraint +field and the actual value, -1 indicate that the field is absent. + +@var{policyLanguage}: output variable with OID of policy language + +@var{policy}: output variable with policy data + +@var{sizeof_policy}: output variable size of policy data + +This function will return the information from a proxy certificate +extension. It reads the ProxyCertInfo X.509 extension (1.3.6.1.5.5.7.1.14). + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_proxy.short b/doc/functions/gnutls_x509_ext_import_proxy.short new file mode 100644 index 0000000..cac5fcf --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_proxy.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_proxy} (const gnutls_datum_t * @var{ext}, int * @var{pathlen}, char ** @var{policyLanguage}, char ** @var{policy}, size_t * @var{sizeof_policy}) diff --git a/doc/functions/gnutls_x509_ext_import_subject_alt_names b/doc/functions/gnutls_x509_ext_import_subject_alt_names new file mode 100644 index 0000000..72306c7 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_subject_alt_names @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_subject_alt_names} (const gnutls_datum_t * @var{ext}, gnutls_subject_alt_names_t @var{sans}, unsigned int @var{flags}) +@var{ext}: The DER-encoded extension data + +@var{sans}: The alternative names structure + +@var{flags}: should be zero + +This function will export the alternative names in the provided DER-encoded +SubjectAltName PKIX extension, to a @code{gnutls_subject_alt_names_t} structure. The structure +must have been initialized. + +This function will succeed even if there no subject alternative names +in the structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_subject_alt_names.short b/doc/functions/gnutls_x509_ext_import_subject_alt_names.short new file mode 100644 index 0000000..9b2e49b --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_subject_alt_names.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_subject_alt_names} (const gnutls_datum_t * @var{ext}, gnutls_subject_alt_names_t @var{sans}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_ext_import_subject_key_id b/doc/functions/gnutls_x509_ext_import_subject_key_id new file mode 100644 index 0000000..c6004b0 --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_subject_key_id @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_ext_import_subject_key_id} (const gnutls_datum_t * @var{ext}, gnutls_datum_t * @var{id}) +@var{ext}: a DER encoded extension + +@var{id}: will contain the subject key ID + +This function will return the subject key ID stored in the provided +SubjectKeyIdentifier extension. The ID will be allocated using +@code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_ext_import_subject_key_id.short b/doc/functions/gnutls_x509_ext_import_subject_key_id.short new file mode 100644 index 0000000..a25fa3a --- /dev/null +++ b/doc/functions/gnutls_x509_ext_import_subject_key_id.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_ext_import_subject_key_id} (const gnutls_datum_t * @var{ext}, gnutls_datum_t * @var{id}) diff --git a/doc/functions/gnutls_x509_key_purpose_deinit b/doc/functions/gnutls_x509_key_purpose_deinit new file mode 100644 index 0000000..9a633b2 --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_key_purpose_deinit} (gnutls_x509_key_purposes_t @var{p}) +@var{p}: The key purposes structure + +This function will deinitialize an alternative names structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_key_purpose_deinit.short b/doc/functions/gnutls_x509_key_purpose_deinit.short new file mode 100644 index 0000000..1bb8f8a --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_key_purpose_deinit} (gnutls_x509_key_purposes_t @var{p}) diff --git a/doc/functions/gnutls_x509_key_purpose_get b/doc/functions/gnutls_x509_key_purpose_get new file mode 100644 index 0000000..5bf6f4c --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_get @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_key_purpose_get} (gnutls_x509_key_purposes_t @var{p}, unsigned @var{idx}, gnutls_datum_t * @var{oid}) +@var{p}: The key purposes structure + +@var{idx}: The index of the key purpose to retrieve + +@var{oid}: Will hold the object identifier of the key purpose (to be treated as constant) + +This function will retrieve the specified by the index key purpose in the +purposes structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_key_purpose_get.short b/doc/functions/gnutls_x509_key_purpose_get.short new file mode 100644 index 0000000..300597d --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_key_purpose_get} (gnutls_x509_key_purposes_t @var{p}, unsigned @var{idx}, gnutls_datum_t * @var{oid}) diff --git a/doc/functions/gnutls_x509_key_purpose_init b/doc/functions/gnutls_x509_key_purpose_init new file mode 100644 index 0000000..984deb3 --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_key_purpose_init} (gnutls_x509_key_purposes_t * @var{p}) +@var{p}: The key purposes structure + +This function will initialize an alternative names structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_key_purpose_init.short b/doc/functions/gnutls_x509_key_purpose_init.short new file mode 100644 index 0000000..4a40f68 --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_key_purpose_init} (gnutls_x509_key_purposes_t * @var{p}) diff --git a/doc/functions/gnutls_x509_key_purpose_set b/doc/functions/gnutls_x509_key_purpose_set new file mode 100644 index 0000000..4d172ac --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_set @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_x509_key_purpose_set} (gnutls_x509_key_purposes_t @var{p}, const char * @var{oid}) +@var{p}: The key purposes structure + +@var{oid}: The object identifier of the key purpose + +This function will store the specified key purpose in the +purposes structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0), otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_key_purpose_set.short b/doc/functions/gnutls_x509_key_purpose_set.short new file mode 100644 index 0000000..8e6881f --- /dev/null +++ b/doc/functions/gnutls_x509_key_purpose_set.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_key_purpose_set} (gnutls_x509_key_purposes_t @var{p}, const char * @var{oid}) diff --git a/doc/functions/gnutls_x509_name_constraints_add_excluded b/doc/functions/gnutls_x509_name_constraints_add_excluded new file mode 100644 index 0000000..d058a8a --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_add_excluded @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_name_constraints_add_excluded} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) +@var{nc}: The nameconstraints structure + +@var{type}: The type of the constraints + +@var{name}: The data of the constraints + +This function will add a name constraint to the list of excluded +constraints. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_add_excluded.short b/doc/functions/gnutls_x509_name_constraints_add_excluded.short new file mode 100644 index 0000000..0be420e --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_add_excluded.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_name_constraints_add_excluded} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) diff --git a/doc/functions/gnutls_x509_name_constraints_add_permitted b/doc/functions/gnutls_x509_name_constraints_add_permitted new file mode 100644 index 0000000..4d8067f --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_add_permitted @@ -0,0 +1,18 @@ + + + + +@deftypefun {int} {gnutls_x509_name_constraints_add_permitted} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) +@var{nc}: The nameconstraints structure + +@var{type}: The type of the constraints + +@var{name}: The data of the constraints + +This function will add a name constraint to the list of permitted +constraints. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_add_permitted.short b/doc/functions/gnutls_x509_name_constraints_add_permitted.short new file mode 100644 index 0000000..14feaf9 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_add_permitted.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_name_constraints_add_permitted} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) diff --git a/doc/functions/gnutls_x509_name_constraints_check b/doc/functions/gnutls_x509_name_constraints_check new file mode 100644 index 0000000..068f3b2 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_check @@ -0,0 +1,19 @@ + + + + +@deftypefun {unsigned} {gnutls_x509_name_constraints_check} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) +@var{nc}: the extracted name constraints structure + +@var{type}: the type of the constraint to check (of type gnutls_x509_subject_alt_name_t) + +@var{name}: the name to be checked + +This function will check the provided name against the constraints in + @code{nc} using the RFC5280 rules. Currently this function is limited to DNS +names and emails (of type @code{GNUTLS_SAN_DNSNAME} and @code{GNUTLS_SAN_RFC822NAME} ). + +@strong{Returns:} zero if the provided name is not acceptable, and non-zero otherwise. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_check.short b/doc/functions/gnutls_x509_name_constraints_check.short new file mode 100644 index 0000000..ed2cf66 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_check.short @@ -0,0 +1 @@ +@item @var{unsigned} @ref{gnutls_x509_name_constraints_check} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, const gnutls_datum_t * @var{name}) diff --git a/doc/functions/gnutls_x509_name_constraints_check_crt b/doc/functions/gnutls_x509_name_constraints_check_crt new file mode 100644 index 0000000..f248056 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_check_crt @@ -0,0 +1,22 @@ + + + + +@deftypefun {unsigned} {gnutls_x509_name_constraints_check_crt} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, gnutls_x509_crt_t @var{cert}) +@var{nc}: the extracted name constraints structure + +@var{type}: the type of the constraint to check (of type gnutls_x509_subject_alt_name_t) + +@var{cert}: the certificate to be checked + +This function will check the provided certificate names against the constraints in + @code{nc} using the RFC5280 rules. It will traverse all the certificate's names and +alternative names. + +Currently this function is limited to DNS +names and emails (of type @code{GNUTLS_SAN_DNSNAME} and @code{GNUTLS_SAN_RFC822NAME} ). + +@strong{Returns:} zero if the provided name is not acceptable, and non-zero otherwise. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_check_crt.short b/doc/functions/gnutls_x509_name_constraints_check_crt.short new file mode 100644 index 0000000..d74007e --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_check_crt.short @@ -0,0 +1 @@ +@item @var{unsigned} @ref{gnutls_x509_name_constraints_check_crt} (gnutls_x509_name_constraints_t @var{nc}, gnutls_x509_subject_alt_name_t @var{type}, gnutls_x509_crt_t @var{cert}) diff --git a/doc/functions/gnutls_x509_name_constraints_deinit b/doc/functions/gnutls_x509_name_constraints_deinit new file mode 100644 index 0000000..ffd07ca --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_name_constraints_deinit} (gnutls_x509_name_constraints_t @var{nc}) +@var{nc}: The nameconstraints structure + +This function will deinitialize a name constraints structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_deinit.short b/doc/functions/gnutls_x509_name_constraints_deinit.short new file mode 100644 index 0000000..febde2f --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_name_constraints_deinit} (gnutls_x509_name_constraints_t @var{nc}) diff --git a/doc/functions/gnutls_x509_name_constraints_get_excluded b/doc/functions/gnutls_x509_name_constraints_get_excluded new file mode 100644 index 0000000..2f8467f --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_get_excluded @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_name_constraints_get_excluded} (gnutls_x509_name_constraints_t @var{nc}, unsigned @var{idx}, unsigned * @var{type}, gnutls_datum_t * @var{name}) +@var{nc}: the extracted name constraints structure + +@var{idx}: the index of the constraint + +@var{type}: the type of the constraint (of type gnutls_x509_subject_alt_name_t) + +@var{name}: the name in the constraint (of the specific type) + +This function will return an intermediate structure containing +the name constraints of the provided CA certificate. That +structure can be used in combination with @code{gnutls_x509_name_constraints_check()} +to verify whether a server's name is in accordance with the constraints. + +The name should be treated as constant and valid for the lifetime of @code{nc} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_get_excluded.short b/doc/functions/gnutls_x509_name_constraints_get_excluded.short new file mode 100644 index 0000000..0e8d020 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_get_excluded.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_name_constraints_get_excluded} (gnutls_x509_name_constraints_t @var{nc}, unsigned @var{idx}, unsigned * @var{type}, gnutls_datum_t * @var{name}) diff --git a/doc/functions/gnutls_x509_name_constraints_get_permitted b/doc/functions/gnutls_x509_name_constraints_get_permitted new file mode 100644 index 0000000..78611e5 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_get_permitted @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_name_constraints_get_permitted} (gnutls_x509_name_constraints_t @var{nc}, unsigned @var{idx}, unsigned * @var{type}, gnutls_datum_t * @var{name}) +@var{nc}: the extracted name constraints structure + +@var{idx}: the index of the constraint + +@var{type}: the type of the constraint (of type gnutls_x509_subject_alt_name_t) + +@var{name}: the name in the constraint (of the specific type) + +This function will return an intermediate structure containing +the name constraints of the provided CA certificate. That +structure can be used in combination with @code{gnutls_x509_name_constraints_check()} +to verify whether a server's name is in accordance with the constraints. + +The name should be treated as constant and valid for the lifetime of @code{nc} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the extension is not present, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_get_permitted.short b/doc/functions/gnutls_x509_name_constraints_get_permitted.short new file mode 100644 index 0000000..d73d9a4 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_get_permitted.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_name_constraints_get_permitted} (gnutls_x509_name_constraints_t @var{nc}, unsigned @var{idx}, unsigned * @var{type}, gnutls_datum_t * @var{name}) diff --git a/doc/functions/gnutls_x509_name_constraints_init b/doc/functions/gnutls_x509_name_constraints_init new file mode 100644 index 0000000..d74b509 --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_name_constraints_init} (gnutls_x509_name_constraints_t * @var{nc}) +@var{nc}: The nameconstraints structure + +This function will initialize a name constraints structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_name_constraints_init.short b/doc/functions/gnutls_x509_name_constraints_init.short new file mode 100644 index 0000000..0f206dc --- /dev/null +++ b/doc/functions/gnutls_x509_name_constraints_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_name_constraints_init} (gnutls_x509_name_constraints_t * @var{nc}) diff --git a/doc/functions/gnutls_x509_policies_deinit b/doc/functions/gnutls_x509_policies_deinit new file mode 100644 index 0000000..658c3da --- /dev/null +++ b/doc/functions/gnutls_x509_policies_deinit @@ -0,0 +1,11 @@ + + + + +@deftypefun {void} {gnutls_x509_policies_deinit} (gnutls_x509_policies_t @var{policies}) +@var{policies}: The authority key identifier structure + +This function will deinitialize an authority key identifier structure. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_policies_deinit.short b/doc/functions/gnutls_x509_policies_deinit.short new file mode 100644 index 0000000..200dc4d --- /dev/null +++ b/doc/functions/gnutls_x509_policies_deinit.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_policies_deinit} (gnutls_x509_policies_t @var{policies}) diff --git a/doc/functions/gnutls_x509_policies_get b/doc/functions/gnutls_x509_policies_get new file mode 100644 index 0000000..068a241 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_get @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_x509_policies_get} (gnutls_x509_policies_t @var{policies}, unsigned int @var{seq}, struct gnutls_x509_policy_st * @var{policy}) +@var{policies}: The policies structure + +@var{seq}: The index of the name to get + +@var{policy}: Will hold the policy + +This function will return a specific policy as stored in +the @code{policies} structure. The returned values should be treated as constant +and valid for the lifetime of @code{policies} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +if the index is out of bounds, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_policies_get.short b/doc/functions/gnutls_x509_policies_get.short new file mode 100644 index 0000000..e2f6d36 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_get.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_policies_get} (gnutls_x509_policies_t @var{policies}, unsigned int @var{seq}, struct gnutls_x509_policy_st * @var{policy}) diff --git a/doc/functions/gnutls_x509_policies_init b/doc/functions/gnutls_x509_policies_init new file mode 100644 index 0000000..2d55348 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_init @@ -0,0 +1,13 @@ + + + + +@deftypefun {int} {gnutls_x509_policies_init} (gnutls_x509_policies_t * @var{policies}) +@var{policies}: The authority key ID structure + +This function will initialize an authority key ID structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_policies_init.short b/doc/functions/gnutls_x509_policies_init.short new file mode 100644 index 0000000..82b2a36 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_init.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_policies_init} (gnutls_x509_policies_t * @var{policies}) diff --git a/doc/functions/gnutls_x509_policies_set b/doc/functions/gnutls_x509_policies_set new file mode 100644 index 0000000..be8eee2 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_set @@ -0,0 +1,16 @@ + + + + +@deftypefun {int} {gnutls_x509_policies_set} (gnutls_x509_policies_t @var{policies}, const struct gnutls_x509_policy_st * @var{policy}) +@var{policies}: An initialized policies structure + +@var{policy}: Contains the policy to set + +This function will store the specified policy in +the provided @code{policies} structure. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0), otherwise a negative error value. + +@strong{Since:} 3.3.0 +@end deftypefun diff --git a/doc/functions/gnutls_x509_policies_set.short b/doc/functions/gnutls_x509_policies_set.short new file mode 100644 index 0000000..05fee53 --- /dev/null +++ b/doc/functions/gnutls_x509_policies_set.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_policies_set} (gnutls_x509_policies_t @var{policies}, const struct gnutls_x509_policy_st * @var{policy}) diff --git a/doc/functions/gnutls_x509_policy_release b/doc/functions/gnutls_x509_policy_release new file mode 100644 index 0000000..909eab4 --- /dev/null +++ b/doc/functions/gnutls_x509_policy_release @@ -0,0 +1,12 @@ + + + + +@deftypefun {void} {gnutls_x509_policy_release} (struct gnutls_x509_policy_st * @var{policy}) +@var{policy}: a certificate policy + +This function will deinitialize all memory associated with the provided + @code{policy} . The policy is allocated using @code{gnutls_x509_crt_get_policy()} . + +@strong{Since:} 3.1.5 +@end deftypefun diff --git a/doc/functions/gnutls_x509_policy_release.short b/doc/functions/gnutls_x509_policy_release.short new file mode 100644 index 0000000..e9ef379 --- /dev/null +++ b/doc/functions/gnutls_x509_policy_release.short @@ -0,0 +1 @@ +@item @var{void} @ref{gnutls_x509_policy_release} (struct gnutls_x509_policy_st * @var{policy}) diff --git a/doc/functions/gnutls_x509_privkey_export2 b/doc/functions/gnutls_x509_privkey_export2 new file mode 100644 index 0000000..aadebd9 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_export2 @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_privkey_export2} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{key}: Holds the key + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a private key PEM or DER encoded + +This function will export the private key to a PKCS1 structure for +RSA keys, or an integer sequence for DSA keys. The DSA keys are in +the same format with the parameters used by openssl. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN RSA PRIVATE KEY". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +Since 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_export2.short b/doc/functions/gnutls_x509_privkey_export2.short new file mode 100644 index 0000000..2968fc0 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_export2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_privkey_export2} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_privkey_export2_pkcs8 b/doc/functions/gnutls_x509_privkey_export2_pkcs8 new file mode 100644 index 0000000..71d6d83 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_export2_pkcs8 @@ -0,0 +1,34 @@ + + + + +@deftypefun {int} {gnutls_x509_privkey_export2_pkcs8} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, gnutls_datum_t * @var{out}) +@var{key}: Holds the key + +@var{format}: the format of output params. One of PEM or DER. + +@var{password}: the password that will be used to encrypt the key. + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +@var{out}: will contain a private key PEM or DER encoded + +This function will export the private key to a PKCS8 structure. +Both RSA and DSA keys can be exported. For DSA keys we use +PKCS @code{11} definitions. If the flags do not specify the encryption +cipher, then the default 3DES (PBES2) will be used. + +The @code{password} can be either ASCII or UTF-8 in the default PBES2 +encryption schemas, or ASCII for the PKCS12 schemas. + +The output buffer is allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN ENCRYPTED PRIVATE KEY" or "BEGIN PRIVATE KEY" if +encryption is not used. + +@strong{Returns:} In case of failure a negative error code will be +returned, and 0 on success. + +Since 3.1.3 +@end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_export2_pkcs8.short b/doc/functions/gnutls_x509_privkey_export2_pkcs8.short new file mode 100644 index 0000000..89be312 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_export2_pkcs8.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_privkey_export2_pkcs8} (gnutls_x509_privkey_t @var{key}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}, gnutls_datum_t * @var{out}) diff --git a/doc/functions/gnutls_x509_privkey_export_ecc_raw b/doc/functions/gnutls_x509_privkey_export_ecc_raw index 1bf5dc2..48995c2 100644 --- a/doc/functions/gnutls_x509_privkey_export_ecc_raw +++ b/doc/functions/gnutls_x509_privkey_export_ecc_raw @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_privkey_export_ecc_raw} (gnutls_x509_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t* @var{k}) +@deftypefun {int} {gnutls_x509_privkey_export_ecc_raw} (gnutls_x509_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{k}) @var{key}: a structure that holds the rsa parameters @var{curve}: will hold the curve diff --git a/doc/functions/gnutls_x509_privkey_export_ecc_raw.short b/doc/functions/gnutls_x509_privkey_export_ecc_raw.short index 50c2d05..e38e0e6 100644 --- a/doc/functions/gnutls_x509_privkey_export_ecc_raw.short +++ b/doc/functions/gnutls_x509_privkey_export_ecc_raw.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_privkey_export_ecc_raw} (gnutls_x509_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t* @var{k}) +@item @var{int} @ref{gnutls_x509_privkey_export_ecc_raw} (gnutls_x509_privkey_t @var{key}, gnutls_ecc_curve_t * @var{curve}, gnutls_datum_t * @var{x}, gnutls_datum_t * @var{y}, gnutls_datum_t * @var{k}) diff --git a/doc/functions/gnutls_x509_privkey_generate b/doc/functions/gnutls_x509_privkey_generate index b99911d..0cd5b50 100644 --- a/doc/functions/gnutls_x509_privkey_generate +++ b/doc/functions/gnutls_x509_privkey_generate @@ -14,6 +14,13 @@ This function will generate a random private key. Note that this function must be called on an empty private key. +Note that when generating an elliptic curve key, the curve +can be substituted in the place of the bits parameter using the +@code{GNUTLS_CURVE_TO_BITS()} macro. + +For DSA keys, if the subgroup size needs to be specified check +the @code{GNUTLS_SUBGROUP_TO_BITS()} macro. + Do not set the number of bits directly, use @code{gnutls_sec_param_to_pk_bits()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a diff --git a/doc/functions/gnutls_x509_privkey_get_key_id b/doc/functions/gnutls_x509_privkey_get_key_id index df5f8a3..d3be153 100644 --- a/doc/functions/gnutls_x509_privkey_get_key_id +++ b/doc/functions/gnutls_x509_privkey_get_key_id @@ -12,7 +12,7 @@ @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) -This function will return a unique ID the depends on the public key +This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given key. diff --git a/doc/functions/gnutls_x509_privkey_get_pk_algorithm2 b/doc/functions/gnutls_x509_privkey_get_pk_algorithm2 new file mode 100644 index 0000000..aff3161 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_get_pk_algorithm2 @@ -0,0 +1,15 @@ + + + + +@deftypefun {int} {gnutls_x509_privkey_get_pk_algorithm2} (gnutls_x509_privkey_t @var{key}, unsigned int * @var{bits}) +@var{key}: should contain a @code{gnutls_x509_privkey_t} structure + +@var{bits}: The number of bits in the public key algorithm + +This function will return the public key algorithm of a private +key. + +@strong{Returns:} a member of the @code{gnutls_pk_algorithm_t} enumeration on +success, or a negative error code on error. +@end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_get_pk_algorithm2.short b/doc/functions/gnutls_x509_privkey_get_pk_algorithm2.short new file mode 100644 index 0000000..b1f233c --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_get_pk_algorithm2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_privkey_get_pk_algorithm2} (gnutls_x509_privkey_t @var{key}, unsigned int * @var{bits}) diff --git a/doc/functions/gnutls_x509_privkey_import2 b/doc/functions/gnutls_x509_privkey_import2 new file mode 100644 index 0000000..ec6578c --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_import2 @@ -0,0 +1,28 @@ + + + + +@deftypefun {int} {gnutls_x509_privkey_import2} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) +@var{key}: The structure to store the parsed key + +@var{data}: The DER or PEM encoded key. + +@var{format}: One of DER or PEM + +@var{password}: A password (optional) + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function will import the given DER or PEM encoded key, to +the native @code{gnutls_x509_privkey_t} format, irrespective of the +input format. The input format is auto-detected. + +The supported formats are basic unencrypted key, PKCS8, PKCS12, +and the openssl format. + +If the provided key is encrypted but no password was given, then +@code{GNUTLS_E_DECRYPTION_FAILED} is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_import2.short b/doc/functions/gnutls_x509_privkey_import2.short new file mode 100644 index 0000000..7b8c807 --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_import2.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_privkey_import2} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format}, const char * @var{password}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_privkey_import_openssl b/doc/functions/gnutls_x509_privkey_import_openssl new file mode 100644 index 0000000..263a5ea --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_import_openssl @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_privkey_import_openssl} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, const char * @var{password}) +@var{key}: The structure to store the parsed key + +@var{data}: The DER or PEM encoded key. + +@var{password}: the password to decrypt the key (if it is encrypted). + +This function will convert the given PEM encrypted to +the native gnutls_x509_privkey_t format. The +output will be stored in @code{key} . + +The @code{password} should be in ASCII. If the password is not provided +or wrong then @code{GNUTLS_E_DECRYPTION_FAILED} will be returned. + +If the Certificate is PEM encoded it should have a header of +"PRIVATE KEY" and the "DEK-Info" header. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. +@end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_import_openssl.short b/doc/functions/gnutls_x509_privkey_import_openssl.short new file mode 100644 index 0000000..676704d --- /dev/null +++ b/doc/functions/gnutls_x509_privkey_import_openssl.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_privkey_import_openssl} (gnutls_x509_privkey_t @var{key}, const gnutls_datum_t * @var{data}, const char * @var{password}) diff --git a/doc/functions/gnutls_x509_privkey_import_pkcs8 b/doc/functions/gnutls_x509_privkey_import_pkcs8 index 00d2752..983dab5 100644 --- a/doc/functions/gnutls_x509_privkey_import_pkcs8 +++ b/doc/functions/gnutls_x509_privkey_import_pkcs8 @@ -27,6 +27,9 @@ If the Certificate is PEM encoded it should have a header of specify the flags if the key is DER encoded, since in that case the encryption status cannot be auto-detected. +If the @code{GNUTLS_PKCS_PLAIN} flag is specified and the supplied data +are encrypted then @code{GNUTLS_E_DECRYPTION_FAILED} is returned. + @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @end deftypefun diff --git a/doc/functions/gnutls_x509_privkey_import_rsa_raw2 b/doc/functions/gnutls_x509_privkey_import_rsa_raw2 index ed33a03..bb21cab 100644 --- a/doc/functions/gnutls_x509_privkey_import_rsa_raw2 +++ b/doc/functions/gnutls_x509_privkey_import_rsa_raw2 @@ -15,11 +15,11 @@ @var{q}: holds the second prime (q) -@var{u}: holds the coefficient +@var{u}: holds the coefficient (optional) -@var{e1}: holds e1 = d mod (p-1) +@var{e1}: holds e1 = d mod (p-1) (optional) -@var{e2}: holds e2 = d mod (q-1) +@var{e2}: holds e2 = d mod (q-1) (optional) This function will convert the given RSA raw parameters to the native @code{gnutls_x509_privkey_t} format. The output will be stored in diff --git a/doc/functions/gnutls_x509_rdn_get b/doc/functions/gnutls_x509_rdn_get index 3e4c9f0..df96b01 100644 --- a/doc/functions/gnutls_x509_rdn_get +++ b/doc/functions/gnutls_x509_rdn_get @@ -2,19 +2,19 @@ -@deftypefun {int} {gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{buf_size}) @var{idn}: should contain a DER encoded RDN sequence @var{buf}: a pointer to a structure to hold the peer's name -@var{sizeof_buf}: holds the size of @code{buf} +@var{buf_size}: holds the size of @code{buf} This function will return the name of the given RDN sequence. The name will be in the form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{sizeof_buf} is +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{buf_size} is updated if the provided buffer is not long enough, otherwise a negative error value. @end deftypefun diff --git a/doc/functions/gnutls_x509_rdn_get.short b/doc/functions/gnutls_x509_rdn_get.short index 6d563bc..6fee6ed 100644 --- a/doc/functions/gnutls_x509_rdn_get.short +++ b/doc/functions/gnutls_x509_rdn_get.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_rdn_get} (const gnutls_datum_t * @var{idn}, char * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_rdn_get_by_oid b/doc/functions/gnutls_x509_rdn_get_by_oid index c82f6bb..fdd86f0 100644 --- a/doc/functions/gnutls_x509_rdn_get_by_oid +++ b/doc/functions/gnutls_x509_rdn_get_by_oid @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{buf_size}) @var{idn}: should contain a DER encoded RDN sequence @var{oid}: an Object Identifier @@ -10,18 +10,18 @@ @var{indx}: In case multiple same OIDs exist in the RDN indicates which to send. Use 0 for the first one. -@var{raw_flag}: If non (0) then the raw DER data are returned. +@var{raw_flag}: If non-zero then the raw DER data are returned. @var{buf}: a pointer to a structure to hold the peer's name -@var{sizeof_buf}: holds the size of @code{buf} +@var{buf_size}: holds the size of @code{buf} This function will return the name of the given Object identifier, of the RDN sequence. The name will be encoded using the rules from RFC4514. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{sizeof_buf} is +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{buf_size} is updated if the provided buffer is not long enough, otherwise a negative error value. @end deftypefun diff --git a/doc/functions/gnutls_x509_rdn_get_by_oid.short b/doc/functions/gnutls_x509_rdn_get_by_oid.short index 6e8091d..0d3947f 100644 --- a/doc/functions/gnutls_x509_rdn_get_by_oid.short +++ b/doc/functions/gnutls_x509_rdn_get_by_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_rdn_get_by_oid} (const gnutls_datum_t * @var{idn}, const char * @var{oid}, int @var{indx}, unsigned int @var{raw_flag}, void * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_rdn_get_oid b/doc/functions/gnutls_x509_rdn_get_oid index 8de9827..1a65864 100644 --- a/doc/functions/gnutls_x509_rdn_get_oid +++ b/doc/functions/gnutls_x509_rdn_get_oid @@ -2,20 +2,20 @@ -@deftypefun {int} {gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@deftypefun {int} {gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}) @var{idn}: should contain a DER encoded RDN sequence @var{indx}: Indicates which OID to return. Use 0 for the first one. @var{buf}: a pointer to a structure to hold the peer's name OID -@var{sizeof_buf}: holds the size of @code{buf} +@var{buf_size}: holds the size of @code{buf} This function will return the specified Object identifier, of the RDN sequence. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or -@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{sizeof_buf} is +@code{GNUTLS_E_SHORT_MEMORY_BUFFER} is returned and * @code{buf_size} is updated if the provided buffer is not long enough, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_rdn_get_oid.short b/doc/functions/gnutls_x509_rdn_get_oid.short index ddc05f3..54d658c 100644 --- a/doc/functions/gnutls_x509_rdn_get_oid.short +++ b/doc/functions/gnutls_x509_rdn_get_oid.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{sizeof_buf}) +@item @var{int} @ref{gnutls_x509_rdn_get_oid} (const gnutls_datum_t * @var{idn}, int @var{indx}, void * @var{buf}, size_t * @var{buf_size}) diff --git a/doc/functions/gnutls_x509_trust_list_add_cas b/doc/functions/gnutls_x509_trust_list_add_cas index d546595..461c6f9 100644 --- a/doc/functions/gnutls_x509_trust_list_add_cas +++ b/doc/functions/gnutls_x509_trust_list_add_cas @@ -2,20 +2,24 @@ -@deftypefun {int} {gnutls_x509_trust_list_add_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, int @var{clist_size}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_x509_trust_list_add_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, unsigned @var{clist_size}, unsigned int @var{flags}) @var{list}: The structure of the list @var{clist}: A list of CAs @var{clist_size}: The length of the CA list -@var{flags}: should be 0. +@var{flags}: should be 0 or an or'ed sequence of @code{GNUTLS_TL} options. This function will add the given certificate authorities to the trusted list. The list of CAs must not be deinitialized during this structure's lifetime. +If the flag @code{GNUTLS_TL_NO_DUPLICATES} is specified, then +the provided @code{clist} entries that are duplicates will not be +added to the list and will be deinitialized. + @strong{Returns:} The number of added elements is returned. -@strong{Since:} 3.0 +@strong{Since:} 3.0.0 @end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_add_cas.short b/doc/functions/gnutls_x509_trust_list_add_cas.short index 51326c7..0ffe600 100644 --- a/doc/functions/gnutls_x509_trust_list_add_cas.short +++ b/doc/functions/gnutls_x509_trust_list_add_cas.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_trust_list_add_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, int @var{clist_size}, unsigned int @var{flags}) +@item @var{int} @ref{gnutls_x509_trust_list_add_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, unsigned @var{clist_size}, unsigned int @var{flags}) diff --git a/doc/functions/gnutls_x509_trust_list_add_named_crt b/doc/functions/gnutls_x509_trust_list_add_named_crt index eab8e2f..561ee1a 100644 --- a/doc/functions/gnutls_x509_trust_list_add_named_crt +++ b/doc/functions/gnutls_x509_trust_list_add_named_crt @@ -28,5 +28,5 @@ of the trusted list. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. -@strong{Since:} 3.0 +@strong{Since:} 3.0.0 @end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_add_system_trust b/doc/functions/gnutls_x509_trust_list_add_system_trust new file mode 100644 index 0000000..0d5980f --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_system_trust @@ -0,0 +1,19 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_add_system_trust} (gnutls_x509_trust_list_t @var{list}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) +@var{list}: The structure of the list + +@var{tl_flags}: GNUTLS_TL_* + +@var{tl_vflags}: gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL + +This function adds the system's default trusted certificate +authorities to the trusted list. Note that on unsupported system +this function returns @code{GNUTLS_E_UNIMPLEMENTED_FEATURE} . + +@strong{Returns:} The number of added elements or a negative error code on error. + +@strong{Since:} 3.1 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_add_system_trust.short b/doc/functions/gnutls_x509_trust_list_add_system_trust.short new file mode 100644 index 0000000..3a90dc9 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_system_trust.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_add_system_trust} (gnutls_x509_trust_list_t @var{list}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) diff --git a/doc/functions/gnutls_x509_trust_list_add_trust_file b/doc/functions/gnutls_x509_trust_list_add_trust_file new file mode 100644 index 0000000..ee50e4e --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_trust_file @@ -0,0 +1,25 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_add_trust_file} (gnutls_x509_trust_list_t @var{list}, const char * @var{ca_file}, const char * @var{crl_file}, gnutls_x509_crt_fmt_t @var{type}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) +@var{list}: The structure of the list + +@var{ca_file}: A file containing a list of CAs (optional) + +@var{crl_file}: A file containing a list of CRLs (optional) + +@var{type}: The format of the certificates + +@var{tl_flags}: GNUTLS_TL_* + +@var{tl_vflags}: gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL + +This function will add the given certificate authorities +to the trusted list. pkcs11 URLs are also accepted, instead +of files, by this function. + +@strong{Returns:} The number of added elements is returned. + +@strong{Since:} 3.1 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_add_trust_file.short b/doc/functions/gnutls_x509_trust_list_add_trust_file.short new file mode 100644 index 0000000..92ed217 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_trust_file.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_add_trust_file} (gnutls_x509_trust_list_t @var{list}, const char * @var{ca_file}, const char * @var{crl_file}, gnutls_x509_crt_fmt_t @var{type}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) diff --git a/doc/functions/gnutls_x509_trust_list_add_trust_mem b/doc/functions/gnutls_x509_trust_list_add_trust_mem new file mode 100644 index 0000000..6fa56f3 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_trust_mem @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_add_trust_mem} (gnutls_x509_trust_list_t @var{list}, const gnutls_datum_t * @var{cas}, const gnutls_datum_t * @var{crls}, gnutls_x509_crt_fmt_t @var{type}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) +@var{list}: The structure of the list + +@var{cas}: A buffer containing a list of CAs (optional) + +@var{crls}: A buffer containing a list of CRLs (optional) + +@var{type}: The format of the certificates + +@var{tl_flags}: GNUTLS_TL_* + +@var{tl_vflags}: gnutls_certificate_verify_flags if flags specifies GNUTLS_TL_VERIFY_CRL + +This function will add the given certificate authorities +to the trusted list. + +@strong{Returns:} The number of added elements is returned. + +@strong{Since:} 3.1 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_add_trust_mem.short b/doc/functions/gnutls_x509_trust_list_add_trust_mem.short new file mode 100644 index 0000000..55c0a8c --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_add_trust_mem.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_add_trust_mem} (gnutls_x509_trust_list_t @var{list}, const gnutls_datum_t * @var{cas}, const gnutls_datum_t * @var{crls}, gnutls_x509_crt_fmt_t @var{type}, unsigned int @var{tl_flags}, unsigned int @var{tl_vflags}) diff --git a/doc/functions/gnutls_x509_trust_list_deinit b/doc/functions/gnutls_x509_trust_list_deinit index b5b924d..8a0e58d 100644 --- a/doc/functions/gnutls_x509_trust_list_deinit +++ b/doc/functions/gnutls_x509_trust_list_deinit @@ -5,9 +5,12 @@ @deftypefun {void} {gnutls_x509_trust_list_deinit} (gnutls_x509_trust_list_t @var{list}, unsigned int @var{all}) @var{list}: The structure to be deinitialized -@var{all}: if non-(0) it will deinitialize all the certificates and CRLs contained in the structure. +@var{all}: if non-zero it will deinitialize all the certificates and CRLs contained in the structure. -This function will deinitialize a trust list. +This function will deinitialize a trust list. Note that the + @code{all} flag should be typically non-zero unless you have specified +your certificates using @code{gnutls_x509_trust_list_add_cas()} and you +want to prevent them from being deinitialized by this function. -@strong{Since:} 3.0 +@strong{Since:} 3.0.0 @end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_get_issuer b/doc/functions/gnutls_x509_trust_list_get_issuer index 700c9ab..8ee9816 100644 --- a/doc/functions/gnutls_x509_trust_list_get_issuer +++ b/doc/functions/gnutls_x509_trust_list_get_issuer @@ -9,7 +9,7 @@ @var{issuer}: Will hold the issuer if any. Should be treated as constant. -@var{flags}: Use (0). +@var{flags}: Use zero. This function will attempt to find the issuer of the given certificate. diff --git a/doc/functions/gnutls_x509_trust_list_init b/doc/functions/gnutls_x509_trust_list_init index 629ec9c..75a3d6b 100644 --- a/doc/functions/gnutls_x509_trust_list_init +++ b/doc/functions/gnutls_x509_trust_list_init @@ -12,5 +12,5 @@ This function will initialize an X.509 trust list structure. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. -@strong{Since:} 3.0 +@strong{Since:} 3.0.0 @end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_remove_cas b/doc/functions/gnutls_x509_trust_list_remove_cas new file mode 100644 index 0000000..d6cde22 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_cas @@ -0,0 +1,24 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_remove_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, int @var{clist_size}) +@var{list}: The structure of the list + +@var{clist}: A list of CAs + +@var{clist_size}: The length of the CA list + +This function will remove the given certificate authorities +from the trusted list. + +Note that this function can accept certificates and authorities +not yet known. In that case they will be kept in a separate +black list that will be used during certificate verification. +Unlike @code{gnutls_x509_trust_list_add_cas()} there is no deinitialization +restriction for certificate list provided in this function. + +@strong{Returns:} The number of removed elements is returned. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_remove_cas.short b/doc/functions/gnutls_x509_trust_list_remove_cas.short new file mode 100644 index 0000000..5e05356 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_cas.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_remove_cas} (gnutls_x509_trust_list_t @var{list}, const gnutls_x509_crt_t * @var{clist}, int @var{clist_size}) diff --git a/doc/functions/gnutls_x509_trust_list_remove_trust_file b/doc/functions/gnutls_x509_trust_list_remove_trust_file new file mode 100644 index 0000000..968c4b5 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_trust_file @@ -0,0 +1,22 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_remove_trust_file} (gnutls_x509_trust_list_t @var{list}, const char * @var{ca_file}, gnutls_x509_crt_fmt_t @var{type}) +@var{list}: The structure of the list + +@var{ca_file}: A file containing a list of CAs + +@var{type}: The format of the certificates + +This function will remove the given certificate authorities +from the trusted list, and add them into a black list when needed. +PKCS 11 URLs are also accepted, instead +of files, by this function. + +See also @code{gnutls_x509_trust_list_remove_cas()} . + +@strong{Returns:} The number of added elements is returned. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_remove_trust_file.short b/doc/functions/gnutls_x509_trust_list_remove_trust_file.short new file mode 100644 index 0000000..b4d56f1 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_trust_file.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_remove_trust_file} (gnutls_x509_trust_list_t @var{list}, const char * @var{ca_file}, gnutls_x509_crt_fmt_t @var{type}) diff --git a/doc/functions/gnutls_x509_trust_list_remove_trust_mem b/doc/functions/gnutls_x509_trust_list_remove_trust_mem new file mode 100644 index 0000000..8014b72 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_trust_mem @@ -0,0 +1,20 @@ + + + + +@deftypefun {int} {gnutls_x509_trust_list_remove_trust_mem} (gnutls_x509_trust_list_t @var{list}, const gnutls_datum_t * @var{cas}, gnutls_x509_crt_fmt_t @var{type}) +@var{list}: The structure of the list + +@var{cas}: A buffer containing a list of CAs (optional) + +@var{type}: The format of the certificates + +This function will remove the provided certificate authorities +from the trusted list, and add them into a black list when needed. + +See also @code{gnutls_x509_trust_list_remove_cas()} . + +@strong{Returns:} The number of removed elements is returned. + +@strong{Since:} 3.1.10 +@end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_remove_trust_mem.short b/doc/functions/gnutls_x509_trust_list_remove_trust_mem.short new file mode 100644 index 0000000..c30e3d5 --- /dev/null +++ b/doc/functions/gnutls_x509_trust_list_remove_trust_mem.short @@ -0,0 +1 @@ +@item @var{int} @ref{gnutls_x509_trust_list_remove_trust_mem} (gnutls_x509_trust_list_t @var{list}, const gnutls_datum_t * @var{cas}, gnutls_x509_crt_fmt_t @var{type}) diff --git a/doc/functions/gnutls_x509_trust_list_verify_crt b/doc/functions/gnutls_x509_trust_list_verify_crt index b58f8d2..ee50d48 100644 --- a/doc/functions/gnutls_x509_trust_list_verify_crt +++ b/doc/functions/gnutls_x509_trust_list_verify_crt @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_trust_list_verify_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t * @var{cert_list}, unsigned int @var{cert_list_size}, unsigned int @var{flags}, unsigned int * @var{verify}, gnutls_verify_output_function @var{func}) +@deftypefun {int} {gnutls_x509_trust_list_verify_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t * @var{cert_list}, unsigned int @var{cert_list_size}, unsigned int @var{flags}, unsigned int * @var{voutput}, gnutls_verify_output_function @var{func}) @var{list}: The structure of the list @var{cert_list}: is the certificate list to be verified @@ -11,12 +11,18 @@ @var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. -@var{verify}: will hold the certificate verification output. +@var{voutput}: will hold the certificate verification output. @var{func}: If non-null will be called on each chain element verification with the output. This function will try to verify the given certificate and return -its status. +its status. The @code{verify} parameter will hold an OR'ed sequence of +@code{gnutls_certificate_status_t} flags. + +Additionally a certificate verification profile can be specified +from the ones in @code{gnutls_certificate_verification_profiles_t} by +ORing the result of @code{GNUTLS_PROFILE_TO_VFLAGS()} to the verification +flags. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. diff --git a/doc/functions/gnutls_x509_trust_list_verify_crt.short b/doc/functions/gnutls_x509_trust_list_verify_crt.short index 5ab98f2..18a6e33 100644 --- a/doc/functions/gnutls_x509_trust_list_verify_crt.short +++ b/doc/functions/gnutls_x509_trust_list_verify_crt.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_trust_list_verify_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t * @var{cert_list}, unsigned int @var{cert_list_size}, unsigned int @var{flags}, unsigned int * @var{verify}, gnutls_verify_output_function @var{func}) +@item @var{int} @ref{gnutls_x509_trust_list_verify_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t * @var{cert_list}, unsigned int @var{cert_list_size}, unsigned int @var{flags}, unsigned int * @var{voutput}, gnutls_verify_output_function @var{func}) diff --git a/doc/functions/gnutls_x509_trust_list_verify_named_crt b/doc/functions/gnutls_x509_trust_list_verify_named_crt index 8a5d17b..e76fde1 100644 --- a/doc/functions/gnutls_x509_trust_list_verify_named_crt +++ b/doc/functions/gnutls_x509_trust_list_verify_named_crt @@ -2,7 +2,7 @@ -@deftypefun {int} {gnutls_x509_trust_list_verify_named_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t @var{cert}, const void * @var{name}, size_t @var{name_size}, unsigned int @var{flags}, unsigned int * @var{verify}, gnutls_verify_output_function @var{func}) +@deftypefun {int} {gnutls_x509_trust_list_verify_named_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t @var{cert}, const void * @var{name}, size_t @var{name_size}, unsigned int @var{flags}, unsigned int * @var{voutput}, gnutls_verify_output_function @var{func}) @var{list}: The structure of the list @var{cert}: is the certificate to be verified @@ -13,16 +13,22 @@ @var{flags}: Flags that may be used to change the verification algorithm. Use OR of the gnutls_certificate_verify_flags enumerations. -@var{verify}: will hold the certificate verification output. +@var{voutput}: will hold the certificate verification output. @var{func}: If non-null will be called on each chain element verification with the output. -This function will try to find a matching named certificate. If a -match is found the certificate is considered valid. In addition to that -this function will also check CRLs. +This function will try to find a certificate that is associated with the provided +name --see @code{gnutls_x509_trust_list_add_named_crt()} . If a match is found the certificate is considered valid. +In addition to that this function will also check CRLs. +The @code{voutput} parameter will hold an OR'ed sequence of @code{gnutls_certificate_status_t} flags. + +Additionally a certificate verification profile can be specified +from the ones in @code{gnutls_certificate_verification_profiles_t} by +ORing the result of @code{GNUTLS_PROFILE_TO_VFLAGS()} to the verification +flags. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. -@strong{Since:} 3.0 +@strong{Since:} 3.0.0 @end deftypefun diff --git a/doc/functions/gnutls_x509_trust_list_verify_named_crt.short b/doc/functions/gnutls_x509_trust_list_verify_named_crt.short index ca6308f..a846ba1 100644 --- a/doc/functions/gnutls_x509_trust_list_verify_named_crt.short +++ b/doc/functions/gnutls_x509_trust_list_verify_named_crt.short @@ -1 +1 @@ -@item @var{int} @ref{gnutls_x509_trust_list_verify_named_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t @var{cert}, const void * @var{name}, size_t @var{name_size}, unsigned int @var{flags}, unsigned int * @var{verify}, gnutls_verify_output_function @var{func}) +@item @var{int} @ref{gnutls_x509_trust_list_verify_named_crt} (gnutls_x509_trust_list_t @var{list}, gnutls_x509_crt_t @var{cert}, const void * @var{name}, size_t @var{name_size}, unsigned int @var{flags}, unsigned int * @var{voutput}, gnutls_verify_output_function @var{func}) diff --git a/doc/gnutls-api.texi b/doc/gnutls-api.texi index 5eb3442..d64e9b5 100644 --- a/doc/gnutls-api.texi +++ b/doc/gnutls-api.texi @@ -80,9 +80,49 @@ been sent to the peer. an error code is returned. @end deftypefun +@subheading gnutls_alpn_get_selected_protocol +@anchor{gnutls_alpn_get_selected_protocol} +@deftypefun {int} {gnutls_alpn_get_selected_protocol} (gnutls_session_t @var{session}, gnutls_datum_t * @var{protocol}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{protocol}: will hold the protocol name + +This function allows you to get the negotiated protocol name. The +returned protocol should be treated as opaque, constant value and +only valid during the session life. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.11 +@end deftypefun + +@subheading gnutls_alpn_set_protocols +@anchor{gnutls_alpn_set_protocols} +@deftypefun {int} {gnutls_alpn_set_protocols} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{protocols}, unsigned @var{protocols_size}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{protocols}: is the protocol names to add. + +@var{protocols_size}: the number of protocols to add. + +@var{flags}: zero or @code{GNUTLS_ALPN_} * + +This function is to be used by both clients and servers, to declare +the supported ALPN protocols, which are used during peer negotiation. + +If @code{GNUTLS_ALPN_MAND} is specified the connection will be aborted +if no matching ALPN protocol is found. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.11 +@end deftypefun + @subheading gnutls_anon_allocate_client_credentials @anchor{gnutls_anon_allocate_client_credentials} -@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_anon_allocate_client_credentials} (gnutls_anon_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_anon_client_credentials_t} structure. This structure is complex enough to manipulate directly thus @@ -93,7 +133,7 @@ this helper function is provided in order to allocate it. @subheading gnutls_anon_allocate_server_credentials @anchor{gnutls_anon_allocate_server_credentials} -@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_anon_allocate_server_credentials} (gnutls_anon_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_anon_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this @@ -146,7 +186,7 @@ Anonymous Diffie-Hellman cipher suites. @subheading gnutls_anon_set_server_params_function @anchor{gnutls_anon_set_server_params_function} -@deftypefun {void} {gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) +@deftypefun {void} {gnutls_anon_set_server_params_function} (gnutls_anon_server_credentials_t @var{res}, gnutls_params_function * @var{func}) @var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called @@ -249,7 +289,7 @@ This is the creation time for openpgp keys. @subheading gnutls_certificate_allocate_credentials @anchor{gnutls_certificate_allocate_credentials} -@deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) +@deftypefun {int} {gnutls_certificate_allocate_credentials} (gnutls_certificate_credentials_t * @var{res}) @var{res}: is a pointer to a @code{gnutls_certificate_credentials_t} structure. This structure is complex enough to manipulate directly thus this @@ -266,8 +306,7 @@ helper function is provided in order to allocate it. Get whether client certificate is requested or not. @strong{Returns:} 0 if the peer (server) did not request client -authentication or 1 otherwise, or a negative error code in case of -error. +authentication or 1 otherwise. @end deftypefun @subheading gnutls_certificate_expiration_time_peers @@ -341,9 +380,32 @@ with the given credentials. This function must not be called when a TLS negotiation that uses the credentials is in progress. @end deftypefun +@subheading gnutls_certificate_get_crt_raw +@anchor{gnutls_certificate_get_crt_raw} +@deftypefun {int} {gnutls_certificate_get_crt_raw} (gnutls_certificate_credentials_t @var{sc}, unsigned @var{idx1}, unsigned @var{idx2}, gnutls_datum_t * @var{cert}) +@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{idx1}: the index of the certificate if multiple are present + +@var{idx2}: the index in the certificate list. Zero gives the server's certificate. + +@var{cert}: Will hold the DER encoded certificate. + +This function will return the DER encoded certificate of the +server or any other certificate on its certificate chain (based on @code{idx2} ). +The returned data should be treated as constant and only accessible during the lifetime +of @code{sc} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. In case the indexes are out of bounds @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} +is returned. + +@strong{Since:} 3.2.5 +@end deftypefun + @subheading gnutls_certificate_get_issuer @anchor{gnutls_certificate_get_issuer} -@deftypefun {int} {gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t* @var{issuer}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_certificate_get_issuer} (gnutls_certificate_credentials_t @var{sc}, gnutls_x509_crt_t @var{cert}, gnutls_x509_crt_t * @var{issuer}, unsigned int @var{flags}) @var{sc}: is a @code{gnutls_certificate_credentials_t} structure. @var{cert}: is the certificate to find issuer for @@ -376,10 +438,10 @@ was used. @subheading gnutls_certificate_get_peers @anchor{gnutls_certificate_get_peers} -@deftypefun {const gnutls_datum_t *} {gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) +@deftypefun {const gnutls_datum_t *} {gnutls_certificate_get_peers} (gnutls_session_t @var{session}, unsigned int * @var{list_size}) @var{session}: is a gnutls session -@var{list_size}: is the length of the certificate list +@var{list_size}: is the length of the certificate list (may be @code{NULL} ) Get the peer's raw certificate (chain) as sent by the peer. These certificates are in raw format (DER encoded for X.509). In case of @@ -395,6 +457,22 @@ certificates, or @code{NULL} in case of an error or if no certificate was used. @end deftypefun +@subheading gnutls_certificate_get_peers_subkey_id +@anchor{gnutls_certificate_get_peers_subkey_id} +@deftypefun {int} {gnutls_certificate_get_peers_subkey_id} (gnutls_session_t @var{session}, gnutls_datum_t * @var{id}) +@var{session}: is a gnutls session + +@var{id}: will contain the ID + +Get the peer's subkey ID when OpenPGP certificates are +used. The returned @code{id} should be treated as constant. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun + @subheading gnutls_certificate_send_x509_rdn_sequence @anchor{gnutls_certificate_send_x509_rdn_sequence} @deftypefun {void} {gnutls_certificate_send_x509_rdn_sequence} (gnutls_session_t @var{session}, int @var{status}) @@ -436,14 +514,66 @@ function then the client will not be asked to send a certificate. This function will set the Diffie-Hellman parameters for a certificate server to use. These parameters will be used in Ephemeral Diffie-Hellman cipher suites. Note that only a pointer -to the parameters are stored in the certificate handle, so if you -deallocate the parameters before the certificate is deallocated, -you must change the parameters stored in the certificate first. +to the parameters are stored in the certificate handle, so you +must not deallocate the parameters before the certificate is deallocated. +@end deftypefun + +@subheading gnutls_certificate_set_ocsp_status_request_file +@anchor{gnutls_certificate_set_ocsp_status_request_file} +@deftypefun {int} {gnutls_certificate_set_ocsp_status_request_file} (gnutls_certificate_credentials_t @var{sc}, const char * @var{response_file}, unsigned int @var{flags}) +@var{sc}: is a credentials structure. + +@var{response_file}: a filename of the OCSP response + +@var{flags}: should be zero + +This function sets the filename of an OCSP response, that will be +sent to the client if requests an OCSP certificate status. This is +a convenience function which is inefficient on busy servers since +the file is opened on every access. Use +@code{gnutls_certificate_set_ocsp_status_request_function()} to fine-tune +file accesses. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun + +@subheading gnutls_certificate_set_ocsp_status_request_function +@anchor{gnutls_certificate_set_ocsp_status_request_function} +@deftypefun {void} {gnutls_certificate_set_ocsp_status_request_function} (gnutls_certificate_credentials_t @var{sc}, gnutls_status_request_ocsp_func @var{ocsp_func}, void * @var{ptr}) +@var{sc}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{ocsp_func}: function pointer to OCSP status request callback. + +@var{ptr}: opaque pointer passed to callback function + +This function is to be used by server to register a callback to +handle OCSP status requests from the client. The callback will be +invoked if the client supplied a status-request OCSP extension. +The callback function prototype is: + +typedef int (*gnutls_status_request_ocsp_func) +(gnutls_session_t session, void *ptr, gnutls_datum_t *ocsp_response); + +The callback will be invoked if the client requests an OCSP certificate +status. The callback may return @code{GNUTLS_E_NO_CERTIFICATE_STATUS} , if +there is no recent OCSP response. If the callback returns @code{GNUTLS_E_SUCCESS} , +the server will provide the client with the ocsp_response. + +The response must be a value allocated using @code{gnutls_malloc()} , and will be +deinitialized when needed. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 @end deftypefun @subheading gnutls_certificate_set_params_function @anchor{gnutls_certificate_set_params_function} -@deftypefun {void} {gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) +@deftypefun {void} {gnutls_certificate_set_params_function} (gnutls_certificate_credentials_t @var{res}, gnutls_params_function * @var{func}) @var{res}: is a gnutls_certificate_credentials_t structure @var{func}: is the function to be called @@ -453,6 +583,25 @@ the Diffie-Hellman or RSA parameters for certificate authentication. The callback should return @code{GNUTLS_E_SUCCESS} (0) on success. @end deftypefun +@subheading gnutls_certificate_set_pin_function +@anchor{gnutls_certificate_set_pin_function} +@deftypefun {void} {gnutls_certificate_set_pin_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_pin_callback_t @var{fn}, void * @var{userdata}) +@var{cred}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{fn}: A PIN callback + +@var{userdata}: Data to be passed in the callback + +This function will set a callback function to be used when +required to access a protected object. This function overrides any other +global PIN functions. + +Note that this function must be called right after initialization +to have effect. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_certificate_set_retrieve_function @anchor{gnutls_certificate_set_retrieve_function} @deftypefun {void} {gnutls_certificate_set_retrieve_function} (gnutls_certificate_credentials_t @var{cred}, gnutls_certificate_retrieve_function * @var{func}) @@ -495,15 +644,14 @@ indicates error and the handshake will be terminated. @subheading gnutls_certificate_set_verify_flags @anchor{gnutls_certificate_set_verify_flags} -@deftypefun {void} {gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) +@deftypefun {void} {gnutls_certificate_set_verify_flags} (gnutls_certificate_credentials_t @var{res}, unsigned int @var{flags}) @var{res}: is a gnutls_certificate_credentials_t structure @var{flags}: are the flags -This function will set the flags to be used at verification of the -certificates. Flags must be OR of the -@code{gnutls_certificate_verify_flags} enumerations. The default -for TLS sessions is GNUTLS_VERIFY_ALLOW_UNSORTED_CHAIN. +This function will set the flags to be used for verification +of certificates and override any defaults. The provided flags must be an OR of the +@code{gnutls_certificate_verify_flags} enumerations. @end deftypefun @subheading gnutls_certificate_set_verify_function @@ -562,7 +710,7 @@ be called if the certificates are not verified using @code{gnutls_certificate_verify_peers2()} . This function may be called multiple times. -@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@strong{Returns:} number of CRLs processed, or a negative error code on error. @strong{Since:} 2.4.0 @end deftypefun @@ -612,15 +760,18 @@ multiple times. @var{cert_list_size}: holds the size of the certificate list -@var{key}: is a gnutls_x509_privkey_t key +@var{key}: is a @code{gnutls_x509_privkey_t} key This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once, in case multiple keys/certificates exist for -the server. For clients that wants to send more than its own end +the server. For clients that wants to send more than their own end entity certificate (e.g., also an intermediate CA cert) then put the certificate chain in @code{cert_list} . +Note that the certificates and keys provided, can be safely deinitialized +after this function is called. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @strong{Since:} 2.4.0 @@ -645,8 +796,53 @@ the server. For clients that need to send more than its own end entity certificate, e.g., also an intermediate CA cert, then the @code{certfile} must contain the ordered certificate chain. -This function can also accept PKCS @code{11} URLs at @code{keyfile} and @code{certfile} . In that case it -will import the private key and certificate indicated by the URLs. +Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs). + +This function can also accept URLs at @code{keyfile} and @code{certfile} . In that case it +will import the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . + +In case the @code{certfile} is provided as a PKCS @code{11} URL, then the certificate, and its +present issuers in the token are are imported (i.e., the required trust chain). + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@end deftypefun + +@subheading gnutls_certificate_set_x509_key_file2 +@anchor{gnutls_certificate_set_x509_key_file2} +@deftypefun {int} {gnutls_certificate_set_x509_key_file2} (gnutls_certificate_credentials_t @var{res}, const char * @var{certfile}, const char * @var{keyfile}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) +@var{res}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{certfile}: is a file that containing the certificate list (path) for +the specified private key, in PKCS7 format, or a list of certificates + +@var{keyfile}: is a file that contains the private key + +@var{type}: is PEM or DER + +@var{pass}: is the password of the key + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be +called more than once, in case multiple keys/certificates exist for +the server. For clients that need to send more than its own end +entity certificate, e.g., also an intermediate CA cert, then the + @code{certfile} must contain the ordered certificate chain. + +Note that the names in the certificate provided will be considered +when selecting the appropriate certificate to use (in case of multiple +certificate/key pairs). + +This function can also accept URLs at @code{keyfile} and @code{certfile} . In that case it +will import the private key and certificate indicated by the URLs. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . + +In case the @code{certfile} is provided as a PKCS @code{11} URL, then the certificate, and its +present issuers in the token are are imported (i.e., the required trust chain). @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @end deftypefun @@ -680,6 +876,39 @@ The @code{key} may be @code{NULL} if you are using a sign callback, see @strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. @end deftypefun +@subheading gnutls_certificate_set_x509_key_mem2 +@anchor{gnutls_certificate_set_x509_key_mem2} +@deftypefun {int} {gnutls_certificate_set_x509_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags}) +@var{res}: is a @code{gnutls_certificate_credentials_t} structure. + +@var{cert}: contains a certificate list (path) for the specified private key + +@var{key}: is the private key, or @code{NULL} + +@var{type}: is PEM or DER + +@var{pass}: is the key's password + +@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t + +This function sets a certificate/private key pair in the +gnutls_certificate_credentials_t structure. This function may be called +more than once, in case multiple keys/certificates exist for the +server. + +Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates +is supported. This means that certificates intended for signing cannot +be used for ciphersuites that require encryption. + +If the certificate and the private key are given in PEM encoding +then the strings that hold their values must be null terminated. + +The @code{key} may be @code{NULL} if you are using a sign callback, see +@code{gnutls_sign_callback_set()} . + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) on success, or a negative error code. +@end deftypefun + @subheading gnutls_certificate_set_x509_simple_pkcs12_file @anchor{gnutls_certificate_set_x509_simple_pkcs12_file} @deftypefun {int} {gnutls_certificate_set_x509_simple_pkcs12_file} (gnutls_certificate_credentials_t @var{res}, const char * @var{pkcs12file}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{password}) @@ -701,10 +930,14 @@ private keys are supported. However, only password based security, and the same password for all operations, are supported. -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. +PKCS@code{12} file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS@code{12} file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain. + +If more than one private keys are stored in the PKCS@code{12} file, +then only one key will be read (and it is undefined which one). It is believed that the limitations of this function is acceptable for most usage, and that any more flexibility would introduce @@ -730,15 +963,18 @@ the gnutls_certificate_credentials_t structure. This function may be called more than once (in case multiple keys/certificates exist for the server). -@strong{MAC:} ed PKCS@code{12} files are supported. Encrypted PKCS@code{12} bags are -supported. Encrypted PKCS@code{8} private keys are supported. However, +Encrypted PKCS@code{12} bags and PKCS@code{8} private keys are supported. However, only password based security, and the same password for all operations, are supported. -PKCS@code{12} file may contain many keys and/or certificates, and there -is no way to identify which key/certificate pair you want. You -should make sure the PKCS@code{12} file only contain one key/certificate -pair and/or one CRL. +PKCS@code{12} file may contain many keys and/or certificates, and this +function will try to auto-detect based on the key ID the certificate +and key pair to use. If the PKCS@code{12} file contain the issuer of +the selected certificate, it will be appended to the certificate +to form a chain. + +If more than one private keys are stored in the PKCS@code{12} file, +then only one key will be read (and it is undefined which one). It is believed that the limitations of this function is acceptable for most usage, and that any more flexibility would introduce @@ -752,7 +988,7 @@ all. @subheading gnutls_certificate_set_x509_system_trust @anchor{gnutls_certificate_set_x509_system_trust} -@deftypefun {int} {gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) +@deftypefun {int} {gnutls_certificate_set_x509_system_trust} (gnutls_certificate_credentials_t @var{cred}) @var{cred}: is a @code{gnutls_certificate_credentials_t} structure. This function adds the system's default trusted CAs in order to @@ -764,7 +1000,7 @@ is returned. @strong{Returns:} the number of certificates processed or a negative error code on error. -@strong{Since:} 3.0 +@strong{Since:} 3.0.20 @end deftypefun @subheading gnutls_certificate_set_x509_trust @@ -794,7 +1030,7 @@ on error. @subheading gnutls_certificate_set_x509_trust_file @anchor{gnutls_certificate_set_x509_trust_file} -@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) +@deftypefun {int} {gnutls_certificate_set_x509_trust_file} (gnutls_certificate_credentials_t @var{cred}, const char * @var{cafile}, gnutls_x509_crt_fmt_t @var{type}) @var{cred}: is a @code{gnutls_certificate_credentials_t} structure. @var{cafile}: is a file containing the list of trusted CAs (DER or PEM list) @@ -811,8 +1047,9 @@ In case of a server the names of the CAs set here will be sent to the client if a certificate request is sent. This can be disabled using @code{gnutls_certificate_send_x509_rdn_sequence()} . -This function can also accept PKCS @code{11} URLs. In that case it -will import all certificates that are marked as trusted. +This function can also accept URLs. In that case it +will import all certificates that are marked as trusted. Note +that the supported URLs are the ones indicated by @code{gnutls_url_is_supported()} . @strong{Returns:} number of certificates processed, or a negative error code on error. @@ -866,7 +1103,7 @@ string certificate type, or @code{GNUTLS_CRT_UNKNOWN} on error. @subheading gnutls_certificate_type_get_name @anchor{gnutls_certificate_type_get_name} -@deftypefun {const char *} {gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) +@deftypefun {const char *} {gnutls_certificate_type_get_name} (gnutls_certificate_type_t @var{type}) @var{type}: is a certificate type Convert a @code{gnutls_certificate_type_t} type to a string. @@ -879,14 +1116,69 @@ certificate type, or @code{NULL} in case of unknown types. @anchor{gnutls_certificate_type_list} @deftypefun {const gnutls_certificate_type_t *} {gnutls_certificate_type_list} ( @var{void}) -Get a list of certificate types. Note that to be able to use -OpenPGP certificates, you must link to libgnutls-extra and call -@code{gnutls_global_init_extra()} . +Get a list of certificate types. @strong{Returns:} a (0)-terminated list of @code{gnutls_certificate_type_t} integers indicating the available certificate types. @end deftypefun +@subheading gnutls_certificate_verification_status_print +@anchor{gnutls_certificate_verification_status_print} +@deftypefun {int} {gnutls_certificate_verification_status_print} (unsigned int @var{status}, gnutls_certificate_type_t @var{type}, gnutls_datum_t * @var{out}, unsigned int @var{flags}) +@var{status}: The status flags to be printed + +@var{type}: The certificate type + +@var{out}: Newly allocated datum with (0) terminated string. + +@var{flags}: should be zero + +This function will pretty print the status of a verification +process -- eg. the one obtained by @code{gnutls_certificate_verify_peers3()} . + +The output @code{out} needs to be deallocated using @code{gnutls_free()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a +negative error value. + +@strong{Since:} 3.1.4 +@end deftypefun + +@subheading gnutls_certificate_verify_peers +@anchor{gnutls_certificate_verify_peers} +@deftypefun {int} {gnutls_certificate_verify_peers} (gnutls_session_t @var{session}, gnutls_typed_vdata_st * @var{data}, unsigned int @var{elements}, unsigned int * @var{status}) +@var{session}: is a gnutls session + +@var{data}: an array of typed data + +@var{elements}: the number of data elements + +@var{status}: is the output of the verification + +This function will verify the peer's certificate and store the +status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . See the documentation +of @code{gnutls_certificate_verify_peers2()} for details in the verification process. + +The acceptable data types are @code{GNUTLS_DT_DNS_HOSTNAME} and @code{GNUTLS_DT_KEY_PURPOSE_OID} . +If a DNS hostname is provided then this function will compare +the hostname in the certificate against the given. The comparison will +be accurate for ascii names; non-ascii names are compared byte-by-byte. +If names do not match the @code{GNUTLS_CERT_UNEXPECTED_OWNER} status flag will be set. + +If a key purpose OID is provided and the end-certificate contains the extended key +usage PKIX extension, it will be required to be have the provided key purpose +(e.g., @code{GNUTLS_KP_TLS_WWW_SERVER} ), or be marked for any purpose, otherwise +verification will fail with @code{GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE} status. + +@strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_certificate_verify_peers2 @anchor{gnutls_certificate_verify_peers2} @deftypefun {int} {gnutls_certificate_verify_peers2} (gnutls_session_t @var{session}, unsigned int * @var{status}) @@ -894,21 +1186,56 @@ integers indicating the available certificate types. @var{status}: is the output of the verification -This function will try to verify the peer's certificate and return -its status (trusted, invalid etc.). The value of @code{status} should -be one or more of the gnutls_certificate_status_t enumerated -elements bitwise or'd. To avoid denial of service attacks some +This function will verify the peer's certificate and store +the status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . + +This function will take into account the OCSP Certificate Status TLS extension, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen). + +To avoid denial of service attacks some default upper limits regarding the certificate key size and chain -size are set. To override them use -@code{gnutls_certificate_set_verify_limits()} . +size are set. To override them use @code{gnutls_certificate_set_verify_limits()} . Note that you must also check the peer's name in order to check if -the verified certificate belongs to the actual peer. +the verified certificate belongs to the actual peer, see @code{gnutls_x509_crt_check_hostname()} , +or use @code{gnutls_certificate_verify_peers3()} . + +@strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. +@end deftypefun + +@subheading gnutls_certificate_verify_peers3 +@anchor{gnutls_certificate_verify_peers3} +@deftypefun {int} {gnutls_certificate_verify_peers3} (gnutls_session_t @var{session}, const char * @var{hostname}, unsigned int * @var{status}) +@var{session}: is a gnutls session + +@var{hostname}: is the expected name of the peer; may be @code{NULL} + +@var{status}: is the output of the verification -This function uses @code{gnutls_x509_crt_list_verify()} with the CAs in -the credentials as trusted CAs. +This function will verify the peer's certificate and store the +status in the @code{status} variable as a bitwise or'd gnutls_certificate_status_t +values or zero if the certificate is trusted. Note that value in @code{status} is set only when the return value of this function is success (i.e, failure +to trust a certificate does not imply a negative return value). +The default verification flags used by this function can be overridden +using @code{gnutls_certificate_set_verify_flags()} . See the documentation +of @code{gnutls_certificate_verify_peers2()} for details in the verification process. + +If the @code{hostname} provided is non-NULL then this function will compare +the hostname in the certificate against the given. The comparison will +be accurate for ascii names; non-ascii names are compared byte-by-byte. +If names do not match the @code{GNUTLS_CERT_UNEXPECTED_OWNER} status flag will be set. + +In order to verify the purpose of the end-certificate (by checking the extended +key usage), use @code{gnutls_certificate_verify_peers()} . @strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS} (0) on success. + +@strong{Since:} 3.1.4 @end deftypefun @subheading gnutls_check_version @@ -988,7 +1315,7 @@ integers indicating the available ciphers. @subheading gnutls_cipher_suite_get_name @anchor{gnutls_cipher_suite_get_name} -@deftypefun {const char *} {gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) +@deftypefun {const char *} {gnutls_cipher_suite_get_name} (gnutls_kx_algorithm_t @var{kx_algorithm}, gnutls_cipher_algorithm_t @var{cipher_algorithm}, gnutls_mac_algorithm_t @var{mac_algorithm}) @var{kx_algorithm}: is a Key exchange algorithm @var{cipher_algorithm}: is a cipher algorithm @@ -1051,7 +1378,7 @@ The names are compared in a case insensitive way. @subheading gnutls_compression_get_name @anchor{gnutls_compression_get_name} -@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) +@deftypefun {const char *} {gnutls_compression_get_name} (gnutls_compression_method_t @var{algorithm}) @var{algorithm}: is a Compression algorithm Convert a @code{gnutls_compression_method_t} value to a string. @@ -1078,6 +1405,32 @@ integers indicating the available compression methods. Clears all the credentials previously set in this session. @end deftypefun +@subheading gnutls_credentials_get +@anchor{gnutls_credentials_get} +@deftypefun {int} {gnutls_credentials_get} (gnutls_session_t @var{session}, gnutls_credentials_type_t @var{type}, void ** @var{cred}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: is the type of the credentials to return + +@var{cred}: will contain the pointer to the credentials structure. + +Returns the previously provided credentials structures. + +For @code{GNUTLS_CRD_ANON} , @code{cred} will be +@code{gnutls_anon_client_credentials_t} in case of a client. In case of +a server it should be @code{gnutls_anon_server_credentials_t} . + +For @code{GNUTLS_CRD_SRP} , @code{cred} will be @code{gnutls_srp_client_credentials_t} +in case of a client, and @code{gnutls_srp_server_credentials_t} , in case +of a server. + +For @code{GNUTLS_CRD_CERTIFICATE} , @code{cred} will be +@code{gnutls_certificate_credentials_t} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. +@end deftypefun + @subheading gnutls_credentials_set @anchor{gnutls_credentials_set} @deftypefun {int} {gnutls_credentials_set} (gnutls_session_t @var{session}, gnutls_credentials_type_t @var{type}, void * @var{cred}) @@ -1119,14 +1472,30 @@ otherwise a negative error code is returned. @var{session_entry}: is the session data (not key) -Check if database entry has expired. This function is to be used -when you want to clear unnecessary sessions which occupy space in -your backend. +This function has no effect. @strong{Returns:} Returns @code{GNUTLS_E_EXPIRED} , if the database entry has expired or 0 otherwise. @end deftypefun +@subheading gnutls_db_check_entry_time +@anchor{gnutls_db_check_entry_time} +@deftypefun {time_t} {gnutls_db_check_entry_time} (gnutls_datum_t * @var{entry}) +@var{entry}: is a pointer to a @code{gnutls_datum_t} structure. + +This function returns the time that this entry was active. +It can be used for database entry expiration. + +@strong{Returns:} The time this entry was created, or zero on error. +@end deftypefun + +@subheading gnutls_db_get_default_cache_expiration +@anchor{gnutls_db_get_default_cache_expiration} +@deftypefun {unsigned} {gnutls_db_get_default_cache_expiration} ( @var{void}) + +Returns the expiration time (in seconds) of stored sessions for resumption. +@end deftypefun + @subheading gnutls_db_get_ptr @anchor{gnutls_db_get_ptr} @deftypefun {void *} {gnutls_db_get_ptr} (gnutls_session_t @var{session}) @@ -1329,6 +1698,28 @@ otherwise a negative error code is returned. This function will deinitialize the DH parameters structure. @end deftypefun +@subheading gnutls_dh_params_export2_pkcs3 +@anchor{gnutls_dh_params_export2_pkcs3} +@deftypefun {int} {gnutls_dh_params_export2_pkcs3} (gnutls_dh_params_t @var{params}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out}) +@var{params}: Holds the DH parameters + +@var{format}: the format of output params. One of PEM or DER. + +@var{out}: will contain a PKCS3 DHParams structure PEM or DER encoded + +This function will export the given dh parameters to a PKCS3 +DHParams structure. This is the format generated by "openssl dhparam" tool. +The data in @code{out} will be allocated using @code{gnutls_malloc()} . + +If the structure is PEM encoded, it will have a header +of "BEGIN DH PARAMETERS". + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun + @subheading gnutls_dh_params_export_pkcs3 @anchor{gnutls_dh_params_export_pkcs3} @deftypefun {int} {gnutls_dh_params_export_pkcs3} (gnutls_dh_params_t @var{params}, gnutls_x509_crt_fmt_t @var{format}, unsigned char * @var{params_data}, size_t * @var{params_data_size}) @@ -1374,8 +1765,8 @@ otherwise a negative error code is returned. @subheading gnutls_dh_params_generate2 @anchor{gnutls_dh_params_generate2} -@deftypefun {int} {gnutls_dh_params_generate2} (gnutls_dh_params_t @var{params}, unsigned int @var{bits}) -@var{params}: Is the structure that the DH parameters will be stored +@deftypefun {int} {gnutls_dh_params_generate2} (gnutls_dh_params_t @var{dparams}, unsigned int @var{bits}) +@var{dparams}: Is the structure that the DH parameters will be stored @var{bits}: is the prime's number of bits @@ -1460,7 +1851,47 @@ a server sends a prime with less bits than that Note that values lower than 512 bits may allow decryption of the exchanged data. -This function has no effect in server side. +The function has no effect in server side. + +Note that since 3.1.7 this function is deprecated. The minimum +number of bits is set by the priority string level. +Also this function must be called after @code{gnutls_priority_set_direct()} +or the set value may be overridden by the selected priority options. +@end deftypefun + +@subheading gnutls_digest_get_id +@anchor{gnutls_digest_get_id} +@deftypefun {gnutls_digest_algorithm_t} {gnutls_digest_get_id} (const char * @var{name}) +@var{name}: is a digest algorithm name + +Convert a string to a @code{gnutls_digest_algorithm_t} value. The names are +compared in a case insensitive way. + +@strong{Returns:} a @code{gnutls_digest_algorithm_t} id of the specified MAC +algorithm string, or @code{GNUTLS_DIG_UNKNOWN} on failures. +@end deftypefun + +@subheading gnutls_digest_get_name +@anchor{gnutls_digest_get_name} +@deftypefun {const char *} {gnutls_digest_get_name} (gnutls_digest_algorithm_t @var{algorithm}) +@var{algorithm}: is a digest algorithm + +Convert a @code{gnutls_digest_algorithm_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified digest +algorithm, or @code{NULL} . +@end deftypefun + +@subheading gnutls_digest_list +@anchor{gnutls_digest_list} +@deftypefun {const gnutls_digest_algorithm_t *} {gnutls_digest_list} ( @var{void}) + +Get a list of hash (digest) algorithms supported by GnuTLS. + +This function is not thread safe. + +@strong{Returns:} Return a (0)-terminated list of @code{gnutls_digest_algorithm_t} +integers indicating the available digests. @end deftypefun @subheading gnutls_ecc_curve_get @@ -1520,16 +1951,19 @@ integers indicating the available curves. @var{error}: is a GnuTLS error code, a negative error code If a GnuTLS function returns a negative error code you may feed that -value to this function to see if the error condition is fatal. +value to this function to see if the error condition is fatal to +a TLS session (i.e., must be terminated). + Note that you may also want to check the error code manually, since some non-fatal errors to the protocol (such as a warning alert or a rehandshake request) may be fatal for your program. This function is only useful if you are dealing with errors from -the record layer or the handshake layer. +functions that relate to a TLS session (e.g., record layer or handshake +layer handling functions). -@strong{Returns:} 1 if the error code is fatal, for positive @code{error} values, -0 is returned. For unknown @code{error} values, -1 is returned. +@strong{Returns:} zero on non fatal errors or positive @code{error} values. Non-zero +on fatal error codes. @end deftypefun @subheading gnutls_error_to_alert @@ -1551,6 +1985,30 @@ internal error is returned. @strong{Returns:} the alert code to use for a particular error code. @end deftypefun +@subheading gnutls_est_record_overhead_size +@anchor{gnutls_est_record_overhead_size} +@deftypefun {size_t} {gnutls_est_record_overhead_size} (gnutls_protocol_t @var{version}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, unsigned int @var{flags}) +@var{version}: is a @code{gnutls_protocol_t} value + +@var{cipher}: is a @code{gnutls_cipher_algorithm_t} value + +@var{mac}: is a @code{gnutls_mac_algorithm_t} value + +@var{comp}: is a @code{gnutls_compression_method_t} value + +@var{flags}: must be zero + +This function will return the set size in bytes of the overhead +due to TLS (or DTLS) per record. + +Note that this function may provide inacurate values when TLS +extensions that modify the record format are negotiated. In these +cases a more accurate value can be obtained using @code{gnutls_record_overhead_size()} +after a completed handshake. + +@strong{Since:} 3.2.2 +@end deftypefun + @subheading gnutls_fingerprint @anchor{gnutls_fingerprint} @deftypefun {int} {gnutls_fingerprint} (gnutls_digest_algorithm_t @var{algo}, const gnutls_datum_t * @var{data}, void * @var{result}, size_t * @var{result_size}) @@ -1569,35 +2027,42 @@ convert it to hex, or to something else printable. This is the usual way to calculate a fingerprint of an X.509 DER encoded certificate. Note however that the fingerprint of an -OpenPGP is not just a hash and cannot be calculated with this +OpenPGP certificate is not just a hash and cannot be calculated with this function. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @end deftypefun +@subheading gnutls_fips140_mode_enabled +@anchor{gnutls_fips140_mode_enabled} +@deftypefun {int} {gnutls_fips140_mode_enabled} ( @var{void}) + +Checks whether this library is in FIPS140 mode. + +@strong{Returns:} return non-zero if true or zero if false. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_global_deinit @anchor{gnutls_global_deinit} @deftypefun {void} {gnutls_global_deinit} ( @var{void}) This function deinitializes the global data, that were initialized using @code{gnutls_global_init()} . - -Note! This function is not thread safe. See the discussion for -@code{gnutls_global_init()} for more information. @end deftypefun @subheading gnutls_global_init @anchor{gnutls_global_init} @deftypefun {int} {gnutls_global_init} ( @var{void}) -This function initializes the global data to defaults. -In order to free resources you may call @code{gnutls_global_deinit()} +This function performs any required precalculations, detects +the supported CPU capabilities and initializes the underlying +cryptographic backend. In order to free any resources +taken by this call you should @code{gnutls_global_deinit()} when gnutls usage is no longer needed. -Note that this function will also initialize the underlying crypto -backend, if it has not been initialized before. - This function increments a global counter, so that @code{gnutls_global_deinit()} only releases resources when it has been called as many times as @code{gnutls_global_init()} . This is useful when @@ -1605,13 +2070,12 @@ GnuTLS is used by more than one library in an application. This function can be called many times, but will only do something the first time. -Note! This function is not thread safe. If two threads call this -function simultaneously, they can cause a race between checking -the global counter and incrementing it, causing both threads to -execute the library initialization code. That would lead to a -memory leak. To handle this, your application could invoke this -function after aquiring a thread mutex. To ignore the potential -memory leak is also an option. +Since GnuTLS 3.3.0 this function is only required in systems that +do not support library constructors and static linking. This +function also became thread safe. + +A subsequent call of this function if the initial has failed will +return the same error code. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error code is returned. @@ -1622,13 +2086,14 @@ otherwise a negative error code is returned. @deftypefun {void} {gnutls_global_set_audit_log_function} (gnutls_audit_log_func @var{log_func}) @var{log_func}: it is the audit log function -This is the function where you set the logging function gnutls is -going to use. This is different from @code{gnutls_global_set_log_function()} -because it will report the session of the event if any. Note that -that session might be null if there is no corresponding TLS session. +This is the function to set the audit logging function. This +is a function to report important issues, such as possible +attacks in the protocol. This is different from @code{gnutls_global_set_log_function()} +because it will report also session-specific events. The session +parameter will be null if there is no corresponding TLS session. @code{gnutls_audit_log_func} is of the form, -void (*gnutls_audit_log_func)( gnutls_session_t, int level, const char*); +void (*gnutls_audit_log_func)( gnutls_session_t, const char*); @strong{Since:} 3.0 @end deftypefun @@ -1650,7 +2115,7 @@ void (*gnutls_log_func)( int level, const char*); @subheading gnutls_global_set_log_level @anchor{gnutls_global_set_log_level} @deftypefun {void} {gnutls_global_set_log_level} (int @var{level}) -@var{level}: it's an integer from 0 to 9. +@var{level}: it's an integer from 0 to 99. This is the function that allows you to set the log level. The level is an integer between 0 and 9. Higher values mean more @@ -1660,29 +2125,6 @@ used with care, since they may reveal sensitive information. Use a log level over 10 to enable all debugging options. @end deftypefun -@subheading gnutls_global_set_mem_functions -@anchor{gnutls_global_set_mem_functions} -@deftypefun {void} {gnutls_global_set_mem_functions} (gnutls_alloc_function @var{alloc_func}, gnutls_alloc_function @var{secure_alloc_func}, gnutls_is_secure_function @var{is_secure_func}, gnutls_realloc_function @var{realloc_func}, gnutls_free_function @var{free_func}) -@var{alloc_func}: it's the default memory allocation function. Like @code{malloc()} . - -@var{secure_alloc_func}: This is the memory allocation function that will be used for sensitive data. - -@var{is_secure_func}: a function that returns 0 if the memory given is not secure. May be NULL. - -@var{realloc_func}: A realloc function - -@var{free_func}: The function that frees allocated data. Must accept a NULL pointer. - -This is the function where you set the memory allocation functions -gnutls is going to use. By default the libc's allocation functions -(@code{malloc()} , @code{free()} ), are used by gnutls, to allocate both sensitive -and not sensitive data. This function is provided to set the -memory allocation functions to something other than the defaults - -This function must be called before @code{gnutls_global_init()} is called. -This function is not thread safe. -@end deftypefun - @subheading gnutls_global_set_mutex @anchor{gnutls_global_set_mutex} @deftypefun {void} {gnutls_global_set_mutex} (mutex_init_func @var{init}, mutex_deinit_func @var{deinit}, mutex_lock_func @var{lock}, mutex_unlock_func @var{unlock}) @@ -1697,10 +2139,11 @@ This function is not thread safe. With this function you are allowed to override the default mutex locks used in some parts of gnutls and dependent libraries. This function should be used if you have complete control of your program and libraries. -Do not call this function from a library. Instead only initialize gnutls and -the default OS mutex locks will be used. +Do not call this function from a library, or preferrably from any application +unless really needed to. GnuTLS will use the appropriate locks for the running +system. -This function must be called before @code{gnutls_global_init()} . +This function must be called prior to any other gnutls function. @strong{Since:} 2.12.0 @end deftypefun @@ -1747,9 +2190,20 @@ some data were pending. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. @end deftypefun -@subheading gnutls_handshake_get_last_in -@anchor{gnutls_handshake_get_last_in} -@deftypefun {gnutls_handshake_description_t} {gnutls_handshake_get_last_in} (gnutls_session_t @var{session}) +@subheading gnutls_handshake_description_get_name +@anchor{gnutls_handshake_description_get_name} +@deftypefun {const char *} {gnutls_handshake_description_get_name} (gnutls_handshake_description_t @var{type}) +@var{type}: is a handshake message description + +Convert a @code{gnutls_handshake_description_t} value to a string. + +@strong{Returns:} a string that contains the name of the specified handshake +message or @code{NULL} . +@end deftypefun + +@subheading gnutls_handshake_get_last_in +@anchor{gnutls_handshake_get_last_in} +@deftypefun {gnutls_handshake_description_t} {gnutls_handshake_get_last_in} (gnutls_session_t @var{session}) @var{session}: is a @code{gnutls_session_t} structure. This function is only useful to check where the last performed @@ -1779,6 +2233,36 @@ available handshake descriptions. @code{gnutls_handshake_description_t} . @end deftypefun +@subheading gnutls_handshake_set_hook_function +@anchor{gnutls_handshake_set_hook_function} +@deftypefun {void} {gnutls_handshake_set_hook_function} (gnutls_session_t @var{session}, unsigned int @var{htype}, int @var{post}, gnutls_handshake_hook_func @var{func}) +@var{session}: is a @code{gnutls_session_t} structure + +@var{htype}: the @code{gnutls_handshake_description_t} of the message to hook at + +@var{post}: @code{GNUTLS_HOOK_} * depending on when the hook function should be called + +@var{func}: is the function to be called + +This function will set a callback to be called after or before the specified +handshake message has been received or generated. This is a +generalization of @code{gnutls_handshake_set_post_client_hello_function()} . + +To call the hook function prior to the message being sent/generated use +@code{GNUTLS_HOOK_PRE} as @code{post} parameter, @code{GNUTLS_HOOK_POST} to call +after, and @code{GNUTLS_HOOK_BOTH} for both cases. + +This callback must return 0 on success or a gnutls error code to +terminate the handshake. + +Note to hook at all handshake messages use an @code{htype} of @code{GNUTLS_HANDSHAKE_ANY} . + +@strong{Warning:} You should not use this function to terminate the +handshake based on client input unless you know what you are +doing. Before the handshake is finished there is no way to know if +there is a man-in-the-middle attack being performed. +@end deftypefun + @subheading gnutls_handshake_set_max_packet_length @anchor{gnutls_handshake_set_max_packet_length} @deftypefun {void} {gnutls_handshake_set_max_packet_length} (gnutls_session_t @var{session}, size_t @var{max}) @@ -1798,7 +2282,7 @@ limit Denial of Service attacks. @subheading gnutls_handshake_set_post_client_hello_function @anchor{gnutls_handshake_set_post_client_hello_function} -@deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) +@deftypefun {void} {gnutls_handshake_set_post_client_hello_function} (gnutls_session_t @var{session}, gnutls_handshake_post_client_hello_func @var{func}) @var{session}: is a @code{gnutls_session_t} structure. @var{func}: is the function to be called @@ -1814,6 +2298,11 @@ the hello message is parsed). This callback must return 0 on success or a gnutls error code to terminate the handshake. +Since GnuTLS 3.3.5 the callback is +allowed to return @code{GNUTLS_E_AGAIN} or @code{GNUTLS_E_INTERRUPTED} to +put the handshake on hold. In that case @code{gnutls_handshake()} +will return @code{GNUTLS_E_INTERRUPTED} and can be resumed when needed. + @strong{Warning:} You should not use this function to terminate the handshake based on client input unless you know what you are doing. Before the handshake is finished there is no way to know if @@ -1828,7 +2317,7 @@ there is a man-in-the-middle attack being performed. @var{allow}: is an integer (0 or 1) This function will enable or disable the use of private cipher -suites (the ones that start with 0xFF). By default or if @code{allow} is 0 then these cipher suites will not be advertized nor used. +suites (the ones that start with 0xFF). By default or if @code{allow} is 0 then these cipher suites will not be advertised nor used. Currently GnuTLS does not include such cipher-suites or compression algorithms. @@ -1837,6 +2326,150 @@ Enabling the private ciphersuites when talking to other than gnutls servers and clients may cause interoperability problems. @end deftypefun +@subheading gnutls_handshake_set_random +@anchor{gnutls_handshake_set_random} +@deftypefun {int} {gnutls_handshake_set_random} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{random}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{random}: a random value of 32-bytes + +This function will explicitly set the server or client hello +random value in the subsequent TLS handshake. The random value +should be a 32-byte value. + +Note that this function should not normally be used as gnutls +will select automatically a random value for the handshake. + +This function should not be used when resuming a session. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. + +Since 3.1.9 +@end deftypefun + +@subheading gnutls_handshake_set_timeout +@anchor{gnutls_handshake_set_timeout} +@deftypefun {void} {gnutls_handshake_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{ms}: is a timeout value in milliseconds + +This function sets the timeout for the handshake process +to the provided value. Use an @code{ms} value of zero to disable +timeout. + +@strong{Since:} 3.1.0 +@end deftypefun + +@subheading gnutls_heartbeat_allowed +@anchor{gnutls_heartbeat_allowed} +@deftypefun {int} {gnutls_heartbeat_allowed} (gnutls_session_t @var{session}, unsigned int @var{type}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: one of @code{GNUTLS_HB_LOCAL_ALLOWED_TO_SEND} and @code{GNUTLS_HB_PEER_ALLOWED_TO_SEND} + +This function will check whether heartbeats are allowed +to be sent or received in this session. + +@strong{Returns:} Non zero if heartbeats are allowed. + +@strong{Since:} 3.1.2 +@end deftypefun + +@subheading gnutls_heartbeat_enable +@anchor{gnutls_heartbeat_enable} +@deftypefun {void} {gnutls_heartbeat_enable} (gnutls_session_t @var{session}, unsigned int @var{type}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{type}: one of the GNUTLS_HB_* flags + +If this function is called with the @code{GNUTLS_HB_PEER_ALLOWED_TO_SEND} + @code{type} , GnuTLS will allow heartbeat messages to be received. Moreover it also +request the peer to accept heartbeat messages. + +If the @code{type} used is @code{GNUTLS_HB_LOCAL_ALLOWED_TO_SEND} , then the peer +will be asked to accept heartbeat messages but not send ones. + +The function @code{gnutls_heartbeat_allowed()} can be used to test Whether +locally generated heartbeat messages can be accepted by the peer. + +@strong{Since:} 3.1.2 +@end deftypefun + +@subheading gnutls_heartbeat_get_timeout +@anchor{gnutls_heartbeat_get_timeout} +@deftypefun {unsigned int} {gnutls_heartbeat_get_timeout} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +This function will return the milliseconds remaining +for a retransmission of the previously sent ping +message. This function is useful when ping is used in +non-blocking mode, to estimate when to call @code{gnutls_heartbeat_ping()} +if no packets have been received. + +@strong{Returns:} the remaining time in milliseconds. + +@strong{Since:} 3.1.2 +@end deftypefun + +@subheading gnutls_heartbeat_ping +@anchor{gnutls_heartbeat_ping} +@deftypefun {int} {gnutls_heartbeat_ping} (gnutls_session_t @var{session}, size_t @var{data_size}, unsigned int @var{max_tries}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{data_size}: is the length of the ping payload. + +@var{max_tries}: if flags is @code{GNUTLS_HEARTBEAT_WAIT} then this sets the number of retransmissions. Use zero for indefinite (until timeout). + +@var{flags}: if @code{GNUTLS_HEARTBEAT_WAIT} then wait for pong or timeout instead of returning immediately. + +This function sends a ping to the peer. If the @code{flags} is set +to @code{GNUTLS_HEARTBEAT_WAIT} then it waits for a reply from the peer. + +Note that it is highly recommended to use this function with the +flag @code{GNUTLS_HEARTBEAT_WAIT} , or you need to handle retransmissions +and timeouts manually. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.1.2 +@end deftypefun + +@subheading gnutls_heartbeat_pong +@anchor{gnutls_heartbeat_pong} +@deftypefun {int} {gnutls_heartbeat_pong} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{flags}: should be zero + +This function replies to a ping by sending a pong to the peer. + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. + +@strong{Since:} 3.1.2 +@end deftypefun + +@subheading gnutls_heartbeat_set_timeouts +@anchor{gnutls_heartbeat_set_timeouts} +@deftypefun {void} {gnutls_heartbeat_set_timeouts} (gnutls_session_t @var{session}, unsigned int @var{retrans_timeout}, unsigned int @var{total_timeout}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{retrans_timeout}: The time at which a retransmission will occur in milliseconds + +@var{total_timeout}: The time at which the connection will be aborted, in milliseconds. + +This function will override the timeouts for the DTLS heartbeat +protocol. The retransmission timeout is the time after which a +message from the peer is not received, the previous request will +be retransmitted. The total timeout is the time after which the +handshake will be aborted with @code{GNUTLS_E_TIMEDOUT} . + +If the retransmission timeout is zero then the handshake will operate +in a non-blocking way, i.e., return @code{GNUTLS_E_AGAIN} . + +@strong{Since:} 3.1.2 +@end deftypefun + @subheading gnutls_hex2bin @anchor{gnutls_hex2bin} @deftypefun {int} {gnutls_hex2bin} (const char * @var{hex_data}, size_t @var{hex_size}, void * @var{bin_data}, size_t * @var{bin_size}) @@ -1886,6 +2519,8 @@ long enough, or 0 on success. This function will convert the given data to printable data, using the hex encoding, as used in the PSK password files. +Note that the size of the result includes the null terminator. + @strong{Returns:} @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the buffer given is not long enough, or 0 on success. @end deftypefun @@ -1907,6 +2542,15 @@ entity, the flags @code{GNUTLS_DATAGRAM} and @code{GNUTLS_NONBLOCK} are also available. The latter flag will enable a non-blocking operation of the DTLS timers. +The flag @code{GNUTLS_NO_REPLAY_PROTECTION} will disable any +replay protection in DTLS mode. That must only used when +replay protection is achieved using other means. + +Note that since version 3.1.2 this function enables some common +TLS extensions such as session tickets and OCSP certificate status +request in client side by default. To prevent that use the @code{GNUTLS_NO_EXTENSIONS} +flag. + @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @@ -1918,7 +2562,7 @@ created key. @var{key_size}: The number of bytes of the key. -Generates a random key of @code{key_bytes} size. +Generates a random key of @code{key_size} bytes. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or an error code. @@ -1972,6 +2616,23 @@ This function is not thread safe. indicating the available key exchange algorithms. @end deftypefun +@subheading gnutls_load_file +@anchor{gnutls_load_file} +@deftypefun {int} {gnutls_load_file} (const char * @var{filename}, gnutls_datum_t * @var{data}) +@var{filename}: the name of the file to load + +@var{data}: Where the file will be stored + +This function will load a file into a datum. The data are +zero terminated but the terminating null is not included in length. +The returned data are allocated using @code{gnutls_malloc()} . + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +Since 3.1.0 +@end deftypefun + @subheading gnutls_mac_get @anchor{gnutls_mac_get} @deftypefun {gnutls_mac_algorithm_t} {gnutls_mac_get} (gnutls_session_t @var{session}) @@ -2000,7 +2661,7 @@ algorithm string, or @code{GNUTLS_MAC_UNKNOWN} on failures. @deftypefun {size_t} {gnutls_mac_get_key_size} (gnutls_mac_algorithm_t @var{algorithm}) @var{algorithm}: is an encryption algorithm -Get size of MAC key. +Returns the size of the MAC key used in TLS. @strong{Returns:} length (in bytes) of the given MAC key size, or 0 if the given MAC algorithm is invalid. @@ -2022,16 +2683,70 @@ algorithm, or @code{NULL} . @deftypefun {const gnutls_mac_algorithm_t *} {gnutls_mac_list} ( @var{void}) Get a list of hash algorithms for use as MACs. Note that not -necessarily all MACs are supported in TLS cipher suites. For -example, MD2 is not supported as a cipher suite, but is supported -for other purposes (e.g., X.509 signature verification or similar). - +necessarily all MACs are supported in TLS cipher suites. This function is not thread safe. @strong{Returns:} Return a (0)-terminated list of @code{gnutls_mac_algorithm_t} integers indicating the available MACs. @end deftypefun +@subheading gnutls_ocsp_status_request_enable_client +@anchor{gnutls_ocsp_status_request_enable_client} +@deftypefun {int} {gnutls_ocsp_status_request_enable_client} (gnutls_session_t @var{session}, gnutls_datum_t * @var{responder_id}, size_t @var{responder_id_size}, gnutls_datum_t * @var{extensions}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{responder_id}: array with @code{gnutls_datum_t} with DER data of responder id + +@var{responder_id_size}: number of members in @code{responder_id} array + +@var{extensions}: a @code{gnutls_datum_t} with DER encoded OCSP extensions + +This function is to be used by clients to request OCSP response +from the server, using the "status_request" TLS extension. Only +OCSP status type is supported. A typical server has a single +OCSP response cached, so @code{responder_id} and @code{extensions} should be null. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun + +@subheading gnutls_ocsp_status_request_get +@anchor{gnutls_ocsp_status_request_get} +@deftypefun {int} {gnutls_ocsp_status_request_get} (gnutls_session_t @var{session}, gnutls_datum_t * @var{response}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{response}: a @code{gnutls_datum_t} with DER encoded OCSP response + +This function returns the OCSP status response received +from the TLS server. The @code{response} should be treated as +constant. If no OCSP response is available then +@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} is returned. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +@strong{Since:} 3.1.3 +@end deftypefun + +@subheading gnutls_ocsp_status_request_is_checked +@anchor{gnutls_ocsp_status_request_is_checked} +@deftypefun {int} {gnutls_ocsp_status_request_is_checked} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a gnutls session + +@var{flags}: should be zero + +Check whether an OCSP status response was included in the handshake +and whether it was checked and valid (not too old or superseded). +This is a helper function when needing to decide whether to perform an +OCSP validity check on the peer's certificate. Must be called after +@code{gnutls_certificate_verify_peers3()} is called. + +@strong{Returns:} non zero it was valid, or a zero if it wasn't sent, +or sent and was invalid. +@end deftypefun + @subheading gnutls_openpgp_send_cert @anchor{gnutls_openpgp_send_cert} @deftypefun {void} {gnutls_openpgp_send_cert} (gnutls_session_t @var{session}, gnutls_openpgp_crt_status_t @var{status}) @@ -2045,6 +2760,32 @@ be used with care and only when there is indication or knowledge that the server can obtain the client's key. @end deftypefun +@subheading gnutls_packet_deinit +@anchor{gnutls_packet_deinit} +@deftypefun {void} {gnutls_packet_deinit} (gnutls_packet_t @var{packet}) +@var{packet}: is a pointer to a @code{gnutls_packet_st} structure. + +This function will deinitialize all data associated with +the received packet. + +@strong{Since:} 3.3.5 +@end deftypefun + +@subheading gnutls_packet_get +@anchor{gnutls_packet_get} +@deftypefun {void} {gnutls_packet_get} (gnutls_packet_t @var{packet}, gnutls_datum_t * @var{data}, unsigned char * @var{sequence}) +@var{packet}: is a @code{gnutls_packet_t} structure. + +@var{data}: will contain the data present in the @code{packet} structure (may be @code{NULL} ) + +@var{sequence}: the 8-bytes of the packet sequence number (may be @code{NULL} ) + +This function returns the data and sequence number associated with +the received packet. + +@strong{Since:} 3.3.5 +@end deftypefun + @subheading gnutls_pem_base64_decode @anchor{gnutls_pem_base64_decode} @deftypefun {int} {gnutls_pem_base64_decode} (const char * @var{header}, const gnutls_datum_t * @var{b64_data}, unsigned char * @var{result}, size_t * @var{result_size}) @@ -2237,19 +2978,20 @@ to signature algorithms. @var{outsize}: size of pre-allocated output buffer to hold the output. -@var{out}: pre-allocate buffer to hold the generated data. +@var{out}: pre-allocated buffer to hold the generated data. -Apply the TLS Pseudo-Random-Function (PRF) on the master secret -and the provided data, seeded with the client and server random fields. +Applies the TLS Pseudo-Random-Function (PRF) on the master secret +and the provided data, seeded with the client and server random fields, +as specified in RFC5705. -The @code{label} variable usually contain a string denoting the purpose -for the generated data. The @code{server_random_first} indicate whether +The @code{label} variable usually contains a string denoting the purpose +for the generated data. The @code{server_random_first} indicates whether the client random field or the server random field should be first -in the seed. Non-0 indicate that the server random field is first, +in the seed. Non-0 indicates that the server random field is first, 0 that the client random field is first. The @code{extra} variable can be used to add more data to the seed, after -the random variables. It can be used to tie make sure the +the random variables. It can be used to make sure the generated output is strongly connected to some additional data (e.g., a string used in user authentication). @@ -2273,22 +3015,22 @@ The output is placed in @code{out} , which must be pre-allocated. @var{outsize}: size of pre-allocated output buffer to hold the output. -@var{out}: pre-allocate buffer to hold the generated data. +@var{out}: pre-allocated buffer to hold the generated data. Apply the TLS Pseudo-Random-Function (PRF) on the master secret and the provided data. -The @code{label} variable usually contain a string denoting the purpose -for the generated data. The @code{seed} usually contain data such as the +The @code{label} variable usually contains a string denoting the purpose +for the generated data. The @code{seed} usually contains data such as the client and server random, perhaps together with some additional data that is added to guarantee uniqueness of the output for a particular purpose. Because the output is not guaranteed to be unique for a particular -session unless @code{seed} include the client random and server random +session unless @code{seed} includes the client random and server random fields (the PRF would output the same data on another connection resumed from the first one), it is not recommended to use this -function directly. The @code{gnutls_prf()} function seed the PRF with the +function directly. The @code{gnutls_prf()} function seeds the PRF with the client and server random fields directly, and is recommended if you want to generate pseudo random data unique for each session. @@ -2297,7 +3039,7 @@ want to generate pseudo random data unique for each session. @subheading gnutls_priority_certificate_type_list @anchor{gnutls_priority_certificate_type_list} -@deftypefun {int} {gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_certificate_type_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list @@ -2310,9 +3052,24 @@ structure. @strong{Since:} 3.0 @end deftypefun +@subheading gnutls_priority_cipher_list +@anchor{gnutls_priority_cipher_list} +@deftypefun {int} {gnutls_priority_cipher_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available ciphers in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun + @subheading gnutls_priority_compression_list @anchor{gnutls_priority_compression_list} -@deftypefun {int} {gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_compression_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list @@ -2335,7 +3092,7 @@ Deinitializes the priority cache. @subheading gnutls_priority_ecc_curve_list @anchor{gnutls_priority_ecc_curve_list} -@deftypefun {int} {gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_ecc_curve_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list @@ -2385,14 +3142,25 @@ separated list of the cipher priorities to enable. Some keywords are defined to provide quick access to common preferences. +Unless there is a special need, use the "NORMAL" keyword to +apply a reasonable security level, or "NORMAL:@code{COMPAT} " for compatibility. + "PERFORMANCE" means all the "secure" ciphersuites are enabled, limited to 128 bit ciphers and sorted by terms of speed performance. +"LEGACY" the NORMAL settings for GnuTLS 3.2.x or earlier. There is +no verification profile set, and the allowed DH primes are considered +weak today. + "NORMAL" means all "secure" ciphersuites. The 256-bit ciphers are included as a fallback only. The ciphers are sorted by security margin. +"PFS" means all "secure" ciphersuites that support perfect forward secrecy. +The 256-bit ciphers are included as a fallback only. +The ciphers are sorted by security margin. + "SECURE128" means all "secure" ciphersuites of security level 128-bit or more. @@ -2411,6 +3179,13 @@ low-security 40 bit ciphers. "NONE" means nothing is enabled. This disables even protocols and compression methods. +" @code{KEYWORD} " The system administrator imposed settings. The provided keywords +will be expanded from a configuration-time provided file - default is: +/etc/gnutls/default-priorities. Any keywords that follow it, will +be appended to the expanded string. If there is no system string, +then the function will fail. The system file should be formatted +as "KEYWORD=VALUE", e.g., "SYSTEM=NORMAL:-ARCFOUR-128". + Special keywords are "!", "-" and "+". "!" or "-" appended with an algorithm will remove this algorithm. "+" appended with an algorithm will add this algorithm. @@ -2423,22 +3198,54 @@ information. "NORMAL:-ARCFOUR-128" means normal ciphers except for ARCFOUR-128. -"SECURE:-VERS-SSL3.0:+COMP-DEFLATE" means that only secure ciphers are +"SECURE128:-VERS-SSL3.0:+COMP-DEFLATE" means that only secure ciphers are enabled, SSL3.0 is disabled, and libz compression enabled. "NONE:+VERS-TLS-ALL:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1", "NONE:+VERS-TLS-ALL:+AES-128-CBC:+ECDHE-RSA:+SHA1:+COMP-NULL:+SIGN-RSA-SHA1:+CURVE-SECP256R1", -"NORMAL:@code{COMPAT} " is the most compatible mode. +"SECURE256:+SECURE128", + +Note that "NORMAL:@code{COMPAT} " is the most compatible mode. @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun +@subheading gnutls_priority_kx_list +@anchor{gnutls_priority_kx_list} +@deftypefun {int} {gnutls_priority_kx_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available key exchange methods in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun + +@subheading gnutls_priority_mac_list +@anchor{gnutls_priority_mac_list} +@deftypefun {int} {gnutls_priority_mac_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) +@var{pcache}: is a @code{gnutls_prioritity_t} structure. + +@var{list}: will point to an integer list + +Get a list of available MAC algorithms in the priority +structure. + +@strong{Returns:} the number of curves, or an error code. + +@strong{Since:} 3.2.3 +@end deftypefun + @subheading gnutls_priority_protocol_list @anchor{gnutls_priority_protocol_list} -@deftypefun {int} {gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_protocol_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list @@ -2478,13 +3285,15 @@ macs and compression methods. This function avoids keeping a priority cache and is used to directly set string priorities to a TLS session. For documentation check the @code{gnutls_priority_init()} . +To simply use a reasonable default, consider using @code{gnutls_set_default_priority()} . + @strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun @subheading gnutls_priority_sign_list @anchor{gnutls_priority_sign_list} -@deftypefun {int} {gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int** @var{list}) +@deftypefun {int} {gnutls_priority_sign_list} (gnutls_priority_t @var{pcache}, const unsigned int ** @var{list}) @var{pcache}: is a @code{gnutls_prioritity_t} structure. @var{list}: will point to an integer list @@ -2543,7 +3352,7 @@ indicating the available protocols. @subheading gnutls_psk_allocate_client_credentials @anchor{gnutls_psk_allocate_client_credentials} -@deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_psk_allocate_client_credentials} (gnutls_psk_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this @@ -2555,7 +3364,7 @@ an error code is returned. @subheading gnutls_psk_allocate_server_credentials @anchor{gnutls_psk_allocate_server_credentials} -@deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_psk_allocate_server_credentials} (gnutls_psk_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_psk_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this @@ -2633,7 +3442,7 @@ an error code is returned. @subheading gnutls_psk_set_client_credentials_function @anchor{gnutls_psk_set_client_credentials_function} -@deftypefun {void} {gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_psk_set_client_credentials_function} (gnutls_psk_client_credentials_t @var{cred}, gnutls_psk_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_psk_server_credentials_t} structure. @var{func}: is the callback function @@ -2668,7 +3477,7 @@ callback should return @code{GNUTLS_E_SUCCESS} (0) on success. @subheading gnutls_psk_set_server_credentials_file @anchor{gnutls_psk_set_server_credentials_file} -@deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) +@deftypefun {int} {gnutls_psk_set_server_credentials_file} (gnutls_psk_server_credentials_t @var{res}, const char * @var{password_file}) @var{res}: is a @code{gnutls_psk_server_credentials_t} structure. @var{password_file}: is the PSK password file (passwd.psk) @@ -2683,7 +3492,7 @@ an error code is returned. @subheading gnutls_psk_set_server_credentials_function @anchor{gnutls_psk_set_server_credentials_function} -@deftypefun {void} {gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) +@deftypefun {void} {gnutls_psk_set_server_credentials_function} (gnutls_psk_server_credentials_t @var{cred}, gnutls_psk_server_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_psk_server_credentials_t} structure. @var{func}: is the callback function @@ -2748,7 +3557,7 @@ should return @code{GNUTLS_E_SUCCESS} (0) on success. @subheading gnutls_random_art @anchor{gnutls_random_art} -@deftypefun {int} {gnutls_random_art} (gnutls_random_art_t @var{type}, const char* @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t* @var{art}) +@deftypefun {int} {gnutls_random_art} (gnutls_random_art_t @var{type}, const char * @var{key_type}, unsigned int @var{key_size}, void * @var{fpr}, size_t @var{fpr_size}, gnutls_datum_t * @var{art}) @var{type}: The type of the random art @var{key_type}: The type of the key (RSA, DSA etc.) @@ -2768,6 +3577,58 @@ image. The returned image is allocated using @code{gnutls_malloc()} an error code is returned. @end deftypefun +@subheading gnutls_range_split +@anchor{gnutls_range_split} +@deftypefun {int} {gnutls_range_split} (gnutls_session_t @var{session}, const gnutls_range_st * @var{orig}, gnutls_range_st * @var{next}, gnutls_range_st * @var{remainder}) +@var{session}: is a @code{gnutls_session_t} structure + +@var{orig}: is the original range provided by the user + +@var{next}: is the returned range that can be conveyed in a TLS record + +@var{remainder}: is the returned remaining range + +This function should be used when it is required to hide the length +of very long data that cannot be directly provided to @code{gnutls_record_send_range()} . +In that case this function should be called with the desired length +hiding range in @code{orig} . The returned @code{next} value should then be used in +the next call to @code{gnutls_record_send_range()} with the partial data. +That process should be repeated until @code{remainder} is (0,0). + +@strong{Returns:} 0 in case splitting succeeds, non zero in case of error. +Note that @code{orig} is not changed, while the values of @code{next} and @code{remainder} are modified to store the resulting values. +@end deftypefun + +@subheading gnutls_record_can_use_length_hiding +@anchor{gnutls_record_can_use_length_hiding} +@deftypefun {int} {gnutls_record_can_use_length_hiding} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +If the session supports length-hiding padding, you can +invoke @code{gnutls_range_send_message()} to send a message whose +length is hidden in the given range. If the session does not +support length hiding padding, you can use the standard +@code{gnutls_record_send()} function, or @code{gnutls_range_send_message()} +making sure that the range is the same as the length of the +message you are trying to send. + +@strong{Returns:} true (1) if the current session supports length-hiding +padding, false (0) if the current session does not. +@end deftypefun + +@subheading gnutls_record_check_corked +@anchor{gnutls_record_check_corked} +@deftypefun {size_t} {gnutls_record_check_corked} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +This function checks if there pending corked +data in the gnutls buffers --see @code{gnutls_cork()} . + +@strong{Returns:} Returns the size of the corked data or zero. + +@strong{Since:} 3.2.8 +@end deftypefun + @subheading gnutls_record_check_pending @anchor{gnutls_record_check_pending} @deftypefun {size_t} {gnutls_record_check_pending} (gnutls_session_t @var{session}) @@ -2776,11 +3637,25 @@ an error code is returned. This function checks if there are unread data in the gnutls buffers. If the return value is non-zero the next call to @code{gnutls_record_recv()} -is guarranteed not to block. +is guaranteed not to block. @strong{Returns:} Returns the size of the data or zero. @end deftypefun +@subheading gnutls_record_cork +@anchor{gnutls_record_cork} +@deftypefun {void} {gnutls_record_cork} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +If called @code{gnutls_record_send()} will no longer send partial records. +All queued records will be sent when @code{gnutls_uncork()} is called, or +when the maximum record size is reached. + +This function is safe to use with DTLS after GnuTLS 3.3.0. + +@strong{Since:} 3.1.9 +@end deftypefun + @subheading gnutls_record_disable_padding @anchor{gnutls_record_disable_padding} @deftypefun {void} {gnutls_record_disable_padding} (gnutls_session_t @var{session}) @@ -2791,8 +3666,8 @@ need to use this function, but there are buggy clients that complain if a server pads the encrypted data. This of course will disable protection against statistical attacks on the data. -Normally only servers that require maximum compatibility with everything -out there, need to call this function. +This functions is defunt since 3.1.7. Random padding is disabled +by default unless requested using @code{gnutls_range_send_message()} . @end deftypefun @subheading gnutls_record_get_direction @@ -2825,6 +3700,17 @@ client after the first handshake message. @strong{Returns:} The maximum record packet size in this connection. @end deftypefun +@subheading gnutls_record_overhead_size +@anchor{gnutls_record_overhead_size} +@deftypefun {size_t} {gnutls_record_overhead_size} (gnutls_session_t @var{session}) +@var{session}: is @code{gnutls_session_t} + +This function will return the set size in bytes of the overhead +due to TLS (or DTLS) per record. + +@strong{Since:} 3.2.2 +@end deftypefun + @subheading gnutls_record_recv @anchor{gnutls_record_recv} @deftypefun {ssize_t} {gnutls_record_recv} (gnutls_session_t @var{session}, void * @var{data}, size_t @var{data_size}) @@ -2856,6 +3742,28 @@ connections). A negative error code is returned in case of an error. The number of bytes received might be less than the requested @code{data_size} . @end deftypefun +@subheading gnutls_record_recv_packet +@anchor{gnutls_record_recv_packet} +@deftypefun {ssize_t} {gnutls_record_recv_packet} (gnutls_session_t @var{session}, gnutls_packet_t * @var{packet}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{packet}: the structure that will hold the packet data + +This is a lower-level function thatn @code{gnutls_record_recv()} and allows +to directly receive the whole decrypted packet. That avoids a +memory copy, and is mostly applicable to applications seeking high +performance. + +The received packet is accessed using @code{gnutls_packet_get()} and +must be deinitialized using @code{gnutls_packet_deinit()} . The returned +packet will be @code{NULL} if the return value is zero (EOF). + +@strong{Returns:} The number of bytes received and zero on EOF (for stream +connections). A negative error code is returned in case of an error. + +@strong{Since:} 3.3.5 +@end deftypefun + @subheading gnutls_record_recv_seq @anchor{gnutls_record_recv_seq} @deftypefun {ssize_t} {gnutls_record_recv_seq} (gnutls_session_t @var{session}, void * @var{data}, size_t @var{data_size}, unsigned char * @var{seq}) @@ -2894,17 +3802,25 @@ This function has the similar semantics with @code{send()} . The only difference is that it accepts a GnuTLS session, and uses different error codes. Note that if the send buffer is full, @code{send()} will block this -function. See the @code{send()} documentation for full information. You -can replace the default push function by using -@code{gnutls_transport_set_ptr2()} with a call to @code{send()} with a -MSG_DONTWAIT flag if blocking is a problem. -If the EINTR is returned by the internal push function (the -default is @code{send()} ) then @code{GNUTLS_E_INTERRUPTED} will be returned. If +function. See the @code{send()} documentation for more information. + +You can replace the default push function which is @code{send()} , by using +@code{gnutls_transport_set_push_function()} . + +If the EINTR is returned by the internal push function +then @code{GNUTLS_E_INTERRUPTED} will be returned. If @code{GNUTLS_E_INTERRUPTED} or @code{GNUTLS_E_AGAIN} is returned, you must -call this function again, with the same parameters; alternatively +call this function again, with the exact same parameters; alternatively you could provide a @code{NULL} pointer for data, and 0 for -size. cf. @code{gnutls_record_get_direction()} . The errno value EMSGSIZE -maps to @code{GNUTLS_E_LARGE_PACKET} . +size. cf. @code{gnutls_record_get_direction()} . + +Note that in DTLS this function will return the @code{GNUTLS_E_LARGE_PACKET} +error code if the send data exceed the data MTU value - as returned +by @code{gnutls_dtls_get_data_mtu()} . The errno value EMSGSIZE +also maps to @code{GNUTLS_E_LARGE_PACKET} . +Note that since 3.2.13 this function can be called under cork in DTLS +mode, and will refuse to send data over the MTU size by returning +@code{GNUTLS_E_LARGE_PACKET} . @strong{Returns:} The number of bytes sent, or a negative error code. The number of bytes sent might be less than @code{data_size} . The maximum @@ -2912,6 +3828,48 @@ number of bytes this function can send in a single call depends on the negotiated maximum record size. @end deftypefun +@subheading gnutls_record_send_range +@anchor{gnutls_record_send_range} +@deftypefun {ssize_t} {gnutls_record_send_range} (gnutls_session_t @var{session}, const void * @var{data}, size_t @var{data_size}, const gnutls_range_st * @var{range}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{data}: contains the data to send. + +@var{data_size}: is the length of the data. + +@var{range}: is the range of lengths in which the real data length must be hidden. + +This function operates like @code{gnutls_record_send()} but, while +@code{gnutls_record_send()} adds minimal padding to each TLS record, +this function uses the TLS extra-padding feature to conceal the real +data size within the range of lengths provided. +Some TLS sessions do not support extra padding (e.g. stream ciphers in standard +TLS or SSL3 sessions). To know whether the current session supports extra +padding, and hence length hiding, use the @code{gnutls_record_can_use_length_hiding()} +function. + +@strong{Note:} This function currently is only limited to blocking sockets. + +@strong{Returns:} The number of bytes sent (that is data_size in a successful invocation), +or a negative error code. +@end deftypefun + +@subheading gnutls_record_set_max_empty_records +@anchor{gnutls_record_set_max_empty_records} +@deftypefun {void} {gnutls_record_set_max_empty_records} (gnutls_session_t @var{session}, const unsigned int @var{i}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{i}: is the desired value of maximum empty records that can be accepted in a row. + +Used to set the maximum number of empty fragments that can be accepted +in a row. Accepting many empty fragments is useful for receiving length-hidden +content, where empty fragments filled with pad are sent to hide the real +length of a message. However, a malicious peer could send empty fragments to +mount a DoS attack, so as a safety measure, a maximum number of empty fragments +is accepted by default. If you know your application must accept a given number +of empty fragments in a row, you can use this function to set the desired value. +@end deftypefun + @subheading gnutls_record_set_max_size @anchor{gnutls_record_set_max_size} @deftypefun {ssize_t} {gnutls_record_set_max_size} (gnutls_session_t @var{session}, size_t @var{size}) @@ -2935,6 +3893,44 @@ all TLS implementations use or even understand this extension. otherwise a negative error code is returned. @end deftypefun +@subheading gnutls_record_set_timeout +@anchor{gnutls_record_set_timeout} +@deftypefun {void} {gnutls_record_set_timeout} (gnutls_session_t @var{session}, unsigned int @var{ms}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{ms}: is a timeout value in milliseconds + +This function sets the receive timeout for the record layer +to the provided value. Use an @code{ms} value of zero to disable +timeout (the default). + +@strong{Since:} 3.1.7 +@end deftypefun + +@subheading gnutls_record_uncork +@anchor{gnutls_record_uncork} +@deftypefun {int} {gnutls_record_uncork} (gnutls_session_t @var{session}, unsigned int @var{flags}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{flags}: Could be zero or @code{GNUTLS_RECORD_WAIT} + +This resets the effect of @code{gnutls_cork()} , and flushes any pending +data. If the @code{GNUTLS_RECORD_WAIT} flag is specified then this +function will block until the data is sent or a fatal error +occurs (i.e., the function will retry on @code{GNUTLS_E_AGAIN} and +@code{GNUTLS_E_INTERRUPTED} ). + +If the flag @code{GNUTLS_RECORD_WAIT} is not specified and the function +is interrupted then the @code{GNUTLS_E_AGAIN} or @code{GNUTLS_E_INTERRUPTED} +errors will be returned. To obtain the data left in the corked +buffer use @code{gnutls_record_check_corked()} . + +@strong{Returns:} On success the number of transmitted data is returned, or +otherwise a negative error code. + +@strong{Since:} 3.1.9 +@end deftypefun + @subheading gnutls_rehandshake @anchor{gnutls_rehandshake} @deftypefun {int} {gnutls_rehandshake} (gnutls_session_t @var{session}) @@ -2957,8 +3953,8 @@ is returned to clear any pending data. Care must be taken if rehandshake is mandatory to terminate if it does not start after some threshold. -If the client does not wish to renegotiate parameters he will -should with an alert message, thus the return code will be +If the client does not wish to renegotiate parameters he +should reply with an alert message, thus the return code will be @code{GNUTLS_E_WARNING_ALERT_RECEIVED} and the alert will be @code{GNUTLS_A_NO_RENEGOTIATION} . A client may also choose to ignore this message. @@ -3011,6 +4007,19 @@ appropriate size for the specific algorithm. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_sec_param_to_symmetric_bits +@anchor{gnutls_sec_param_to_symmetric_bits} +@deftypefun {unsigned int} {gnutls_sec_param_to_symmetric_bits} (gnutls_sec_param_t @var{param}) +@var{param}: is a security parameter + +This function will return the number of bits that correspond to +symmetric cipher strength for the given security parameter. + +@strong{Returns:} The number of bits, or (0). + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_server_name_get @anchor{gnutls_server_name_get} @deftypefun {int} {gnutls_server_name_get} (gnutls_session_t @var{session}, void * @var{data}, size_t * @var{data_length}, unsigned int * @var{type}, unsigned int @var{indx}) @@ -3097,11 +4106,26 @@ currently available, or an error code. This function can be used to disable certain (security) features in TLS in order to maintain maximum compatibility with buggy -clients. It is equivalent to calling: -@code{gnutls_record_disable_padding()} +clients. Because several trade-offs with security are enabled, +if required they will be reported through the audit subsystem. Normally only servers that require maximum compatibility with everything out there, need to call this function. + +Note that this function must be called after any call to gnutls_priority +functions. +@end deftypefun + +@subheading gnutls_session_force_valid +@anchor{gnutls_session_force_valid} +@deftypefun {void} {gnutls_session_force_valid} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Clears the invalid flag in a session. That means +that sessions were corrupt or invalid data were received +can be re-used. Use only when debugging or experimenting +with the TLS protocol. Should not be used in typical +applications. @end deftypefun @subheading gnutls_session_get_data @@ -3113,14 +4137,10 @@ everything out there, need to call this function. @var{session_data_size}: is the session_data's size, or it will be set by the function. -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he -wants to resume that current version later by calling -@code{gnutls_session_set_data()} This function must be called after a -successful handshake. - -Resuming sessions is really useful and speedups connections after -a successful one. +Returns all session parameters needed to be stored to support resumption. +The client should call this, and store the returned session data. A session +may be resumed later by calling @code{gnutls_session_set_data()} . +This function must be called after a successful handshake. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @@ -3133,20 +4153,29 @@ an error code is returned. @var{data}: is a pointer to a datum that will hold the session. -Returns all session parameters, in order to support resuming. The -client should call this, and keep the returned session, if he wants -to resume that current version later by calling -@code{gnutls_session_set_data()} . This function must be called after a -successful handshake. The returned datum must be freed with -@code{gnutls_free()} . - -Resuming sessions is really useful and speedups connections after -a successful one. +Returns all session parameters needed to be stored to support resumption. +The client should call this, and store the returned session data. A session +may be resumed later by calling @code{gnutls_session_set_data()} . +This function must be called after a successful handshake. +The returned @code{data} are allocated and must be released using @code{gnutls_free()} . @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise an error code is returned. @end deftypefun +@subheading gnutls_session_get_desc +@anchor{gnutls_session_get_desc} +@deftypefun {char *} {gnutls_session_get_desc} (gnutls_session_t @var{session}) +@var{session}: is a gnutls session + +This function returns a string describing the current session. +The string is null terminated and allocated using @code{gnutls_malloc()} . + +@strong{Returns:} a description of the protocols and algorithms in the current session. + +@strong{Since:} 3.1.10 +@end deftypefun + @subheading gnutls_session_get_id @anchor{gnutls_session_get_id} @deftypefun {int} {gnutls_session_get_id} (gnutls_session_t @var{session}, void * @var{session_id}, size_t * @var{session_id_size}) @@ -3154,14 +4183,14 @@ an error code is returned. @var{session_id}: is a pointer to space to hold the session id. -@var{session_id_size}: is the session id's size, or it will be set by the function. +@var{session_id_size}: initially should contain the maximum @code{session_id} size and will be updated. -Returns the current session id. This can be used if you want to +Returns the current session ID. This can be used if you want to check if the next session you tried to resume was actually -resumed. This is because resumed sessions have the same sessionID +resumed. That is because resumed sessions share the same session ID with the original session. -Session id is some data set by the server, that identify the +The session ID is selected by the server, that identify the current session. In TLS 1.0 and SSL 3.0 session id is always less than 32 bytes. @@ -3169,6 +4198,22 @@ than 32 bytes. an error code is returned. @end deftypefun +@subheading gnutls_session_get_id2 +@anchor{gnutls_session_get_id2} +@deftypefun {int} {gnutls_session_get_id2} (gnutls_session_t @var{session}, gnutls_datum_t * @var{session_id}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{session_id}: will point to the session ID. + +Returns the current session ID. The returned data should be +treated as constant. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. + +@strong{Since:} 3.1.4 +@end deftypefun + @subheading gnutls_session_get_ptr @anchor{gnutls_session_get_ptr} @deftypefun {void *} {gnutls_session_get_ptr} (gnutls_session_t @var{session}) @@ -3183,14 +4228,14 @@ pointer set with @code{gnutls_session_set_ptr()} . @subheading gnutls_session_get_random @anchor{gnutls_session_get_random} -@deftypefun {void} {gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t* @var{client}, gnutls_datum_t* @var{server}) +@deftypefun {void} {gnutls_session_get_random} (gnutls_session_t @var{session}, gnutls_datum_t * @var{client}, gnutls_datum_t * @var{server}) @var{session}: is a @code{gnutls_session_t} structure. @var{client}: the client part of the random @var{server}: the server part of the random -This functions returns pointers to the client and server +This function returns pointers to the client and server random fields used in the TLS handshake. The pointers are not to be modified or deallocated. @@ -3244,9 +4289,26 @@ performed. an error code is returned. @end deftypefun +@subheading gnutls_session_set_id +@anchor{gnutls_session_set_id} +@deftypefun {int} {gnutls_session_set_id} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{sid}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{sid}: the session identifier + +This function sets the session ID to be used in a client hello. +This is a function intended for exceptional uses. Do not use this +function unless you are implementing a custom protocol. + +To set session resumption parameters use @code{gnutls_session_set_data()} instead. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise +an error code is returned. +@end deftypefun + @subheading gnutls_session_set_premaster @anchor{gnutls_session_set_premaster} -@deftypefun {int} {gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t* @var{master}, const gnutls_datum_t * @var{session_id}) +@deftypefun {int} {gnutls_session_set_premaster} (gnutls_session_t @var{session}, unsigned int @var{entity}, gnutls_protocol_t @var{version}, gnutls_kx_algorithm_t @var{kx}, gnutls_cipher_algorithm_t @var{cipher}, gnutls_mac_algorithm_t @var{mac}, gnutls_compression_method_t @var{comp}, const gnutls_datum_t * @var{master}, const gnutls_datum_t * @var{session_id}) @var{session}: is a @code{gnutls_session_t} structure. @var{entity}: GNUTLS_SERVER or GNUTLS_CLIENT @@ -3282,7 +4344,7 @@ an error code is returned. @var{ptr}: is the user pointer This function will set (associate) the user given pointer @code{ptr} to -the session structure. This is pointer can be accessed with +the session structure. This pointer can be accessed with @code{gnutls_session_get_ptr()} . @end deftypefun @@ -3340,9 +4402,8 @@ error code. Sets some default priority on the ciphers, key exchange methods, macs and compression methods. -This is the same as calling: - -gnutls_priority_set_direct (session, "NORMAL", NULL); +This typically sets a default priority that is considered +sufficiently secure to establish encrypted sessions. This function is kept around for backwards compatibility, but because of its wide use it is still fully supported. If you wish @@ -3353,6 +4414,32 @@ use (which is recommended), you should use @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, or an error code. @end deftypefun +@subheading gnutls_sign_algorithm_get +@anchor{gnutls_sign_algorithm_get} +@deftypefun {int} {gnutls_sign_algorithm_get} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Returns the signature algorithm that is (or will be) used in this +session by the server to sign data. + +@strong{Returns:} The sign algorithm or @code{GNUTLS_SIGN_UNKNOWN} . + +@strong{Since:} 3.1.1 +@end deftypefun + +@subheading gnutls_sign_algorithm_get_client +@anchor{gnutls_sign_algorithm_get_client} +@deftypefun {int} {gnutls_sign_algorithm_get_client} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Returns the signature algorithm that is (or will be) used in this +session by the client to sign data. + +@strong{Returns:} The sign algorithm or @code{GNUTLS_SIGN_UNKNOWN} . + +@strong{Since:} 3.1.11 +@end deftypefun + @subheading gnutls_sign_algorithm_get_requested @anchor{gnutls_sign_algorithm_get_requested} @deftypefun {int} {gnutls_sign_algorithm_get_requested} (gnutls_session_t @var{session}, size_t @var{indx}, gnutls_sign_algorithm_t * @var{algo}) @@ -3378,15 +4465,28 @@ an error code is returned. @strong{Since:} 2.10.0 @end deftypefun +@subheading gnutls_sign_get_hash_algorithm +@anchor{gnutls_sign_get_hash_algorithm} +@deftypefun {gnutls_digest_algorithm_t} {gnutls_sign_get_hash_algorithm} (gnutls_sign_algorithm_t @var{sign}) +@var{sign}: is a signature algorithm + +This function returns the digest algorithm corresponding to +the given signature algorithms. + +@strong{Since:} 3.1.1 + +@strong{Returns:} return a @code{gnutls_digest_algorithm_t} value, or @code{GNUTLS_DIG_UNKNOWN} on error. +@end deftypefun + @subheading gnutls_sign_get_id @anchor{gnutls_sign_get_id} @deftypefun {gnutls_sign_algorithm_t} {gnutls_sign_get_id} (const char * @var{name}) -@var{name}: is a MAC algorithm name +@var{name}: is a sign algorithm name The names are compared in a case insensitive way. @strong{Returns:} return a @code{gnutls_sign_algorithm_t} value corresponding to -the specified cipher, or @code{GNUTLS_SIGN_UNKNOWN} on error. +the specified algorithm, or @code{GNUTLS_SIGN_UNKNOWN} on error. @end deftypefun @subheading gnutls_sign_get_name @@ -3400,6 +4500,28 @@ Convert a @code{gnutls_sign_algorithm_t} value to a string. algorithm, or @code{NULL} . @end deftypefun +@subheading gnutls_sign_get_pk_algorithm +@anchor{gnutls_sign_get_pk_algorithm} +@deftypefun {gnutls_pk_algorithm_t} {gnutls_sign_get_pk_algorithm} (gnutls_sign_algorithm_t @var{sign}) +@var{sign}: is a signature algorithm + +This function returns the public key algorithm corresponding to +the given signature algorithms. + +@strong{Since:} 3.1.1 + +@strong{Returns:} return a @code{gnutls_pk_algorithm_t} value, or @code{GNUTLS_PK_UNKNOWN} on error. +@end deftypefun + +@subheading gnutls_sign_is_secure +@anchor{gnutls_sign_is_secure} +@deftypefun {int} {gnutls_sign_is_secure} (gnutls_sign_algorithm_t @var{algorithm}) +@var{algorithm}: is a sign algorithm + + +@strong{Returns:} Non-zero if the provided signature algorithm is considered to be secure. +@end deftypefun + @subheading gnutls_sign_list @anchor{gnutls_sign_list} @deftypefun {const gnutls_sign_algorithm_t *} {gnutls_sign_list} ( @var{void}) @@ -3412,7 +4534,7 @@ integers indicating the available ciphers. @subheading gnutls_srp_allocate_client_credentials @anchor{gnutls_srp_allocate_client_credentials} -@deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_srp_allocate_client_credentials} (gnutls_srp_client_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus @@ -3424,7 +4546,7 @@ error code. @subheading gnutls_srp_allocate_server_credentials @anchor{gnutls_srp_allocate_server_credentials} -@deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) +@deftypefun {int} {gnutls_srp_allocate_server_credentials} (gnutls_srp_server_credentials_t * @var{sc}) @var{sc}: is a pointer to a @code{gnutls_srp_server_credentials_t} structure. This structure is complex enough to manipulate directly thus this @@ -3566,7 +4688,7 @@ error code. @subheading gnutls_srp_set_client_credentials_function @anchor{gnutls_srp_set_client_credentials_function} -@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_client_credentials_function} (gnutls_srp_client_credentials_t @var{cred}, gnutls_srp_client_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function @@ -3632,7 +4754,7 @@ error code. @subheading gnutls_srp_set_server_credentials_function @anchor{gnutls_srp_set_server_credentials_function} -@deftypefun {void} {gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) +@deftypefun {void} {gnutls_srp_set_server_credentials_function} (gnutls_srp_server_credentials_t @var{cred}, gnutls_srp_server_credentials_function * @var{func}) @var{cred}: is a @code{gnutls_srp_server_credentials_t} structure. @var{func}: is the callback function @@ -3641,26 +4763,60 @@ This function can be used to set a callback to retrieve the user's SRP credentials. The callback's function form is: int (*callback)(gnutls_session_t, const char* username, -gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* g, -gnutls_datum_t* n); +gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* generator, +gnutls_datum_t* prime); @code{username} contains the actual username. The @code{salt} , @code{verifier} , @code{generator} and @code{prime} must be filled in using the @code{gnutls_malloc()} . For convenience @code{prime} and @code{generator} may also be one of the static parameters defined in gnutls.h. -In case the callback returned a negative number then gnutls will -assume that the username does not exist. - In order to prevent attackers from guessing valid usernames, if a user does not exist, g and n values should be filled in using a random user's parameters. In that case the callback must return the special value (1). +See @code{gnutls_srp_set_server_fake_salt_seed} too. +If this is not required for your application, return a negative +number from the callback to abort the handshake. The callback function will only be called once per handshake. The callback function should return 0 on success, while -1 indicates an error. @end deftypefun +@subheading gnutls_srp_set_server_fake_salt_seed +@anchor{gnutls_srp_set_server_fake_salt_seed} +@deftypefun {void} {gnutls_srp_set_server_fake_salt_seed} (gnutls_srp_server_credentials_t @var{cred}, const gnutls_datum_t * @var{seed}, unsigned int @var{salt_length}) +@var{cred}: is a @code{gnutls_srp_server_credentials_t} structure + +@var{seed}: is the seed data, only needs to be valid until the function +returns; size of the seed must be greater than zero + +@var{salt_length}: is the length of the generated fake salts + +This function sets the seed that is used to generate salts for +invalid (non-existent) usernames. + +In order to prevent attackers from guessing valid usernames, +when a user does not exist gnutls generates a salt and a verifier +and proceeds with the protocol as usual. +The authentication will ultimately fail, but the client cannot tell +whether the username is valid (exists) or invalid. + +If an attacker learns the seed, given a salt (which is part of the +handshake) which was generated when the seed was in use, it can tell +whether or not the authentication failed because of an unknown username. +This seed cannot be used to reveal application data or passwords. + + @code{salt_length} should represent the salt length your application uses. +Generating fake salts longer than 20 bytes is not supported. + +By default the seed is a random value, different each time a +@code{gnutls_srp_server_credentials_t} is allocated and fake salts are +16 bytes long. + +@strong{Since:} 3.3.0 +@end deftypefun + @subheading gnutls_srp_verifier @anchor{gnutls_srp_verifier} @deftypefun {int} {gnutls_srp_verifier} (const char * @var{username}, const char * @var{password}, const gnutls_datum_t * @var{salt}, const gnutls_datum_t * @var{generator}, const gnutls_datum_t * @var{prime}, gnutls_datum_t * @var{res}) @@ -3687,9 +4843,150 @@ The verifier will be allocated with @code{gnutls_malloc} () and will be stored error code. @end deftypefun +@subheading gnutls_srtp_get_keys +@anchor{gnutls_srtp_get_keys} +@deftypefun {int} {gnutls_srtp_get_keys} (gnutls_session_t @var{session}, void * @var{key_material}, unsigned int @var{key_material_size}, gnutls_datum_t * @var{client_key}, gnutls_datum_t * @var{client_salt}, gnutls_datum_t * @var{server_key}, gnutls_datum_t * @var{server_salt}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{key_material}: Space to hold the generated key material + +@var{key_material_size}: The maximum size of the key material + +@var{client_key}: The master client write key, pointing inside the key material + +@var{client_salt}: The master client write salt, pointing inside the key material + +@var{server_key}: The master server write key, pointing inside the key material + +@var{server_salt}: The master server write salt, pointing inside the key material + +This is a helper function to generate the keying material for SRTP. +It requires the space of the key material to be pre-allocated (should be at least +2x the maximum key size and salt size). The @code{client_key} , @code{client_salt} , @code{server_key} and @code{server_salt} are convenience datums that point inside the key material. They may +be @code{NULL} . + +@strong{Returns:} On success the size of the key material is returned, +otherwise, @code{GNUTLS_E_SHORT_MEMORY_BUFFER} if the buffer given is not +sufficient, or a negative error code. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_get_mki +@anchor{gnutls_srtp_get_mki} +@deftypefun {int} {gnutls_srtp_get_mki} (gnutls_session_t @var{session}, gnutls_datum_t * @var{mki}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{mki}: will hold the MKI + +This function exports the negotiated Master Key Identifier, +received by the peer if any. The returned value in @code{mki} should be +treated as constant and valid only during the session's lifetime. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_get_profile_id +@anchor{gnutls_srtp_get_profile_id} +@deftypefun {int} {gnutls_srtp_get_profile_id} (const char * @var{name}, gnutls_srtp_profile_t * @var{profile}) +@var{name}: The name of the profile to look up + +@var{profile}: Will hold the profile id + +This function allows you to look up a profile based on a string. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_get_profile_name +@anchor{gnutls_srtp_get_profile_name} +@deftypefun {const char *} {gnutls_srtp_get_profile_name} (gnutls_srtp_profile_t @var{profile}) +@var{profile}: The profile to look up a string for + +This function allows you to get the corresponding name for a +SRTP protection profile. + +@strong{Returns:} On success, the name of a SRTP profile as a string, +otherwise NULL. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_get_selected_profile +@anchor{gnutls_srtp_get_selected_profile} +@deftypefun {int} {gnutls_srtp_get_selected_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t * @var{profile}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profile}: will hold the profile + +This function allows you to get the negotiated SRTP profile. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_set_mki +@anchor{gnutls_srtp_set_mki} +@deftypefun {int} {gnutls_srtp_set_mki} (gnutls_session_t @var{session}, const gnutls_datum_t * @var{mki}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{mki}: holds the MKI + +This function sets the Master Key Identifier, to be +used by this session (if any). + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_set_profile +@anchor{gnutls_srtp_set_profile} +@deftypefun {int} {gnutls_srtp_set_profile} (gnutls_session_t @var{session}, gnutls_srtp_profile_t @var{profile}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profile}: is the profile id to add. + +This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer. + +@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, +otherwise a negative error code is returned. + +Since 3.1.4 +@end deftypefun + +@subheading gnutls_srtp_set_profile_direct +@anchor{gnutls_srtp_set_profile_direct} +@deftypefun {int} {gnutls_srtp_set_profile_direct} (gnutls_session_t @var{session}, const char * @var{profiles}, const char ** @var{err_pos}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{profiles}: is a string that contains the supported SRTP profiles, +separated by colons. + +@var{err_pos}: In case of an error this will have the position in the string the error occured, may be NULL. + +This function is to be used by both clients and servers, to declare +what SRTP profiles they support, to negotiate with the peer. + +@strong{Returns:} On syntax error @code{GNUTLS_E_INVALID_REQUEST} is returned, +@code{GNUTLS_E_SUCCESS} on success, or an error code. + +Since 3.1.4 +@end deftypefun + @subheading gnutls_store_commitment @anchor{gnutls_store_commitment} -@deftypefun {int} {gnutls_store_commitment} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t* @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_store_commitment} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_digest_algorithm_t @var{hash_algo}, const gnutls_datum_t * @var{hash}, time_t @var{expiration}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default @@ -3724,7 +5021,7 @@ negative error value. @subheading gnutls_store_pubkey @anchor{gnutls_store_pubkey} -@deftypefun {int} {gnutls_store_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_store_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, time_t @var{expiration}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default @@ -3741,7 +5038,7 @@ negative error value. @var{flags}: should be 0. -This function will store the provided certificate to +This function will store the provided (raw or DER-encoded) certificate to the list of stored public keys. The key will be considered valid until the provided expiration time. @@ -3752,7 +5049,7 @@ default file backend will be used. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. -@strong{Since:} 3.0 +@strong{Since:} 3.0.13 @end deftypefun @subheading gnutls_strerror @@ -3786,7 +5083,7 @@ code. @subheading gnutls_supplemental_get_name @anchor{gnutls_supplemental_get_name} -@deftypefun {const char *} {gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) +@deftypefun {const char *} {gnutls_supplemental_get_name} (gnutls_supplemental_data_format_type_t @var{type}) @var{type}: is a supplemental data format type Convert a @code{gnutls_supplemental_data_format_type_t} value to a @@ -3806,7 +5103,7 @@ This function will deinitialize a public key trust storage structure. @subheading gnutls_tdb_init @anchor{gnutls_tdb_init} -@deftypefun {int} {gnutls_tdb_init} (gnutls_tdb_t* @var{tdb}) +@deftypefun {int} {gnutls_tdb_init} (gnutls_tdb_t * @var{tdb}) @var{tdb}: The structure to be initialized This function will initialize a public key trust storage structure. @@ -3817,7 +5114,7 @@ negative error value. @subheading gnutls_tdb_set_store_commitment_func @anchor{gnutls_tdb_set_store_commitment_func} -@deftypefun {void} {gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) +@deftypefun {void} {gnutls_tdb_set_store_commitment_func} (gnutls_tdb_t @var{tdb}, gnutls_tdb_store_commitment_func @var{cstore}) @var{tdb}: The trust storage @var{cstore}: The commitment storage function @@ -3859,6 +5156,36 @@ gnutls_tdb_verify_func(const char* db_name, const char* host, const char* service, const gnutls_datum_t* pubkey); @end deftypefun +@subheading gnutls_transport_get_int +@anchor{gnutls_transport_get_int} +@deftypefun {int} {gnutls_transport_get_int} (gnutls_session_t @var{session}) +@var{session}: is a @code{gnutls_session_t} structure. + +Used to get the first argument of the transport function (like +PUSH and PULL). This must have been set using +@code{gnutls_transport_set_int()} . + +@strong{Returns:} The first argument of the transport function. + +@strong{Since:} 3.1.9 +@end deftypefun + +@subheading gnutls_transport_get_int2 +@anchor{gnutls_transport_get_int2} +@deftypefun {void} {gnutls_transport_get_int2} (gnutls_session_t @var{session}, int * @var{recv_int}, int * @var{send_int}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{recv_int}: will hold the value for the pull function + +@var{send_int}: will hold the value for the push function + +Used to get the arguments of the transport functions (like PUSH +and PULL). These should have been set using +@code{gnutls_transport_set_int2()} . + +@strong{Since:} 3.1.9 +@end deftypefun + @subheading gnutls_transport_get_ptr @anchor{gnutls_transport_get_ptr} @deftypefun {gnutls_transport_ptr_t} {gnutls_transport_get_ptr} (gnutls_session_t @var{session}) @@ -3920,6 +5247,36 @@ and should return the errno. @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_transport_set_int +@anchor{gnutls_transport_set_int} +@deftypefun {void} {gnutls_transport_set_int} (gnutls_session_t @var{session}, int @var{i}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{i}: is the value. + +Used to set the first argument of the transport function (for push +and pull callbacks) for berkeley style sockets. + +@strong{Since:} 3.1.9 +@end deftypefun + +@subheading gnutls_transport_set_int2 +@anchor{gnutls_transport_set_int2} +@deftypefun {void} {gnutls_transport_set_int2} (gnutls_session_t @var{session}, int @var{recv_int}, int @var{send_int}) +@var{session}: is a @code{gnutls_session_t} structure. + +@var{recv_int}: is the value for the pull function + +@var{send_int}: is the value for the push function + +Used to set the first argument of the transport function (for push +and pull callbacks), when using the berkeley style sockets. +With this function you can set two different +pointers for receiving and sending. + +@strong{Since:} 3.1.9 +@end deftypefun + @subheading gnutls_transport_set_ptr @anchor{gnutls_transport_set_ptr} @deftypefun {void} {gnutls_transport_set_ptr} (gnutls_session_t @var{session}, gnutls_transport_ptr_t @var{ptr}) @@ -3976,11 +5333,13 @@ whether data are ready to be received. It should wait for data a given time frame in milliseconds. The callback should return 0 on timeout, a positive number if data can be received, and -1 on error. You'll need to override this function if @code{select()} is not suitable -for the provided transport calls. -The callback function is used in DTLS only. +for the provided transport calls. + +As with @code{select()} , if the timeout value is zero the callback should return +zero if no data are immediately available. @code{gnutls_pull_timeout_func} is of the form, -ssize_t (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms); +int (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms); @strong{Since:} 3.0 @end deftypefun @@ -4022,9 +5381,23 @@ ssize_t (*gnutls_vec_push_func) (gnutls_transport_ptr_t, const giovec_t * iov, i @strong{Since:} 2.12.0 @end deftypefun +@subheading gnutls_url_is_supported +@anchor{gnutls_url_is_supported} +@deftypefun {int} {gnutls_url_is_supported} (const char * @var{url}) +@var{url}: A PKCS 11 url + +Check whether url is supported. Depending on the system libraries +GnuTLS may support pkcs11 or tpmkey URLs. + +@strong{Returns:} return non-zero if the given URL is supported, and zero if +it is not known. + +@strong{Since:} 3.1.0 +@end deftypefun + @subheading gnutls_verify_stored_pubkey @anchor{gnutls_verify_stored_pubkey} -@deftypefun {int} {gnutls_verify_stored_pubkey} (const char* @var{db_name}, gnutls_tdb_t @var{tdb}, const char* @var{host}, const char* @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) +@deftypefun {int} {gnutls_verify_stored_pubkey} (const char * @var{db_name}, gnutls_tdb_t @var{tdb}, const char * @var{host}, const char * @var{service}, gnutls_certificate_type_t @var{cert_type}, const gnutls_datum_t * @var{cert}, unsigned int @var{flags}) @var{db_name}: A file specifying the stored keys (use NULL for the default) @var{tdb}: A storage structure or NULL to use the default @@ -4039,8 +5412,8 @@ ssize_t (*gnutls_vec_push_func) (gnutls_transport_ptr_t, const giovec_t * iov, i @var{flags}: should be 0. -This function will try to verify the provided certificate using -a list of stored public keys. The @code{service} field if non-NULL should +This function will try to verify the provided (raw or DER-encoded) certificate +using a list of stored public keys. The @code{service} field if non-NULL should be a port number. The @code{retrieve} variable if non-null specifies a custom backend for @@ -4061,6 +5434,6 @@ is found but does not match @code{GNUTLS_E_CERTIFICATE_KEY_MISMATCH} is returned. On success, @code{GNUTLS_E_SUCCESS} (0) is returned, or a negative error value on other errors. -@strong{Since:} 3.0 +@strong{Since:} 3.0.13 @end deftypefun diff --git a/doc/gnutls-guile.html b/doc/gnutls-guile.html index a95f779..c4ba107 100644 --- a/doc/gnutls-guile.html +++ b/doc/gnutls-guile.html @@ -1,9 +1,9 @@ - - + -GnuTLS-Guile 3.0.30 +GnuTLS-Guile 3.3.5 - - + + +