From c952780c25f67d0645ef5e57a8ac7dae6ce2d586 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Tue, 21 Jun 2016 07:03:34 -0400 Subject: [PATCH] More doc cleanup Add missing entries to NAME section Add SYNOPSIS lines, remove old NAME entries Update find-doc-nits; better regexp's for parsing SYNOPSIS sections. Rename a couple of files to have an API name. Remove RSA_private_decrypt; it was duplicate content Update for recent doc additions Reviewed-by: Matt Caswell --- doc/crypto/ASN1_STRING_length.pod | 2 +- doc/crypto/ASYNC_start_job.pod | 2 +- doc/crypto/BIO_f_buffer.pod | 5 ++ doc/crypto/BIO_f_ssl.pod | 4 +- doc/crypto/BIO_find_type.pod | 6 ++ doc/crypto/BIO_get_ex_new_index.pod | 26 ++++-- doc/crypto/BIO_s_accept.pod | 1 + doc/crypto/BIO_s_connect.pod | 5 +- doc/crypto/BIO_s_mem.pod | 1 + doc/crypto/BIO_s_socket.pod | 16 ---- doc/crypto/BIO_should_retry.pod | 2 + doc/crypto/BN_CTX_new.pod | 2 +- doc/crypto/BN_bn2bin.pod | 1 + doc/crypto/BN_mod_mul_montgomery.pod | 22 +----- doc/crypto/BN_mod_mul_reciprocal.pod | 27 +------ doc/crypto/BUF_MEM_new.pod | 22 ++++-- doc/crypto/CMS_get0_RecipientInfos.pod | 7 +- doc/crypto/CMS_get0_SignerInfos.pod | 5 +- doc/crypto/CRYPTO_get_ex_new_index.pod | 9 ++- doc/crypto/DEFINE_STACK_OF.pod | 10 ++- doc/crypto/DH_get_1024_160.pod | 74 +++++++++++++++++ doc/crypto/DSA_SIG_new.pod | 1 + doc/crypto/ECDSA_SIG_new.pod | 1 + doc/crypto/EC_GROUP_copy.pod | 12 ++- doc/crypto/EC_GROUP_new.pod | 1 + doc/crypto/EC_KEY_new.pod | 1 + doc/crypto/EC_POINT_new.pod | 21 ++--- doc/crypto/ENGINE_add.pod | 42 +++++++++- doc/crypto/ERR_print_errors.pod | 9 ++- doc/crypto/ERR_put_error.pod | 2 + doc/crypto/EVP_DigestInit.pod | 7 -- doc/crypto/EVP_EncryptInit.pod | 5 +- doc/crypto/EVP_MD_meth_new.pod | 9 ++- doc/crypto/EVP_PKEY_HKDF.pod | 2 +- ...od => EVP_PKEY_get_default_digest_nid.pod} | 0 doc/crypto/EVP_PKEY_keygen.pod | 5 +- doc/crypto/EVP_PKEY_set1_RSA.pod | 4 +- doc/crypto/EVP_SignInit.pod | 1 + doc/crypto/EVP_VerifyInit.pod | 4 +- doc/crypto/OBJ_nid2obj.pod | 26 +++--- ...d_status.pod => OCSP_resp_find_status.pod} | 5 +- doc/crypto/OPENSSL_init_crypto.pod | 1 + doc/crypto/OPENSSL_instrument_bus.pod | 8 +- doc/crypto/OPENSSL_malloc.pod | 15 +++- doc/crypto/OPENSSL_secure_malloc.pod | 2 +- doc/crypto/PEM_read.pod | 2 +- doc/crypto/PEM_read_bio_PrivateKey.pod | 2 +- doc/crypto/PKCS7_verify.pod | 1 + ...{RIPEMD160_init.pod => RIPEMD160_Init.pod} | 0 doc/crypto/RSA_check_key.pod | 2 +- doc/crypto/RSA_meth_new.pod | 3 +- doc/crypto/RSA_private_decrypt.pod | 79 ------------------- doc/crypto/UI_new.pod | 6 +- doc/crypto/X509V3_get_d2i.pod | 3 +- doc/crypto/X509_NAME_get0_der.pod | 2 + doc/crypto/X509_STORE_CTX_new.pod | 1 + doc/crypto/X509_dup.pod | 2 + doc/crypto/X509_get_extension_flags.pod | 1 + doc/crypto/X509_new.pod | 1 + doc/crypto/X509v3_get_ext_by_NID.pod | 15 +--- ...ateKey.pod => d2i_PKCS8PrivateKey_bio.pod} | 0 doc/crypto/d2i_PrivateKey.pod | 2 +- doc/ssl/SSL_CIPHER_get_name.pod | 6 +- doc/ssl/SSL_CONF_cmd.pod | 1 + doc/ssl/SSL_CTX_new.pod | 5 +- doc/ssl/SSL_CTX_set_default_passwd_cb.pod | 41 +++++----- doc/ssl/SSL_CTX_set_read_ahead.pod | 2 +- doc/ssl/SSL_CTX_use_certificate.pod | 12 ++- ...name.pod => SSL_SESSION_get0_hostname.pod} | 0 doc/ssl/SSL_SESSION_get_time.pod | 5 +- doc/ssl/SSL_SESSION_has_ticket.pod | 6 +- ...li_ext.pod => SSL_extension_supported.pod} | 4 +- doc/ssl/SSL_get_ciphers.pod | 4 +- doc/ssl/SSL_set_bio.pod | 2 + util/find-doc-nits.pl | 5 +- 75 files changed, 380 insertions(+), 268 deletions(-) create mode 100644 doc/crypto/DH_get_1024_160.pod rename doc/crypto/{EVP_PKEY_get_default_digest.pod => EVP_PKEY_get_default_digest_nid.pod} (100%) rename doc/crypto/{OCSP_response_find_status.pod => OCSP_resp_find_status.pod} (97%) rename doc/crypto/{RIPEMD160_init.pod => RIPEMD160_Init.pod} (100%) delete mode 100644 doc/crypto/RSA_private_decrypt.pod rename doc/crypto/{d2i_PKCS8PrivateKey.pod => d2i_PKCS8PrivateKey_bio.pod} (100%) rename doc/ssl/{SSL_SESSION_get_hostname.pod => SSL_SESSION_get0_hostname.pod} (100%) rename doc/ssl/{SSL_CTX_set_custom_cli_ext.pod => SSL_extension_supported.pod} (98%) diff --git a/doc/crypto/ASN1_STRING_length.pod b/doc/crypto/ASN1_STRING_length.pod index 78513f8a89e..a51d9844548 100644 --- a/doc/crypto/ASN1_STRING_length.pod +++ b/doc/crypto/ASN1_STRING_length.pod @@ -3,7 +3,7 @@ =head1 NAME ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, -ASN1_STRING_length_set, ASN1_STRING_type, ASN1_STRING_data, ASN1_STRING_to_UTF8 - +ASN1_STRING_type, ASN1_STRING_data, ASN1_STRING_to_UTF8 - ASN1_STRING utility functions =head1 SYNOPSIS diff --git a/doc/crypto/ASYNC_start_job.pod b/doc/crypto/ASYNC_start_job.pod index b5139a34a99..20bc1ad2aa0 100644 --- a/doc/crypto/ASYNC_start_job.pod +++ b/doc/crypto/ASYNC_start_job.pod @@ -2,8 +2,8 @@ =head1 NAME +ASYNC_get_wait_ctx, ASYNC_init_thread, ASYNC_cleanup_thread, ASYNC_start_job, ASYNC_pause_job, -ASYNC_in_job, ASYNC_get_wait_fd, ASYNC_set_wait_fd, ASYNC_clear_wait_fd, ASYNC_get_current_job, ASYNC_block_pause, ASYNC_unblock_pause, ASYNC_is_capable - asynchronous job management functions diff --git a/doc/crypto/BIO_f_buffer.pod b/doc/crypto/BIO_f_buffer.pod index 68811c3c930..286a39c9ed4 100644 --- a/doc/crypto/BIO_f_buffer.pod +++ b/doc/crypto/BIO_f_buffer.pod @@ -2,6 +2,11 @@ =head1 NAME +BIO_get_buffer_num_lines, +BIO_set_read_buffer_size, +BIO_set_write_buffer_size, +BIO_set_buffer_size, +BIO_set_buffer_read_data, BIO_f_buffer - buffering BIO =head1 SYNOPSIS diff --git a/doc/crypto/BIO_f_ssl.pod b/doc/crypto/BIO_f_ssl.pod index 4c9da6a2cad..40071301501 100644 --- a/doc/crypto/BIO_f_ssl.pod +++ b/doc/crypto/BIO_f_ssl.pod @@ -2,7 +2,9 @@ =head1 NAME -BIO_f_ssl, BIO_set_ssl, BIO_get_ssl, BIO_set_ssl_mode, BIO_set_ssl_renegotiate_bytes, +BIO_do_handshake, +BIO_f_ssl, BIO_set_ssl, BIO_get_ssl, BIO_set_ssl_mode, +BIO_set_ssl_renegotiate_bytes, BIO_get_num_renegotiates, BIO_set_ssl_renegotiate_timeout, BIO_new_ssl, BIO_new_ssl_connect, BIO_new_buffer_ssl_connect, BIO_ssl_copy_session_id, BIO_ssl_shutdown - SSL BIO diff --git a/doc/crypto/BIO_find_type.pod b/doc/crypto/BIO_find_type.pod index c5029837b01..f03071ad9b2 100644 --- a/doc/crypto/BIO_find_type.pod +++ b/doc/crypto/BIO_find_type.pod @@ -2,6 +2,12 @@ =head1 NAME +BIO_TYPE_NONE, BIO_TYPE_MEM, BIO_TYPE_FILE, BIO_TYPE_FD, BIO_TYPE_SOCKET, +BIO_TYPE_NULL, BIO_TYPE_SSL, BIO_TYPE_MD, BIO_TYPE_BUFFER, BIO_TYPE_CIPHER, +BIO_TYPE_BASE64, BIO_TYPE_CONNECT, BIO_TYPE_ACCEPT, BIO_TYPE_PROXY_CLIENT, +BIO_TYPE_PROXY_SERVER, BIO_TYPE_NBIO_TEST, BIO_TYPE_NULL_FILTER, +BIO_TYPE_BER, BIO_TYPE_BIO, BIO_TYPE_DESCRIPTOR, BIO_TYPE_FILTER, +BIO_TYPE_SOURCE_SINK, BIO_find_type, BIO_next, BIO_method_type - BIO chain traversal =head1 SYNOPSIS diff --git a/doc/crypto/BIO_get_ex_new_index.pod b/doc/crypto/BIO_get_ex_new_index.pod index 21e5bb76aba..3e24f10bc3c 100644 --- a/doc/crypto/BIO_get_ex_new_index.pod +++ b/doc/crypto/BIO_get_ex_new_index.pod @@ -15,28 +15,38 @@ ECDSA_get_ex_new_index, ECDSA_set_ex_data, ECDSA_get_ex_data, RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data - application-specific data -=head1 SYNOPSIS +=for comment generic -The synopsis below is for the X509 structure, but is the same for all -crypto structures: +=head1 SYNOPSIS #include - int X509_get_ex_new_index(long argl, void *argp, + int TYPE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - int X509_set_ex_data(X509 *d, int idx, void *arg); + int TYPE_set_ex_data(TYPE *d, int idx, void *arg); - void *X509_get_ex_data(X509 *d, int idx); + void *TYPE_get_ex_data(TYPE *d, int idx); =head1 DESCRIPTION -These functions handle application-specific data for OpenSSL crypto +In the description here, I is used a placeholder +for any of the OpenSSL datatypes listed in +L. + +These functions handle application-specific data for OpenSSL data structures. -For details, see L. +TYPE_get_new_ex_index() is a macro that calls CRYPTO_get_ex_new_index() +with the correct B value. + +TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data() with +an offset into the opaque exdata part of the TYPE object. + +TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data() with an +an offset into the opaque exdata part of the TYPE object. =head1 SEE ALSO diff --git a/doc/crypto/BIO_s_accept.pod b/doc/crypto/BIO_s_accept.pod index ad7bfaac4b0..a9259ab217d 100644 --- a/doc/crypto/BIO_s_accept.pod +++ b/doc/crypto/BIO_s_accept.pod @@ -2,6 +2,7 @@ =head1 NAME +BIO_BIND_NORMAL, BIO_BIND_REUSEADDR_IF_UNUSED, BIO_BIND_REUSEADDR, BIO_s_accept, BIO_set_accept_port, BIO_get_accept_port, BIO_new_accept, BIO_set_nbio_accept, BIO_set_accept_bios, BIO_set_bind_mode, BIO_get_bind_mode, BIO_do_accept - accept BIO diff --git a/doc/crypto/BIO_s_connect.pod b/doc/crypto/BIO_s_connect.pod index d97d5899a52..29192a6cf0c 100644 --- a/doc/crypto/BIO_s_connect.pod +++ b/doc/crypto/BIO_s_connect.pod @@ -2,9 +2,10 @@ =head1 NAME +BIO_set_conn_address, BIO_get_conn_address, BIO_s_connect, BIO_new_connect, BIO_set_conn_hostname, BIO_set_conn_port, -BIO_set_conn_ip, BIO_set_conn_int_port, BIO_get_conn_hostname, -BIO_get_conn_port, BIO_get_conn_ip, BIO_get_conn_int_port, +BIO_get_conn_hostname, +BIO_get_conn_port, BIO_set_nbio, BIO_do_connect - connect BIO =head1 SYNOPSIS diff --git a/doc/crypto/BIO_s_mem.pod b/doc/crypto/BIO_s_mem.pod index 56d10bd8dd0..afde930906e 100644 --- a/doc/crypto/BIO_s_mem.pod +++ b/doc/crypto/BIO_s_mem.pod @@ -2,6 +2,7 @@ =head1 NAME +BIO_s_secmem, BIO_s_mem, BIO_set_mem_eof_return, BIO_get_mem_data, BIO_set_mem_buf, BIO_get_mem_ptr, BIO_new_mem_buf - memory BIO diff --git a/doc/crypto/BIO_s_socket.pod b/doc/crypto/BIO_s_socket.pod index 88aaa88c496..ad0574aee66 100644 --- a/doc/crypto/BIO_s_socket.pod +++ b/doc/crypto/BIO_s_socket.pod @@ -10,9 +10,6 @@ BIO_s_socket, BIO_new_socket - socket BIO const BIO_METHOD *BIO_s_socket(void); - long BIO_set_fd(BIO *b, int fd, long close_flag); - long BIO_get_fd(BIO *b, int *c); - BIO *BIO_new_socket(int sock, int close_flag); =head1 DESCRIPTION @@ -26,12 +23,6 @@ BIO_puts() is supported but BIO_gets() is not. If the close flag is set then the socket is shut down and closed when the BIO is freed. -BIO_set_fd() sets the socket of BIO B to B and the close -flag to B. - -BIO_get_fd() places the socket in B if it is not NULL, it also -returns the socket. If B is not NULL it should be of type (int *). - BIO_new_socket() returns a socket BIO using B and B. =head1 NOTES @@ -44,17 +35,10 @@ platforms sockets are not file descriptors and use distinct I/O routines, Windows is one such platform. Any code mixing the two will not work on all platforms. -BIO_set_fd() and BIO_get_fd() are macros. - =head1 RETURN VALUES BIO_s_socket() returns the socket BIO method. -BIO_set_fd() always returns 1. - -BIO_get_fd() returns the socket or -1 if the BIO has not been -initialized. - BIO_new_socket() returns the newly allocated BIO or NULL is an error occurred. diff --git a/doc/crypto/BIO_should_retry.pod b/doc/crypto/BIO_should_retry.pod index fc728ff9f27..2a6485af9a7 100644 --- a/doc/crypto/BIO_should_retry.pod +++ b/doc/crypto/BIO_should_retry.pod @@ -2,6 +2,8 @@ =head1 NAME +BIO_FLAGS_READ, BIO_FLAGS_WRITE, BIO_FLAGS_IO_SPECIAL, BIO_FLAGS_RWS, +BIO_FLAGS_SHOULD_RETRY, BIO_should_read, BIO_should_write, BIO_should_io_special, BIO_retry_type, BIO_should_retry, BIO_get_retry_BIO, BIO_get_retry_reason, BIO_set_retry_reason - BIO retry diff --git a/doc/crypto/BN_CTX_new.pod b/doc/crypto/BN_CTX_new.pod index f2edd49a977..ca54590517e 100644 --- a/doc/crypto/BN_CTX_new.pod +++ b/doc/crypto/BN_CTX_new.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_CTX_new, BN_CTX_secure_new, BN_CTX_init, BN_CTX_free - allocate and free BN_CTX structures +BN_CTX_new, BN_CTX_secure_new, BN_CTX_free - allocate and free BN_CTX structures =head1 SYNOPSIS diff --git a/doc/crypto/BN_bn2bin.pod b/doc/crypto/BN_bn2bin.pod index b0a8b50d5ea..14b152e4309 100644 --- a/doc/crypto/BN_bn2bin.pod +++ b/doc/crypto/BN_bn2bin.pod @@ -2,6 +2,7 @@ =head1 NAME +BN_bn2binpad, BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, BN_bn2hex, BN_bn2dec, BN_hex2bn, BN_dec2bn, BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn - format conversions diff --git a/doc/crypto/BN_mod_mul_montgomery.pod b/doc/crypto/BN_mod_mul_montgomery.pod index 152185f6f24..bf1ef343cda 100644 --- a/doc/crypto/BN_mod_mul_montgomery.pod +++ b/doc/crypto/BN_mod_mul_montgomery.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_mod_mul_montgomery, BN_MONT_CTX_new, BN_MONT_CTX_init, +BN_mod_mul_montgomery, BN_MONT_CTX_new, BN_MONT_CTX_free, BN_MONT_CTX_set, BN_MONT_CTX_copy, BN_from_montgomery, BN_to_montgomery - Montgomery multiplication @@ -69,26 +69,6 @@ The error codes can be obtained by L. The inputs must be reduced modulo B, otherwise the result will be outside the expected range. -=head1 REMOVED FUNCTIONALITY - - void BN_MONT_CTX_init(BN_MONT_CTX *c); - -BN_MONT_CTX_init() is no longer available as of OpenSSL 1.1.0. It was used to -initialize an existing uninitialized B. Typically this would be -done as follows: - - BN_MONT_CTX ctx; - BN_MONT_CTX_init(&ctx); - -Instead applications should create a BN_MONT_CTX structure using -BN_MONT_CTX_new: - - BN_MONT_CTX *ctx; - ctx = BN_MONT_CTX_new(); - if(!ctx) /* handle error */ - ... - BN_MONT_CTX_free(ctx); - =head1 SEE ALSO L, L, L, diff --git a/doc/crypto/BN_mod_mul_reciprocal.pod b/doc/crypto/BN_mod_mul_reciprocal.pod index 86fb4863859..23832b3b6cc 100644 --- a/doc/crypto/BN_mod_mul_reciprocal.pod +++ b/doc/crypto/BN_mod_mul_reciprocal.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, BN_RECP_CTX_init, +BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, BN_RECP_CTX_free, BN_RECP_CTX_set - modular multiplication using reciprocal @@ -30,7 +30,6 @@ using B=1/B, which is set as described below. B is a previously allocated B used for temporary variables. BN_RECP_CTX_new() allocates and initializes a B structure. -BN_RECP_CTX_init() initializes an existing uninitialized B. BN_RECP_CTX_free() frees the components of the B, and, if it was created by BN_RECP_CTX_new(), also the structure itself. @@ -51,31 +50,11 @@ The B structure cannot be shared between threads. BN_RECP_CTX_new() returns the newly allocated B, and NULL on error. -BN_RECP_CTX_init() and BN_RECP_CTX_free() have no return values. +BN_RECP_CTX_free() has no return value. For the other functions, 1 is returned for success, 0 on error. The error codes can be obtained by L. -=head1 REMOVED FUNCTIONALITY - - void BN_RECP_CTX_init(BN_RECP_CTX *recp); - -BN_RECP_CTX_init() is no longer available as of OpenSSL 1.1.0. It was used to -initialize an existing uninitialized B. Typically this would be -done as follows: - - BN_RECP_CTX ctx; - BN_RECP_CTX_init(&ctx); - -Applications should replace use of BN_RECP_CTX_init with BN_RECP_CTX_new -instead: - - BN_RECP_CTX *ctx; - ctx = BN_RECP_CTX_new(); - if(!ctx) /* Handle error */ - ... - BN_RECP_CTX_free(ctx); - =head1 SEE ALSO L, L, L, @@ -83,7 +62,7 @@ L =head1 HISTORY -BN_RECP_CTX_init was removed in OpenSSL 1.1.0 +BN_RECP_CTX_init() was removed in OpenSSL 1.1.0 =head1 COPYRIGHT diff --git a/doc/crypto/BUF_MEM_new.pod b/doc/crypto/BUF_MEM_new.pod index 16fe3daa844..1a975776aa4 100644 --- a/doc/crypto/BUF_MEM_new.pod +++ b/doc/crypto/BUF_MEM_new.pod @@ -2,8 +2,10 @@ =head1 NAME -BUF_MEM_new, BUF_MEM_new_ex, BUF_MEM_free, BUF_MEM_grow - simple -character array structure +BUF_MEM_FLAG_SECURE, +BUF_MEM_new, BUF_MEM_new_ex, BUF_MEM_free, BUF_MEM_grow +BUF_MEM_grow_clean, BUF_reverse +- simple character array structure standard C library equivalents @@ -17,9 +19,12 @@ standard C library equivalents BUF_MEM *BUF_MEM_new_ex(unsigned long flags); - void BUF_MEM_free(BUF_MEM *a); + void BUF_MEM_free(BUF_MEM *a); - int BUF_MEM_grow(BUF_MEM *str, int len); + int BUF_MEM_grow(BUF_MEM *str, int len); + size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len); + + void BUF_reverse(unsigned char *out, const unsigned char *in, size_t size); =head1 DESCRIPTION @@ -39,13 +44,20 @@ BUF_MEM_grow() changes the size of an already existing buffer to B. Any data already in the buffer is preserved if it increases in size. +BUF_MEM_grow_clean() is similar to BUF_MEM_grow() but it sets any free'd +or additionally-allocated memory to zero. + +BUF_reverse() reverses B bytes at B into B. If B +is NULL, the array is reversed in-place. + =head1 RETURN VALUES BUF_MEM_new() returns the buffer or NULL on error. BUF_MEM_free() has no return value. -BUF_MEM_grow() returns zero on error or the new size (i.e. B). +BUF_MEM_grow() and BUF_MEM_grow_clean() return +zero on error or the new size (i.e., B). =head1 SEE ALSO diff --git a/doc/crypto/CMS_get0_RecipientInfos.pod b/doc/crypto/CMS_get0_RecipientInfos.pod index 9f0b4ebe3a8..6c33c224e9b 100644 --- a/doc/crypto/CMS_get0_RecipientInfos.pod +++ b/doc/crypto/CMS_get0_RecipientInfos.pod @@ -2,7 +2,12 @@ =head1 NAME -CMS_get0_RecipientInfos, CMS_RecipientInfo_type, CMS_RecipientInfo_ktri_get0_signer_id,CMS_RecipientInfo_ktri_cert_cmp, CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id, CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key, CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt - CMS envelopedData RecipientInfo routines +CMS_get0_RecipientInfos, CMS_RecipientInfo_type, +CMS_RecipientInfo_ktri_get0_signer_id, CMS_RecipientInfo_ktri_cert_cmp, +CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id, +CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key, +CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt +- CMS envelopedData RecipientInfo routines =head1 SYNOPSIS diff --git a/doc/crypto/CMS_get0_SignerInfos.pod b/doc/crypto/CMS_get0_SignerInfos.pod index 303e8754e2a..c8071591f3f 100644 --- a/doc/crypto/CMS_get0_SignerInfos.pod +++ b/doc/crypto/CMS_get0_SignerInfos.pod @@ -2,7 +2,10 @@ =head1 NAME -CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp, CMS_set1_signer_cert - CMS signedData signer functions +CMS_SignerInfo_set1_signer_cert, +CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, +CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp, +- CMS signedData signer functions =head1 SYNOPSIS diff --git a/doc/crypto/CRYPTO_get_ex_new_index.pod b/doc/crypto/CRYPTO_get_ex_new_index.pod index f0e19b1eb19..17110f76d24 100644 --- a/doc/crypto/CRYPTO_get_ex_new_index.pod +++ b/doc/crypto/CRYPTO_get_ex_new_index.pod @@ -2,8 +2,9 @@ =head1 NAME +CRYPTO_EX_new, CRYPTO_EX_free, CRYPTO_EX_dup, CRYPTO_free_ex_index, CRYPTO_get_ex_new_index, CRYPTO_set_ex_data, -CRYPTO_get_ex_data, CRYPTO_free_ex_data +CRYPTO_get_ex_data, CRYPTO_free_ex_data, CRYPTO_new_ex_data - functions supporting application-specific data =head1 SYNOPSIS @@ -23,6 +24,8 @@ CRYPTO_get_ex_data, CRYPTO_free_ex_data typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, int idx, long argl, void *argp); + int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad) + int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg); void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx); @@ -59,6 +62,10 @@ The API described here is used by OpenSSL to manipulate exdata for specific structures. Since the application data can be anything at all it is passed and retrieved as a B type. +The B type is opaque. To initialize the exdata part of +a structure, call CRYPTO_new_ex_data(). This is only necessary for +B objects. + Exdata types are identified by an B, an integer guaranteed to be unique within structures for the lifetime of the program. Applications using exdata typically call B at startup, and diff --git a/doc/crypto/DEFINE_STACK_OF.pod b/doc/crypto/DEFINE_STACK_OF.pod index d32fb2177a6..996bfcd64c8 100644 --- a/doc/crypto/DEFINE_STACK_OF.pod +++ b/doc/crypto/DEFINE_STACK_OF.pod @@ -3,6 +3,12 @@ =head1 NAME DEFINE_STACK_OF, DEFINE_STACK_OF_CONST, DEFINE_SPECIAL_STACK_OF, +OPENSSL_sk_deep_copy, OPENSSL_sk_delete, OPENSSL_sk_delete_ptr, +OPENSSL_sk_dup, OPENSSL_sk_find, OPENSSL_sk_find_ex, OPENSSL_sk_free, +OPENSSL_sk_insert, OPENSSL_sk_is_sorted, OPENSSL_sk_new, OPENSSL_sk_new_null, +OPENSSL_sk_num, OPENSSL_sk_pop, OPENSSL_sk_pop_free, OPENSSL_sk_push, +OPENSSL_sk_set, OPENSSL_sk_set_cmp_func, OPENSSL_sk_shift, OPENSSL_sk_sort, +OPENSSL_sk_unshift, OPENSSL_sk_value, OPENSSL_sk_zero, sk_TYPE_num, sk_TYPE_value, sk_TYPE_new, sk_TYPE_new_null, sk_TYPE_free, sk_TYPE_zero, sk_TYPE_delete, sk_TYPE_delete_ptr, sk_TYPE_push, sk_TYPE_unshift, sk_TYPE_pop, sk_TYPE_shift, sk_TYPE_pop_free, @@ -53,7 +59,9 @@ stack container =head1 DESCRIPTION Applications can create and use their own stacks by placing any of the macros -described below in a header file. In the description below, I is used +described below in a header file. These macros define typesafe inline +functions that wrap around the utility B API. +In the description here, I is used as a placeholder for any of the OpenSSL datatypes, such as I. DEFINE_STACK_OF(TYPE) creates set of functions for a stack of B. This diff --git a/doc/crypto/DH_get_1024_160.pod b/doc/crypto/DH_get_1024_160.pod new file mode 100644 index 00000000000..4044f104185 --- /dev/null +++ b/doc/crypto/DH_get_1024_160.pod @@ -0,0 +1,74 @@ +=pod + +=head1 NAME + +DH_get_1024_160, +DH_get_2048_224, +DH_get_2048_256, +BN_get0_nist_prime_192, +BN_get0_nist_prime_224, +BN_get0_nist_prime_256, +BN_get0_nist_prime_384, +BN_get0_nist_prime_521, +BN_get_rfc2409_prime_768, +BN_get_rfc2409_prime_1024, +BN_get_rfc3526_prime_1536, +BN_get_rfc3526_prime_2048, +BN_get_rfc3526_prime_3072, +BN_get_rfc3526_prime_4096, +BN_get_rfc3526_prime_6144, +BN_get_rfc3526_prime_8192 +- Create standardized public primes or DH pairs + +=head1 SYNOPSIS + + #include + DH *DH_get_1024_160(void) + DH *DH_get_2048_224(void) + DH *DH_get_2048_256(void) + + const BIGNUM *BN_get0_nist_prime_192(void) + const BIGNUM *BN_get0_nist_prime_224(void) + const BIGNUM *BN_get0_nist_prime_256(void) + const BIGNUM *BN_get0_nist_prime_384(void) + const BIGNUM *BN_get0_nist_prime_521(void) + + BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn) + BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn) + BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn) + +=head1 DESCRIPTION + +DH_get_1024_160(), DH_get_2048_224(), and DH_get_2048_256() each return +a DH object for the IETF RFC 5114 value. + +BN_get0_nist_prime_192(), BN_get0_nist_prime_224(), BN_get0_nist_prime_256(), +BN_get0_nist_prime_384(), and BN_get0_nist_prime_521() functions return +a BIGNUM for the specific NIST prime curve (e.g., P-256). + +BN_get_rfc2409_prime_768(), BN_get_rfc2409_prime_1024(), +BN_get_rfc3526_prime_1536(), BN_get_rfc3526_prime_2048(), +BN_get_rfc3526_prime_3072(), BN_get_rfc3526_prime_4096(), +BN_get_rfc3526_prime_6144(), and BN_get_rfc3526_prime_8192() functions +return a BIGNUM for the specified size from IETF RFC 2409. If B +is not NULL, the BIGNUM will be set into that location as well. + +=head1 RETURN VALUES + +Defined above. + +=head1 COPYRIGHT + +Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/doc/crypto/DSA_SIG_new.pod b/doc/crypto/DSA_SIG_new.pod index f2696801a66..7f6a5a121a3 100644 --- a/doc/crypto/DSA_SIG_new.pod +++ b/doc/crypto/DSA_SIG_new.pod @@ -2,6 +2,7 @@ =head1 NAME +DSA_SIG_get0, DSA_SIG_set0, DSA_SIG_new, DSA_SIG_free - allocate and free DSA signature objects =head1 SYNOPSIS diff --git a/doc/crypto/ECDSA_SIG_new.pod b/doc/crypto/ECDSA_SIG_new.pod index e2015f100ef..b6545c92e6c 100644 --- a/doc/crypto/ECDSA_SIG_new.pod +++ b/doc/crypto/ECDSA_SIG_new.pod @@ -2,6 +2,7 @@ =head1 NAME +ECDSA_SIG_get0, ECDSA_SIG_set0, ECDSA_SIG_new, ECDSA_SIG_free, i2d_ECDSA_SIG, d2i_ECDSA_SIG, ECDSA_size, ECDSA_sign, ECDSA_do_sign, ECDSA_verify, ECDSA_do_verify, ECDSA_sign_setup, ECDSA_sign_ex, ECDSA_do_sign_ex - low level elliptic curve digital signature diff --git a/doc/crypto/EC_GROUP_copy.pod b/doc/crypto/EC_GROUP_copy.pod index aef888736a9..6b398dfefc2 100644 --- a/doc/crypto/EC_GROUP_copy.pod +++ b/doc/crypto/EC_GROUP_copy.pod @@ -2,7 +2,17 @@ =head1 NAME -EC_GROUP_copy, EC_GROUP_dup, EC_GROUP_method_of, EC_GROUP_set_generator, EC_GROUP_get0_generator, EC_GROUP_get_order, EC_GROUP_get_cofactor, EC_GROUP_set_curve_name, EC_GROUP_get_curve_name, EC_GROUP_set_asn1_flag, EC_GROUP_get_asn1_flag, EC_GROUP_set_point_conversion_form, EC_GROUP_get_point_conversion_form, EC_GROUP_get0_seed, EC_GROUP_get_seed_len, EC_GROUP_set_seed, EC_GROUP_get_degree, EC_GROUP_check, EC_GROUP_check_discriminant, EC_GROUP_cmp, EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis, EC_GROUP_get_pentanomial_basis - Functions for manipulating EC_GROUP objects +EC_GROUP_get0_order, EC_GROUP_order_bits, EC_GROUP_get0_cofactor, +EC_GROUP_copy, EC_GROUP_dup, EC_GROUP_method_of, EC_GROUP_set_generator, +EC_GROUP_get0_generator, EC_GROUP_get_order, EC_GROUP_get_cofactor, +EC_GROUP_set_curve_name, EC_GROUP_get_curve_name, EC_GROUP_set_asn1_flag, +EC_GROUP_get_asn1_flag, EC_GROUP_set_point_conversion_form, +EC_GROUP_get_point_conversion_form, EC_GROUP_get0_seed, +EC_GROUP_get_seed_len, EC_GROUP_set_seed, EC_GROUP_get_degree, +EC_GROUP_check, EC_GROUP_check_discriminant, EC_GROUP_cmp, +EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis, +EC_GROUP_get_pentanomial_basis +- Functions for manipulating EC_GROUP objects =head1 SYNOPSIS diff --git a/doc/crypto/EC_GROUP_new.pod b/doc/crypto/EC_GROUP_new.pod index 7cf0f007d7e..25129100b6d 100644 --- a/doc/crypto/EC_GROUP_new.pod +++ b/doc/crypto/EC_GROUP_new.pod @@ -2,6 +2,7 @@ =head1 NAME +EC_GROUP_get_ecparameters, EC_GROUP_get_ecpkparameters, EC_GROUP_new, EC_GROUP_new_from_ecparameters, EC_GROUP_new_from_ecpkparameters, EC_GROUP_free, EC_GROUP_clear_free, EC_GROUP_new_curve_GFp, diff --git a/doc/crypto/EC_KEY_new.pod b/doc/crypto/EC_KEY_new.pod index 548165bc43c..b6bd432579e 100644 --- a/doc/crypto/EC_KEY_new.pod +++ b/doc/crypto/EC_KEY_new.pod @@ -2,6 +2,7 @@ =head1 NAME +EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags, EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, EC_KEY_dup, EC_KEY_up_ref, EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key, diff --git a/doc/crypto/EC_POINT_new.pod b/doc/crypto/EC_POINT_new.pod index 0a27cd2575c..206648c83b1 100644 --- a/doc/crypto/EC_POINT_new.pod +++ b/doc/crypto/EC_POINT_new.pod @@ -2,15 +2,18 @@ =head1 NAME -EC_POINT_new, EC_POINT_free, EC_POINT_clear_free, EC_POINT_copy, EC_POINT_dup, -EC_POINT_method_of, EC_POINT_set_to_infinity, -EC_POINT_set_Jprojective_coordinates, EC_POINT_get_Jprojective_coordinates_GFp, -EC_POINT_set_affine_coordinates_GFp, EC_POINT_get_affine_coordinates_GFp, -EC_POINT_set_compressed_coordinates_GFp, EC_POINT_set_affine_coordinates_GF2m, -EC_POINT_get_affine_coordinates_GF2m, EC_POINT_set_compressed_coordinates_GF2m, -EC_POINT_point2oct, EC_POINT_oct2point, EC_POINT_point2bn, EC_POINT_bn2point, -EC_POINT_point2hex, EC_POINT_hex2point - Functions for creating, destroying and -manipulating EC_POINT objects +EC_POINT_set_Jprojective_coordinates_GFp, EC_POINT_point2buf, +EC_POINT_new, EC_POINT_free, EC_POINT_clear_free, +EC_POINT_copy, EC_POINT_dup, EC_POINT_method_of, +EC_POINT_set_to_infinity, +EC_POINT_get_Jprojective_coordinates_GFp, +EC_POINT_set_affine_coordinates_GFp, +EC_POINT_get_affine_coordinates_GFp, EC_POINT_set_compressed_coordinates_GFp, +EC_POINT_set_affine_coordinates_GF2m, EC_POINT_get_affine_coordinates_GF2m, +EC_POINT_set_compressed_coordinates_GF2m, EC_POINT_point2oct, +EC_POINT_oct2point, EC_POINT_point2bn, EC_POINT_bn2point, EC_POINT_point2hex, +EC_POINT_hex2point +- Functions for creating, destroying and manipulating EC_POINT objects =head1 SYNOPSIS diff --git a/doc/crypto/ENGINE_add.pod b/doc/crypto/ENGINE_add.pod index a934d96ec4f..4e082bc7ef9 100644 --- a/doc/crypto/ENGINE_add.pod +++ b/doc/crypto/ENGINE_add.pod @@ -2,7 +2,45 @@ =head1 NAME -engine - ENGINE cryptographic module support +ENGINE_get_DH, ENGINE_get_DSA, ENGINE_get_ECDH, ENGINE_get_ECDSA, +ENGINE_by_id, ENGINE_get_cipher_engine, ENGINE_get_default_DH, +ENGINE_get_default_DSA, ENGINE_get_default_ECDH, +ENGINE_get_default_ECDSA, ENGINE_get_default_RAND, +ENGINE_get_default_RSA, ENGINE_get_digest_engine, ENGINE_get_first, +ENGINE_get_last, ENGINE_get_next, ENGINE_get_prev, ENGINE_new, +ENGINE_get_ciphers, ENGINE_get_ctrl_function, ENGINE_get_digests, +ENGINE_get_destroy_function, ENGINE_get_finish_function, +ENGINE_get_init_function, ENGINE_get_load_privkey_function, +ENGINE_get_load_pubkey_function, ENGINE_load_private_key, +ENGINE_load_public_key, ENGINE_get_RAND, ENGINE_get_RSA, ENGINE_get_id, +ENGINE_get_name, ENGINE_get_cmd_defns, EVP_CIPHER ENGINE_get_cipher, +ENGINE_get_digest, ENGINE_add, ENGINE_cmd_is_executable, +ENGINE_ctrl, ENGINE_ctrl_cmd, ENGINE_ctrl_cmd_string, +ENGINE_finish, ENGINE_free, ENGINE_get_flags, ENGINE_init, +ENGINE_register_DH, ENGINE_register_DSA, ENGINE_register_ECDH, +ENGINE_register_ECDSA, ENGINE_register_RAND, ENGINE_register_RSA, +ENGINE_register_all_complete, ENGINE_register_ciphers, +ENGINE_register_complete, ENGINE_register_digests, ENGINE_remove, +ENGINE_set_DH, ENGINE_set_DSA, ENGINE_set_ECDH, ENGINE_set_ECDSA, +ENGINE_set_RAND, ENGINE_set_RSA, ENGINE_set_ciphers, +ENGINE_set_cmd_defns, ENGINE_set_ctrl_function, ENGINE_set_default, +ENGINE_set_default_DH, ENGINE_set_default_DSA, ENGINE_set_default_ECDH, +ENGINE_set_default_ECDSA, ENGINE_set_default_RAND, ENGINE_set_default_RSA, +ENGINE_set_default_ciphers, ENGINE_set_default_digests, +ENGINE_set_default_string, ENGINE_set_destroy_function, +ENGINE_set_digests, ENGINE_set_finish_function, ENGINE_set_flags, +ENGINE_set_id, ENGINE_set_init_function, ENGINE_set_load_privkey_function, +ENGINE_set_load_pubkey_function, ENGINE_set_name, ENGINE_up_ref, +ENGINE_get_table_flags, ENGINE_cleanup, +ENGINE_load_builtin_engines, ENGINE_register_all_DH, +ENGINE_register_all_DSA, ENGINE_register_all_ECDH, +ENGINE_register_all_ECDSA, ENGINE_register_all_RAND, +ENGINE_register_all_RSA, ENGINE_register_all_ciphers, +ENGINE_register_all_digests, ENGINE_set_table_flags, ENGINE_unregister_DH, +ENGINE_unregister_DSA, ENGINE_unregister_ECDH, ENGINE_unregister_ECDSA, +ENGINE_unregister_RAND, ENGINE_unregister_RSA, ENGINE_unregister_ciphers, +ENGINE_unregister_digests +- ENGINE cryptographic module support =head1 SYNOPSIS @@ -130,8 +168,6 @@ engine - ENGINE cryptographic module support EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, UI_METHOD *ui_method, void *callback_data); - void ENGINE_add_conf_module(void); - Deprecated: #if OPENSSL_API_COMPAT < 0x10100000L diff --git a/doc/crypto/ERR_print_errors.pod b/doc/crypto/ERR_print_errors.pod index 4a19a59ec45..17229af30cb 100644 --- a/doc/crypto/ERR_print_errors.pod +++ b/doc/crypto/ERR_print_errors.pod @@ -2,7 +2,8 @@ =head1 NAME -ERR_print_errors, ERR_print_errors_fp - print error messages +ERR_print_errors, ERR_print_errors_fp, ERR_print_errors_cb +- print error messages =head1 SYNOPSIS @@ -10,6 +11,9 @@ ERR_print_errors, ERR_print_errors_fp - print error messages void ERR_print_errors(BIO *bp); void ERR_print_errors_fp(FILE *fp); + void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u), + void *u) + =head1 DESCRIPTION @@ -20,6 +24,9 @@ emptying the error queue. ERR_print_errors_fp() is the same, except that the output goes to a B. +ERR_print_errors_cb() is the same, except that the callback function, +B, is called for each error line with the string, length, and userdata +B as the callback parameters. The error strings will have the following format: diff --git a/doc/crypto/ERR_put_error.pod b/doc/crypto/ERR_put_error.pod index 9ddf534bbec..1ec3575f0d4 100644 --- a/doc/crypto/ERR_put_error.pod +++ b/doc/crypto/ERR_put_error.pod @@ -12,6 +12,7 @@ ERR_put_error, ERR_add_error_data - record an error int line); void ERR_add_error_data(int num, ...); + void ERR_add_error_data(int num, va_list arg); =head1 DESCRIPTION @@ -22,6 +23,7 @@ This function is usually called by a macro. ERR_add_error_data() associates the concatenation of its B string arguments with the error code added last. +ERR_add_error_vdata() is similar except the argument is a B. L can be used to register error strings so that the application can a generate human-readable diff --git a/doc/crypto/EVP_DigestInit.pod b/doc/crypto/EVP_DigestInit.pod index 750a51ef5f5..405810ee242 100644 --- a/doc/crypto/EVP_DigestInit.pod +++ b/doc/crypto/EVP_DigestInit.pod @@ -40,16 +40,9 @@ EVP_get_digestbynid, EVP_get_digestbyobj - EVP digest routines int EVP_MD_block_size(const EVP_MD *md); const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); - int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, - const void *data, size_t count); - void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, - int (*update) (EVP_MD_CTX *ctx, - const void *data, size_t count)); int EVP_MD_CTX_size(const EVP_MD *ctx); int EVP_MD_CTX_block_size(const EVP_MD *ctx); int EVP_MD_CTX_type(const EVP_MD *ctx); - EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); - void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); const EVP_MD *EVP_md_null(void); const EVP_MD *EVP_md2(void); diff --git a/doc/crypto/EVP_EncryptInit.pod b/doc/crypto/EVP_EncryptInit.pod index 90f1180f28c..7b533028385 100644 --- a/doc/crypto/EVP_EncryptInit.pod +++ b/doc/crypto/EVP_EncryptInit.pod @@ -31,6 +31,8 @@ EVP_aes_256_cbc, EVP_aes_256_ecb, EVP_aes_256_cfb, EVP_aes_256_ofb, EVP_aes_128_gcm, EVP_aes_192_gcm, EVP_aes_256_gcm, EVP_aes_128_ccm, EVP_aes_192_ccm, EVP_aes_256_ccm - EVP cipher routines +=for comment generic + =head1 SYNOPSIS #include @@ -99,9 +101,6 @@ EVP_aes_128_ccm, EVP_aes_192_ccm, EVP_aes_256_ccm - EVP cipher routines void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); void EVP_CIPHER_CTX_set_app_data(const EVP_CIPHER_CTX *ctx, void *data); int EVP_CIPHER_CTX_type(const EVP_CIPHER_CTX *ctx); - void EVP_CIPHER_CTX_set_flags(const EVP_CIPHER_CTX *ctx, int flags); - void EVP_CIPHER_CTX_clear_flags(const EVP_CIPHER_CTX *ctx, int flags); - int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags); int EVP_CIPHER_CTX_mode(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); diff --git a/doc/crypto/EVP_MD_meth_new.pod b/doc/crypto/EVP_MD_meth_new.pod index 427ab268ed1..6aab174ac92 100644 --- a/doc/crypto/EVP_MD_meth_new.pod +++ b/doc/crypto/EVP_MD_meth_new.pod @@ -2,6 +2,7 @@ =head1 NAME +EVP_MD_meth_dup, EVP_MD_meth_new, EVP_MD_meth_free, EVP_MD_meth_set_input_blocksize, EVP_MD_meth_set_result_size, EVP_MD_meth_set_app_datasize, EVP_MD_meth_set_flags, EVP_MD_meth_set_init, EVP_MD_meth_set_update, @@ -10,17 +11,16 @@ EVP_MD_meth_set_ctrl, EVP_MD_meth_get_input_blocksize, EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize, EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update, EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup, -EVP_MD_meth_get_ctrl, EVP_MD_meth_get_pkey_types, -EVP_MD_meth_get_sign, EVP_MD_meth_get_verify - Routines to build up -EVP_MD methods +EVP_MD_meth_get_ctrl, EVP_MD_CTX_md_data +- Routines to build up EVP_MD methods =head1 SYNOPSIS #include EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type); - EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); void EVP_MD_meth_free(EVP_MD *md); + EVP_MD *EVP_MD_meth_dup(const EVP_MD *md); int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize); int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize); @@ -34,6 +34,7 @@ EVP_MD methods unsigned char *md)); int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to, const EVP_MD_CTX *from)); + void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx)); int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)); diff --git a/doc/crypto/EVP_PKEY_HKDF.pod b/doc/crypto/EVP_PKEY_HKDF.pod index 8ce79c354d3..61e0eec5288 100644 --- a/doc/crypto/EVP_PKEY_HKDF.pod +++ b/doc/crypto/EVP_PKEY_HKDF.pod @@ -2,7 +2,7 @@ =head1 NAME -EVP_PKEY_HKDF, EVP_PKEY_CTX_set_hkdf_md, EVP_PKEY_CTX_set1_hkdf_salt, +EVP_PKEY_CTX_set_hkdf_md, EVP_PKEY_CTX_set1_hkdf_salt, EVP_PKEY_CTX_set1_hkdf_key, EVP_PKEY_CTX_add1_hkdf_info - HMAC-based Extract-and-Expand key derivation algorithm diff --git a/doc/crypto/EVP_PKEY_get_default_digest.pod b/doc/crypto/EVP_PKEY_get_default_digest_nid.pod similarity index 100% rename from doc/crypto/EVP_PKEY_get_default_digest.pod rename to doc/crypto/EVP_PKEY_get_default_digest_nid.pod diff --git a/doc/crypto/EVP_PKEY_keygen.pod b/doc/crypto/EVP_PKEY_keygen.pod index ec803c9d9f3..cebd95b5a11 100644 --- a/doc/crypto/EVP_PKEY_keygen.pod +++ b/doc/crypto/EVP_PKEY_keygen.pod @@ -2,7 +2,10 @@ =head1 NAME -EVP_PKEY_keygen_init, EVP_PKEY_keygen, EVP_PKEY_paramgen_init, EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb, EVP_PKEY_CTX_get_keygen_info, EVP_PKEVP_PKEY_CTX_set_app_data, EVP_PKEY_CTX_get_app_data - key and parameter generation functions +EVP_PKEY_keygen_init, EVP_PKEY_keygen, EVP_PKEY_paramgen_init, +EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb, +EVP_PKEY_CTX_get_keygen_info, EVP_PKEY_CTX_set_app_data, +EVP_PKEY_CTX_get_app_data - key and parameter generation functions =head1 SYNOPSIS diff --git a/doc/crypto/EVP_PKEY_set1_RSA.pod b/doc/crypto/EVP_PKEY_set1_RSA.pod index 90595d696e9..1498df7413b 100644 --- a/doc/crypto/EVP_PKEY_set1_RSA.pod +++ b/doc/crypto/EVP_PKEY_set1_RSA.pod @@ -6,7 +6,9 @@ EVP_PKEY_set1_RSA, EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH, EVP_PKEY_set1_EC_KEY, EVP_PKEY_get1_RSA, EVP_PKEY_get1_DSA, EVP_PKEY_get1_DH, EVP_PKEY_get1_EC_KEY, EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA, EVP_PKEY_get0_DH, EVP_PKEY_get0_EC_KEY, EVP_PKEY_assign_RSA, EVP_PKEY_assign_DSA, EVP_PKEY_assign_DH, EVP_PKEY_assign_EC_KEY, -EVP_PKEY_type, EVP_PKEY_id, EVP_PKEY_base_id - EVP_PKEY assignment functions +EVP_PKEY_get0_hmac, +EVP_PKEY_type, EVP_PKEY_id, EVP_PKEY_base_id +- EVP_PKEY assignment functions =head1 SYNOPSIS diff --git a/doc/crypto/EVP_SignInit.pod b/doc/crypto/EVP_SignInit.pod index 171dbec409a..ea4e71eb55c 100644 --- a/doc/crypto/EVP_SignInit.pod +++ b/doc/crypto/EVP_SignInit.pod @@ -2,6 +2,7 @@ =head1 NAME +EVP_PKEY_size, EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal - EVP signing functions diff --git a/doc/crypto/EVP_VerifyInit.pod b/doc/crypto/EVP_VerifyInit.pod index 79bd5813609..355dc9f4099 100644 --- a/doc/crypto/EVP_VerifyInit.pod +++ b/doc/crypto/EVP_VerifyInit.pod @@ -2,7 +2,9 @@ =head1 NAME -EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal - EVP signature verification functions +EVP_VerifyInit_ex, +EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal +- EVP signature verification functions =head1 SYNOPSIS diff --git a/doc/crypto/OBJ_nid2obj.pod b/doc/crypto/OBJ_nid2obj.pod index ac34a40225c..9fa9e664250 100644 --- a/doc/crypto/OBJ_nid2obj.pod +++ b/doc/crypto/OBJ_nid2obj.pod @@ -2,17 +2,19 @@ =head1 NAME -OBJ_nid2obj, OBJ_nid2ln, OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2nid, OBJ_sn2nid, -OBJ_cmp, OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup - ASN1 object utility -functions +i2t_ASN1_OBJECT, +OBJ_length, OBJ_get0_data, OBJ_nid2obj, OBJ_nid2ln, +OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2nid, OBJ_sn2nid, OBJ_cmp, +OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup +- ASN1 object utility functions =head1 SYNOPSIS #include - ASN1_OBJECT * OBJ_nid2obj(int n); - const char * OBJ_nid2ln(int n); - const char * OBJ_nid2sn(int n); + ASN1_OBJECT *OBJ_nid2obj(int n); + const char *OBJ_nid2ln(int n); + const char *OBJ_nid2sn(int n); int OBJ_obj2nid(const ASN1_OBJECT *o); int OBJ_ln2nid(const char *ln); @@ -20,13 +22,15 @@ functions int OBJ_txt2nid(const char *s); - ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); + ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); - int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b); - ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o); + int i2t_ASN1_OBJECT(char *buf, int buf_len, ASN1_OBJECT *a); - int OBJ_create(const char *oid,const char *sn,const char *ln); + int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); + ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); + + int OBJ_create(const char *oid, const char *sn, const char *ln); size_t OBJ_length(const ASN1_OBJECT *obj); const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); @@ -66,6 +70,8 @@ if the object has a long or short name then that will be used, otherwise the numerical form will be used. If B is 1 then the numerical form will always be used. +i2t_ASN1_OBJECT() is the same as OBJ_obj2txt() with the B set to zero. + OBJ_cmp() compares B to B. If the two are identical 0 is returned. OBJ_dup() returns a copy of B. diff --git a/doc/crypto/OCSP_response_find_status.pod b/doc/crypto/OCSP_resp_find_status.pod similarity index 97% rename from doc/crypto/OCSP_response_find_status.pod rename to doc/crypto/OCSP_resp_find_status.pod index a7394343fdc..a852eaa8fbd 100644 --- a/doc/crypto/OCSP_response_find_status.pod +++ b/doc/crypto/OCSP_resp_find_status.pod @@ -2,7 +2,10 @@ =head1 NAME -OCSP_resp_find_status, OCSP_resp_count, OCSP_resp_get0, OCSP_resp_find, OCSP_single_get0_status, OCSP_check_validity - OCSP response utility functions +OCSP_resp_get0_produced_at, +OCSP_resp_find_status, OCSP_resp_count, OCSP_resp_get0, OCSP_resp_find, +OCSP_single_get0_status, OCSP_check_validity +- OCSP response utility functions =head1 SYNOPSIS diff --git a/doc/crypto/OPENSSL_init_crypto.pod b/doc/crypto/OPENSSL_init_crypto.pod index ff2c2e82828..19898807522 100644 --- a/doc/crypto/OPENSSL_init_crypto.pod +++ b/doc/crypto/OPENSSL_init_crypto.pod @@ -2,6 +2,7 @@ =head1 NAME +OPENSSL_init_new, OPENSSL_INIT_set_config_appname, OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit, OPENSSL_thread_stop - OpenSSL initialisation and deinitialisation functions diff --git a/doc/crypto/OPENSSL_instrument_bus.pod b/doc/crypto/OPENSSL_instrument_bus.pod index 42286f1f5e5..14072610354 100644 --- a/doc/crypto/OPENSSL_instrument_bus.pod +++ b/doc/crypto/OPENSSL_instrument_bus.pod @@ -7,8 +7,8 @@ OPENSSL_instrument_bus, OPENSSL_instrument_bus2 - instrument references to memor =head1 SYNOPSIS #ifdef OPENSSL_CPUID_OBJ - size_t OPENSSL_instrument_bus (int *vector,size_t num); - size_t OPENSSL_instrument_bus2(int *vector,size_t num,size_t max); + size_t OPENSSL_instrument_bus(int *vector, size_t num); + size_t OPENSSL_instrument_bus2(int *vector, size_t num, size_t max); #endif =head1 DESCRIPTION @@ -23,10 +23,10 @@ interlocked manner, which should contribute additional noise on multi-processor systems. This also means that B should be zeroed upon invocation (if you want to retrieve actual probe values). -OPENSSL_instrument_bus performs B probes and records the number of +OPENSSL_instrument_bus() performs B probes and records the number of oscillator cycles every probe took. -OPENSSL_instrument_bus2 on the other hand B consecutive +OPENSSL_instrument_bus2() on the other hand B consecutive probes with the same value, i.e. in a way it records duration of periods when probe values appeared deterministic. The subroutine performs at most B probes in attempt to fill the B, diff --git a/doc/crypto/OPENSSL_malloc.pod b/doc/crypto/OPENSSL_malloc.pod index ca216989033..ba50221f1c7 100644 --- a/doc/crypto/OPENSSL_malloc.pod +++ b/doc/crypto/OPENSSL_malloc.pod @@ -2,6 +2,8 @@ =head1 NAME +CRYPTO_MEM_CHECK_OFF, CRYPTO_MEM_CHECK_ON, +CRYPTO_MEM_CHECK_DISABLE, CRYPTO_MEM_CHECK_ENABLE, OPENSSL_malloc_init, OPENSSL_malloc, OPENSSL_zalloc, OPENSSL_realloc, OPENSSL_free, OPENSSL_clear_realloc, OPENSSL_clear_free, OPENSSL_cleanse, @@ -9,11 +11,12 @@ CRYPTO_malloc, CRYPTO_zalloc, CRYPTO_realloc, CRYPTO_free, OPENSSL_strdup, OPENSSL_strndup, OPENSSL_memdup, OPENSSL_strlcpy, OPENSSL_strlcat, OPENSSL_hexstr2buf, OPENSSL_buf2hexstr, OPENSSL_hexchar2int, +CRYPTO_strdup, CRYPTO_strndup, +OPENSSL_mem_debug_push, OPENSSL_mem_debug_pop, +CRYPTO_mem_debug_push, CRYPTO_mem_debug_pop, CRYPTO_clear_realloc, CRYPTO_clear_free, CRYPTO_get_mem_functions, CRYPTO_set_mem_functions, CRYPTO_set_mem_debug, CRYPTO_mem_ctrl, -OPENSSL_mem_debug_push, OPENSSL_mem_debug_pop, -CRYPTO_mem_debug_push, CRYPTO_mem_debug_pop, CRYPTO_mem_leaks, CRYPTO_mem_leaks_fp - Memory allocation functions =head1 SYNOPSIS @@ -28,6 +31,9 @@ CRYPTO_mem_leaks, CRYPTO_mem_leaks_fp - Memory allocation functions void OPENSSL_free(void *addr) char *OPENSSL_strdup(const char *str) char *OPENSSL_strndup(const char *str, size_t s) + size_t OPENSSL_strlcat(char *dst, const char *src, size_t size); + size_t OPENSSL_strlcpy(char *dst, const char *src, size_t size); + void *OPENSSL_memdup(void *data, size_t s) void *OPENSSL_clear_realloc(void *p, size_t old_len, size_t num) void OPENSSL_clear_free(void *str, size_t num) void OPENSSL_cleanse(void *ptr, size_t len); @@ -64,12 +70,13 @@ CRYPTO_mem_leaks, CRYPTO_mem_leaks_fp - Memory allocation functions int CRYPTO_mem_ctrl(int mode); int OPENSSL_mem_debug_push(const char *info) - int OPENSLS_mem_debug_pop)(void) + int OPENSSL_mem_debug_pop(void); int CRYPTO_mem_debug_push(const char *info, const char *file, int line); + int CRYPTO_mem_debug_pop(void); void CRYPTO_mem_leaks(BIO *b); - void CRYPTO_mem_leaks(FILE *fp); + void CRYPTO_mem_leaks_fp(FILE *fp); =head1 DESCRIPTION diff --git a/doc/crypto/OPENSSL_secure_malloc.pod b/doc/crypto/OPENSSL_secure_malloc.pod index 9bc05e5ee6e..517bfbcde13 100644 --- a/doc/crypto/OPENSSL_secure_malloc.pod +++ b/doc/crypto/OPENSSL_secure_malloc.pod @@ -6,7 +6,7 @@ CRYPTO_secure_malloc_init, CRYPTO_secure_malloc_initialized, CRYPTO_secure_malloc_done, OPENSSL_secure_malloc, CRYPTO_secure_malloc, OPENSSL_secure_zalloc, CRYPTO_secure_zalloc, OPENSSL_secure_free, CRYPTO_secure_free, OPENSSL_secure_actual_size, OPENSSL_secure_allocated, -CYRPTO_secure_malloc_used - secure heap storage +CYRPTO_secure_used - secure heap storage =head1 SYNOPSIS diff --git a/doc/crypto/PEM_read.pod b/doc/crypto/PEM_read.pod index c0bd010e40d..3c6d2fd03b2 100644 --- a/doc/crypto/PEM_read.pod +++ b/doc/crypto/PEM_read.pod @@ -25,7 +25,7 @@ pem_password_cb int PEM_do_header(EVP_CIPHER_INFO *cinfo, unsigned char *data, long *len, pem_password_cb *cb, void *u); - typedef int pem_password_cb (char *buf, int size, int rwflag, void *u); + typedef int (*pem_password_cb)(char *buf, int size, int rwflag, void *u); =head1 DESCRIPTION diff --git a/doc/crypto/PEM_read_bio_PrivateKey.pod b/doc/crypto/PEM_read_bio_PrivateKey.pod index f35519607cf..dd5a2309980 100644 --- a/doc/crypto/PEM_read_bio_PrivateKey.pod +++ b/doc/crypto/PEM_read_bio_PrivateKey.pod @@ -2,7 +2,7 @@ =head1 NAME -PEM, PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, +PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, PEM_write_bio_PrivateKey_traditional, PEM_write_PrivateKey, PEM_write_bio_PKCS8PrivateKey, PEM_write_PKCS8PrivateKey, PEM_write_bio_PKCS8PrivateKey_nid, PEM_write_PKCS8PrivateKey_nid, diff --git a/doc/crypto/PKCS7_verify.pod b/doc/crypto/PKCS7_verify.pod index 51694e7c47a..6cf80df333c 100644 --- a/doc/crypto/PKCS7_verify.pod +++ b/doc/crypto/PKCS7_verify.pod @@ -2,6 +2,7 @@ =head1 NAME +PKCS7_NO_DUAL_CONTENT, PKCS7_verify, PKCS7_get0_signers - verify a PKCS#7 signedData structure =head1 SYNOPSIS diff --git a/doc/crypto/RIPEMD160_init.pod b/doc/crypto/RIPEMD160_Init.pod similarity index 100% rename from doc/crypto/RIPEMD160_init.pod rename to doc/crypto/RIPEMD160_Init.pod diff --git a/doc/crypto/RSA_check_key.pod b/doc/crypto/RSA_check_key.pod index a8b1002fef6..d8689f4a2bf 100644 --- a/doc/crypto/RSA_check_key.pod +++ b/doc/crypto/RSA_check_key.pod @@ -2,7 +2,7 @@ =head1 NAME -RSA_check_key - validate private RSA keys +RSA_check_key_ex, RSA_check_key - validate private RSA keys =head1 SYNOPSIS diff --git a/doc/crypto/RSA_meth_new.pod b/doc/crypto/RSA_meth_new.pod index 19743d12401..e46b3984f6d 100644 --- a/doc/crypto/RSA_meth_new.pod +++ b/doc/crypto/RSA_meth_new.pod @@ -2,9 +2,10 @@ =head1 NAME +RSA_meth_get0_app_data, RSA_meth_set0_app_data, RSA_meth_new, RSA_meth_free, RSA_meth_dup, RSA_meth_get0_name, RSA_meth_set1_name, RSA_meth_get_flags, RSA_meth_set_flags, -RSA_meth_get_app_data, RSA_meth_set_app_data, RSA_meth_get_pub_enc, +RSA_meth_get_pub_enc, RSA_meth_set_pub_enc, RSA_meth_get_pub_dec, RSA_meth_set_pub_dec, RSA_meth_get_priv_enc, RSA_meth_set_priv_enc, RSA_meth_get_priv_dec, RSA_meth_set_priv_dec, RSA_meth_get_mod_exp, RSA_meth_set_mod_exp, diff --git a/doc/crypto/RSA_private_decrypt.pod b/doc/crypto/RSA_private_decrypt.pod deleted file mode 100644 index fa6c4053643..00000000000 --- a/doc/crypto/RSA_private_decrypt.pod +++ /dev/null @@ -1,79 +0,0 @@ -=pod - -=head1 NAME - -RSA_private_decrypt, -RSA_private_encrypt, -RSA_public_decrypt, -RSA_sign, -RSA_verify, -RSA_sign_ASN1_OCTET_STRING, -RSA_verify_ASN1_OCTET_STRING -- RSA public key cryptosystem - -=head1 SYNOPSIS - - #include - - int RSA_private_decrypt(int flen, unsigned char *from, - unsigned char *to, RSA *rsa, int padding); - int RSA_private_encrypt(int flen, unsigned char *from, - unsigned char *to, RSA *rsa,int padding); - int RSA_public_decrypt(int flen, unsigned char *from, - unsigned char *to, RSA *rsa,int padding); - - int RSA_sign(int type, unsigned char *m, unsigned int m_len, - unsigned char *sigret, unsigned int *siglen, RSA *rsa); - int RSA_verify(int type, unsigned char *m, unsigned int m_len, - unsigned char *sigbuf, unsigned int siglen, RSA *rsa); - - int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m, - unsigned int m_len, unsigned char *sigret, unsigned int *siglen, - RSA *rsa); - int RSA_verify_ASN1_OCTET_STRING(int dummy, unsigned char *m, - unsigned int m_len, unsigned char *sigbuf, unsigned int siglen, - RSA *rsa); - -=head1 DESCRIPTION - -These functions implement RSA public key encryption and signatures -as defined in PKCS #1 v2.0 [RFC 2437]. - -The B structure represents public and private RSA keys. - -Note that RSA keys may use non-standard B implementations, -either directly or by the use of B modules. In some cases (eg. an -ENGINE providing support for hardware-embedded keys), these BIGNUM values -will not be used by the implementation or may be used for alternative data -storage. For this reason, applications should generally avoid using RSA -structure elements directly and instead use API functions to query or -modify keys. - -=head1 CONFORMING TO - -SSL, PKCS #1 v2.0 - -=head1 SEE ALSO - -L, L, L, -L, L, L, L -L, -L, -L, -L, -L, -L, L, -L, -L, -L - -=head1 COPYRIGHT - -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. - -Licensed under the OpenSSL license (the "License"). You may not use -this file except in compliance with the License. You can obtain a copy -in the file LICENSE in the source distribution or at -L. - -=cut diff --git a/doc/crypto/UI_new.pod b/doc/crypto/UI_new.pod index 78981c1478e..72a2ea7095b 100644 --- a/doc/crypto/UI_new.pod +++ b/doc/crypto/UI_new.pod @@ -2,13 +2,17 @@ =head1 NAME +UI, UI_METHOD, UI_INPUT_FLAG_ECHO, +UI_INPUT_FLAG_DEFAULT_PWD, +UI_CTRL_PRINT_ERRORS, +UI_CTRL_IS_REDOABLE, UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, UI_add_error_string, UI_dup_error_string, UI_construct_prompt, UI_add_user_data, UI_get0_user_data, UI_get0_result, UI_process, UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method, -UI_set_method, UI_OpenSSL, ERR_load_UI_strings - user interface +UI_set_method, UI_OpenSSL, - user interface =head1 SYNOPSIS diff --git a/doc/crypto/X509V3_get_d2i.pod b/doc/crypto/X509V3_get_d2i.pod index 30264ff338e..f6f9be66946 100644 --- a/doc/crypto/X509V3_get_d2i.pod +++ b/doc/crypto/X509V3_get_d2i.pod @@ -2,6 +2,7 @@ =head1 NAME +X509_get0_extensions, X509_CRL_get0_extensions, X509_REVOKED_get0_extensions, X509V3_get_d2i, X509V3_add1_i2d, X509V3_EXT_d2i, X509V3_EXT_i2d, X509_get_ext_d2i, X509_add1_ext_i2d, X509_CRL_get_ext_d2i, X509_CRL_add1_ext_i2d, X509_REVOKED_get_ext_d2i, @@ -206,7 +207,7 @@ cannot be encoded) or -1 due to a fatal error such as a memory allocation failure. X509_get0_extensions(), X509_CRL_get0_extensions() and -X509_REVOKED_get0_extensions() return a stack of extensions. They can return +X509_REVOKED_get0_extensions() return a stack of extensions. They return NULL if no extensions are present. =head1 SEE ALSO diff --git a/doc/crypto/X509_NAME_get0_der.pod b/doc/crypto/X509_NAME_get0_der.pod index 722fadb944e..062bc7e7b40 100644 --- a/doc/crypto/X509_NAME_get0_der.pod +++ b/doc/crypto/X509_NAME_get0_der.pod @@ -2,6 +2,8 @@ =head1 NAME +X509_NAME_get0_der - get X509_NAME DER encoding + =head1 SYNOPSIS #include diff --git a/doc/crypto/X509_STORE_CTX_new.pod b/doc/crypto/X509_STORE_CTX_new.pod index 08adb34e86d..480b492eb7a 100644 --- a/doc/crypto/X509_STORE_CTX_new.pod +++ b/doc/crypto/X509_STORE_CTX_new.pod @@ -11,6 +11,7 @@ X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted, X509_STORE_CTX_get_num_untrusted, X509_STORE_CTX_set_default, X509_STORE_CTX_set_verify, +X509_STORE_set_verify, X509_STORE_CTX_get_verify - X509_STORE_CTX initialisation =head1 SYNOPSIS diff --git a/doc/crypto/X509_dup.pod b/doc/crypto/X509_dup.pod index e1dd91c3382..b93c2287382 100644 --- a/doc/crypto/X509_dup.pod +++ b/doc/crypto/X509_dup.pod @@ -233,6 +233,8 @@ X509_VAL_new, X509_dup, - ASN1 object utilities +=for comment generic + =head1 SYNOPSIS #include diff --git a/doc/crypto/X509_get_extension_flags.pod b/doc/crypto/X509_get_extension_flags.pod index 1452cc8a362..2509b65ca02 100644 --- a/doc/crypto/X509_get_extension_flags.pod +++ b/doc/crypto/X509_get_extension_flags.pod @@ -2,6 +2,7 @@ =head1 NAME +X509_get0_subject_key_id, X509_get_pathlen, X509_get_extension_flags, X509_get_key_usage, X509_get_extended_key_usage - retrieve certificate extension data diff --git a/doc/crypto/X509_new.pod b/doc/crypto/X509_new.pod index 0b9126ecf99..4f5349931ab 100644 --- a/doc/crypto/X509_new.pod +++ b/doc/crypto/X509_new.pod @@ -2,6 +2,7 @@ =head1 NAME +X509_chain_up_ref, X509_new, X509_free, X509_up_ref - X509 certificate ASN1 allocation functions =head1 SYNOPSIS diff --git a/doc/crypto/X509v3_get_ext_by_NID.pod b/doc/crypto/X509v3_get_ext_by_NID.pod index f29b0fb9b41..b379678a644 100644 --- a/doc/crypto/X509v3_get_ext_by_NID.pod +++ b/doc/crypto/X509v3_get_ext_by_NID.pod @@ -4,8 +4,7 @@ X509v3_get_ext_count, X509v3_get_ext, X509v3_get_ext_by_NID, X509v3_get_ext_by_OBJ, X509v3_get_ext_by_critical, X509v3_delete_ext, -X509v3_add_ext, X509_get0_extensions, X509_CRL_get0_extensions, -X509_REVOKED_get0_extensions, X509_get_ext_count, X509_get_ext, +X509v3_add_ext, X509_get_ext_count, X509_get_ext, X509_get_ext_by_NID, X509_get_ext_by_OBJ, X509_get_ext_by_critical, X509_delete_ext, X509_add_ext, X509_CRL_get_ext_count, X509_CRL_get_ext, X509_CRL_get_ext_by_NID, X509_CRL_get_ext_by_OBJ, X509_CRL_get_ext_by_critical, @@ -31,10 +30,6 @@ X509_REVOKED_add_ext - extension stack utility functions STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, X509_EXTENSION *ex, int loc); - STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); - STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(X509_CRL *crl); - STACK_OF(X509_EXTENSION) *X509_REVOKED_get0_extensions(X509_REVOKED *r); - int X509_get_ext_count(X509 *x); X509_EXTENSION *X509_get_ext(X509 *x, int loc); int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); @@ -88,10 +83,6 @@ B is B<-1> the new extension is added to the end. If B<*x> is B a new stack will be allocated. The passed extension B is duplicated internally so it must be freed after use. -X509_get0_extensions(), X509_CRL_get0_extensions() and -X509_REVOKED_get0_extensions() retrieve the extensions from a certificate -a CRL or a CRL entry respectively. - X509_get_ext_count(), X509_get_ext(), X509_get_ext_by_NID(), X509_get_ext_by_OBJ(), X509_get_ext_by_critical(), X509_delete_ext() and X509_add_ext() operate on the extensions of certificate B they are @@ -133,10 +124,6 @@ error occurs. X509v3_add_ext() returns a stack of extensions or B on error. -X509_get0_extensions(), X509_CRL_get0_extensions() and -X509_REVOKED_get0_extensions() return a stack of extensions. If the extensions -field is absent it will return B: this is B an error condition. - =head1 SEE ALSO L diff --git a/doc/crypto/d2i_PKCS8PrivateKey.pod b/doc/crypto/d2i_PKCS8PrivateKey_bio.pod similarity index 100% rename from doc/crypto/d2i_PKCS8PrivateKey.pod rename to doc/crypto/d2i_PKCS8PrivateKey_bio.pod diff --git a/doc/crypto/d2i_PrivateKey.pod b/doc/crypto/d2i_PrivateKey.pod index a221b0f93fa..6b12ad9eab1 100644 --- a/doc/crypto/d2i_PrivateKey.pod +++ b/doc/crypto/d2i_PrivateKey.pod @@ -2,7 +2,7 @@ =head1 NAME -d2i_Private_key, d2i_AutoPrivateKey, i2d_PrivateKey, +d2i_PrivateKey, d2i_AutoPrivateKey, i2d_PrivateKey, d2i_PrivateKey_bio, d2i_PrivateKey_fp - decode and encode functions for reading and saving EVP_PKEY structures diff --git a/doc/ssl/SSL_CIPHER_get_name.pod b/doc/ssl/SSL_CIPHER_get_name.pod index 643eea4b947..b7ee3c84f54 100644 --- a/doc/ssl/SSL_CIPHER_get_name.pod +++ b/doc/ssl/SSL_CIPHER_get_name.pod @@ -2,7 +2,11 @@ =head1 NAME -SSL_CIPHER_get_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description - get SSL_CIPHER properties +SSL_CIPHER_get_cipher_nid, SSL_CIPHER_get_digest_nid, SSL_CIPHER_get_kx_nid, +SSL_CIPHER_get_auth_nid, SSL_CIPHER_is_aead, +SSL_CIPHER_get_name, SSL_CIPHER_get_bits, +SSL_CIPHER_get_version, SSL_CIPHER_description +- get SSL_CIPHER properties =head1 SYNOPSIS diff --git a/doc/ssl/SSL_CONF_cmd.pod b/doc/ssl/SSL_CONF_cmd.pod index 083b33a1c53..fb39f940ce9 100644 --- a/doc/ssl/SSL_CONF_cmd.pod +++ b/doc/ssl/SSL_CONF_cmd.pod @@ -2,6 +2,7 @@ =head1 NAME +SSL_CONF_cmd_value_type, SSL_CONF_finish, SSL_CONF_cmd - send configuration command =head1 SYNOPSIS diff --git a/doc/ssl/SSL_CTX_new.pod b/doc/ssl/SSL_CTX_new.pod index 69b59bb5760..e47083cf407 100644 --- a/doc/ssl/SSL_CTX_new.pod +++ b/doc/ssl/SSL_CTX_new.pod @@ -2,14 +2,15 @@ =head1 NAME +TLSv1_2_method, TLSv1_2_server_method, TLSv1_2_client_method, SSL_CTX_new, SSL_CTX_up_ref, SSLv3_method, SSLv3_server_method, SSLv3_client_method, TLSv1_method, TLSv1_server_method, TLSv1_client_method, TLSv1_1_method, TLSv1_1_server_method, TLSv1_1_client_method, TLS_method, TLS_server_method, TLS_client_method, SSLv23_method, SSLv23_server_method, SSLv23_client_method, DTLS_method, DTLS_server_method, DTLS_client_method, DTLSv1_method, DTLSv1_server_method, DTLSv1_client_method, -DTLSv1_2_method, DTLSv1_2_server_method, DTLSv1_2_client_method - -create a new SSL_CTX object as framework for TLS/SSL or DTLS enabled +DTLSv1_2_method, DTLSv1_2_server_method, DTLSv1_2_client_method +- create a new SSL_CTX object as framework for TLS/SSL or DTLS enabled functions =head1 SYNOPSIS diff --git a/doc/ssl/SSL_CTX_set_default_passwd_cb.pod b/doc/ssl/SSL_CTX_set_default_passwd_cb.pod index 2d407bbc39a..fb448073f9b 100644 --- a/doc/ssl/SSL_CTX_set_default_passwd_cb.pod +++ b/doc/ssl/SSL_CTX_set_default_passwd_cb.pod @@ -2,6 +2,7 @@ =head1 NAME +SSL_CTX_passwd_cb, SSL_CTX_set_default_passwd_cb, SSL_CTX_set_default_passwd_cb_userdata, SSL_CTX_get_default_passwd_cb, SSL_CTX_get_default_passwd_cb_userdata, SSL_set_default_passwd_cb, SSL_set_default_passwd_cb_userdata, @@ -12,31 +13,31 @@ get passwd callback for encrypted PEM file handling #include - void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); + void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, SSL_CTX_passwd_cb *cb); void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); - pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); + SSL_CTX_passwd_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); - void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); + void SSL_set_default_passwd_cb(SSL *s, SSL_CTX_passwd_cb *cb); void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); - pem_password_cb *SSL_get_default_passwd_cb(SSL *s); + SSL_CTX_passwd_cb *SSL_get_default_passwd_cb(SSL *s); void *SSL_get_default_passwd_cb_userdata(SSL *s); - int pem_passwd_cb(char *buf, int size, int rwflag, void *userdata); + typedef int (*SSL_CTX_passwd_cb)(char *buf, int size, int rwflag, void *u); =head1 DESCRIPTION SSL_CTX_set_default_passwd_cb() sets the default password callback called when loading/storing a PEM certificate with encryption. -SSL_CTX_set_default_passwd_cb_userdata() sets a pointer to B which -will be provided to the password callback on invocation. +SSL_CTX_set_default_passwd_cb_userdata() sets a pointer to userdata, B, +which will be provided to the password callback on invocation. SSL_CTX_get_default_passwd_cb() returns a function pointer to the password callback currently set in B. If no callback was explicitly set, the NULL pointer is returned. -SSL_CTX_get_default_passwd_cb_userdata() returns a pointer to B +SSL_CTX_get_default_passwd_cb_userdata() returns a pointer to the userdata currently set in B. If no userdata was explicitly set, the NULL pointer is returned. @@ -44,9 +45,9 @@ SSL_set_default_passwd_cb(), SSL_set_default_passwd_cb_userdata(), SSL_get_default_passwd_cb() and SSL_get_default_passwd_cb_userdata() perform the same function as their SSL_CTX counterparts, but using an SSL object. -The pem_passwd_cb(), which must be provided by the application, hands back the -password to be used during decryption. On invocation a pointer to B -is provided. The pem_passwd_cb must write the password into the provided buffer +The password callback, which must be provided by the application, hands back the +password to be used during decryption. On invocation a pointer to userdata +is provided. The function must store the password into the provided buffer B which is of size B. The actual length of the password must be returned to the calling function. B indicates whether the callback is used for reading/decryption (rwflag=0) or writing/encryption @@ -57,13 +58,13 @@ callback is used for reading/decryption (rwflag=0) or writing/encryption When loading or storing private keys, a password might be supplied to protect the private key. The way this password can be supplied may depend on the application. If only one private key is handled, it can be practical -to have pem_passwd_cb() handle the password dialog interactively. If several +to have the callback handle the password dialog interactively. If several keys have to be handled, it can be practical to ask for the password once, then keep it in memory and use it several times. In the last case, the -password could be stored into the B storage and the -pem_passwd_cb() only returns the password already stored. +password could be stored into the userdata storage and the +callback only returns the password already stored. -When asking for the password interactively, pem_passwd_cb() can use +When asking for the password interactively, the callback can use B to check, whether an item shall be encrypted (rwflag=1). In this case the password dialog may ask for the same password twice for comparison in order to catch typos, that would make decryption @@ -78,16 +79,16 @@ These functions do not provide diagnostic information. =head1 EXAMPLES -The following example returns the password provided as B to the +The following example returns the password provided as userdata to the calling function. The password is considered to be a '\0' terminated string. If the password does not fit into the buffer, the password is truncated. - int pem_passwd_cb(char *buf, int size, int rwflag, void *password) + int my_cb(char *buf, int size, int rwflag, void *u) { - strncpy(buf, (char *)(password), size); - buf[size - 1] = '\0'; - return(strlen(buf)); + strncpy(buf, (char *)u, size); + buf[size - 1] = '\0'; + return strlen(buf); } =head1 HISTORY diff --git a/doc/ssl/SSL_CTX_set_read_ahead.pod b/doc/ssl/SSL_CTX_set_read_ahead.pod index e70db3c2a96..d2b584d35cf 100644 --- a/doc/ssl/SSL_CTX_set_read_ahead.pod +++ b/doc/ssl/SSL_CTX_set_read_ahead.pod @@ -43,7 +43,7 @@ B can impact the behaviour of the SSL_pending() function =head1 RETURN VALUES -SSL_get_read_ahead and SSL_CTX_get_read_ahead return 0 if reading ahead is off, +SSL_get_read_ahead() and SSL_CTX_get_read_ahead() return 0 if reading ahead is off, and non zero otherwise. =head1 SEE ALSO diff --git a/doc/ssl/SSL_CTX_use_certificate.pod b/doc/ssl/SSL_CTX_use_certificate.pod index 3fd23a410ee..748175b9959 100644 --- a/doc/ssl/SSL_CTX_use_certificate.pod +++ b/doc/ssl/SSL_CTX_use_certificate.pod @@ -2,7 +2,17 @@ =head1 NAME -SSL_CTX_use_certificate, SSL_CTX_use_certificate_ASN1, SSL_CTX_use_certificate_file, SSL_use_certificate, SSL_use_certificate_ASN1, SSL_use_certificate_file, SSL_CTX_use_certificate_chain_file, SSL_CTX_use_PrivateKey, SSL_CTX_use_PrivateKey_ASN1, SSL_CTX_use_PrivateKey_file, SSL_CTX_use_RSAPrivateKey, SSL_CTX_use_RSAPrivateKey_ASN1, SSL_CTX_use_RSAPrivateKey_file, SSL_use_PrivateKey_file, SSL_use_PrivateKey_ASN1, SSL_use_PrivateKey, SSL_use_RSAPrivateKey, SSL_use_RSAPrivateKey_ASN1, SSL_use_RSAPrivateKey_file, SSL_CTX_check_private_key, SSL_check_private_key - load certificate and key data +SSL_CTX_use_certificate, SSL_CTX_use_certificate_ASN1, +SSL_CTX_use_certificate_file, SSL_use_certificate, SSL_use_certificate_ASN1, +SSL_use_certificate_file, SSL_CTX_use_certificate_chain_file, +SSL_use_certificate_chain_file, +SSL_CTX_use_PrivateKey, SSL_CTX_use_PrivateKey_ASN1, +SSL_CTX_use_PrivateKey_file, SSL_CTX_use_RSAPrivateKey, +SSL_CTX_use_RSAPrivateKey_ASN1, SSL_CTX_use_RSAPrivateKey_file, +SSL_use_PrivateKey_file, SSL_use_PrivateKey_ASN1, SSL_use_PrivateKey, +SSL_use_RSAPrivateKey, SSL_use_RSAPrivateKey_ASN1, +SSL_use_RSAPrivateKey_file, SSL_CTX_check_private_key, SSL_check_private_key +- load certificate and key data =head1 SYNOPSIS diff --git a/doc/ssl/SSL_SESSION_get_hostname.pod b/doc/ssl/SSL_SESSION_get0_hostname.pod similarity index 100% rename from doc/ssl/SSL_SESSION_get_hostname.pod rename to doc/ssl/SSL_SESSION_get0_hostname.pod diff --git a/doc/ssl/SSL_SESSION_get_time.pod b/doc/ssl/SSL_SESSION_get_time.pod index 1dd25da990e..d92a8efb10c 100644 --- a/doc/ssl/SSL_SESSION_get_time.pod +++ b/doc/ssl/SSL_SESSION_get_time.pod @@ -2,7 +2,10 @@ =head1 NAME -SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, SSL_SESSION_set_timeout - retrieve and manipulate session time and timeout settings +SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, +SSL_SESSION_set_timeout +SSL_get_time, SSL_set_time, SSL_get_timeout, SSL_set_timeout, +- retrieve and manipulate session time and timeout settings =head1 SYNOPSIS diff --git a/doc/ssl/SSL_SESSION_has_ticket.pod b/doc/ssl/SSL_SESSION_has_ticket.pod index 58f8e080e9e..2982c19a771 100644 --- a/doc/ssl/SSL_SESSION_has_ticket.pod +++ b/doc/ssl/SSL_SESSION_has_ticket.pod @@ -2,7 +2,9 @@ =head1 NAME -SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint, SSL_SESSION_get_ticket - get details about the ticket associated with a session +SSL_SESSION_get0_ticket, +SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint, +- get details about the ticket associated with a session =head1 SYNOPSIS @@ -11,7 +13,7 @@ SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint, SSL_SESSION_get_ti int SSL_SESSION_has_ticket(const SSL_SESSION *s); unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); void SSL_SESSION_get0_ticket(const SSL_SESSION *s, unsigned char **tick, - size_t *len); + size_t *len); =head1 DESCRIPTION diff --git a/doc/ssl/SSL_CTX_set_custom_cli_ext.pod b/doc/ssl/SSL_extension_supported.pod similarity index 98% rename from doc/ssl/SSL_CTX_set_custom_cli_ext.pod rename to doc/ssl/SSL_extension_supported.pod index f179f83d1af..a56087e1305 100644 --- a/doc/ssl/SSL_CTX_set_custom_cli_ext.pod +++ b/doc/ssl/SSL_extension_supported.pod @@ -2,7 +2,9 @@ =head1 NAME -SSL_CTX_add_client_custom_ext, SSL_CTX_add_server_custom_ext - custom TLS extension handling +SSL_extension_supported, +SSL_CTX_add_client_custom_ext, SSL_CTX_add_server_custom_ext +- custom TLS extension handling =head1 SYNOPSIS diff --git a/doc/ssl/SSL_get_ciphers.pod b/doc/ssl/SSL_get_ciphers.pod index 190e679dd0a..cc55095d478 100644 --- a/doc/ssl/SSL_get_ciphers.pod +++ b/doc/ssl/SSL_get_ciphers.pod @@ -2,7 +2,9 @@ =head1 NAME -SSL_get_ciphers, SSL_CTX_get_ciphers, SSL_get_cipher_list - get list of available SSL_CIPHERs +SSL_get1_supported_ciphers, SSL_get_client_ciphers, +SSL_get_ciphers, SSL_CTX_get_ciphers, SSL_get_cipher_list +- get list of available SSL_CIPHERs =head1 SYNOPSIS diff --git a/doc/ssl/SSL_set_bio.pod b/doc/ssl/SSL_set_bio.pod index 6d162339a54..204c89e3fc1 100644 --- a/doc/ssl/SSL_set_bio.pod +++ b/doc/ssl/SSL_set_bio.pod @@ -9,6 +9,8 @@ SSL_set_bio, SSL_set_rbio, SSL_set_wbio - connect the SSL object with a BIO #include void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio); + void SSL_set_rbio(SSL *s, BIO *rbio); + void SSL_set_wbio(SSL *s, BIO *wbio); =head1 DESCRIPTION diff --git a/util/find-doc-nits.pl b/util/find-doc-nits.pl index 69d7c935213..ba600367f6a 100755 --- a/util/find-doc-nits.pl +++ b/util/find-doc-nits.pl @@ -68,10 +68,11 @@ sub name_synopsis() my $syn = $1; foreach my $line ( split /\n+/, $syn ) { my $sym; - $line =~ s/STACK_OF\([^)]+\)//; + $line =~ s/STACK_OF\([^)]+\)/int/g; + $line =~ s/__declspec\([^)]+\)//; if ( $line =~ /typedef.* (\S+);/ ) { $sym = $1; - } elsif ( $line =~ /#define (\S+)/ ) { + } elsif ( $line =~ /#define ([A-Za-z0-9_]+)/ ) { $sym = $1; } elsif ( $line =~ /([A-Za-z0-9_]+)\(/ ) { $sym = $1; -- 2.47.2