[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Fri Nov 11 12:06:47 UTC 2016


The branch master has been updated
       via  a9c85ceaca37b6b4d7e4c0c13c4b75a95561c2f6 (commit)
       via  b275f3b6defa2c4416b3385c3514ba36470e7f7c (commit)
       via  b97fdb57a269656fa20024a4404d3f543f06ac61 (commit)
       via  d36bae1aaba1787199b610b6d6db04e4928b5381 (commit)
      from  6e290a25c2cbdc26119c0866c20d9292f9e64dd8 (commit)


- Log -----------------------------------------------------------------
commit a9c85ceaca37b6b4d7e4c0c13c4b75a95561c2f6
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Nov 11 09:33:55 2016 +0100

    Fix referenses in section 7 manuals
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/1900)

commit b275f3b6defa2c4416b3385c3514ba36470e7f7c
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Nov 11 09:33:47 2016 +0100

    Fix referenses in section 1 manuals
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/1900)

commit b97fdb57a269656fa20024a4404d3f543f06ac61
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Nov 11 09:33:09 2016 +0100

    Fix referenses in section 3 manuals
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/1900)

commit d36bae1aaba1787199b610b6d6db04e4928b5381
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Nov 11 09:19:52 2016 +0100

    Add util/check-doc-links.pl, to be used to check referenses in manuals
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/1900)

-----------------------------------------------------------------------

Summary of changes:
 doc/man1/ciphers.pod                               |  2 +-
 doc/man1/errstr.pod                                |  4 -
 doc/man1/openssl.pod                               |  2 +-
 doc/man1/pkeyutl.pod                               |  5 +-
 doc/man1/ts.pod                                    |  2 +
 doc/man1/tsget.pod                                 |  2 +
 doc/man3/ASYNC_WAIT_CTX_new.pod                    |  2 +-
 doc/man3/ASYNC_start_job.pod                       |  2 +-
 doc/man3/BIO_f_base64.pod                          |  4 +-
 doc/man3/BIO_f_buffer.pod                          |  2 +-
 doc/man3/BIO_f_cipher.pod                          |  4 +-
 doc/man3/BIO_f_md.pod                              |  4 +-
 doc/man3/BIO_f_ssl.pod                             |  4 +-
 doc/man3/BIO_get_ex_new_index.pod                  |  4 +-
 doc/man3/BIO_s_bio.pod                             |  2 +-
 doc/man3/BN_BLINDING_new.pod                       |  2 +-
 doc/man3/BN_CTX_new.pod                            |  2 +-
 doc/man3/BN_add.pod                                |  2 +-
 doc/man3/BN_add_word.pod                           |  2 +-
 doc/man3/BN_bn2bin.pod                             |  2 +-
 doc/man3/BN_cmp.pod                                |  2 +-
 doc/man3/BN_copy.pod                               |  2 +-
 doc/man3/BN_generate_prime.pod                     |  2 +-
 doc/man3/BN_mod_inverse.pod                        |  2 +-
 doc/man3/BN_mod_mul_montgomery.pod                 |  2 +-
 doc/man3/BN_mod_mul_reciprocal.pod                 |  2 +-
 doc/man3/BN_new.pod                                |  2 +-
 doc/man3/BN_num_bytes.pod                          |  2 +-
 doc/man3/BN_rand.pod                               |  3 +-
 doc/man3/BN_set_bit.pod                            |  2 +-
 doc/man3/BN_swap.pod                               |  2 +-
 doc/man3/BN_zero.pod                               |  2 +-
 doc/man3/BUF_MEM_new.pod                           |  2 +-
 doc/man3/CONF_modules_free.pod                     |  2 +-
 doc/man3/CONF_modules_load_file.pod                |  4 +-
 doc/man3/CRYPTO_THREAD_run_once.pod                |  2 +-
 doc/man3/CTLOG_STORE_get0_log_by_id.pod            |  2 +-
 doc/man3/CTLOG_STORE_new.pod                       |  2 +-
 doc/man3/CTLOG_new.pod                             |  2 +-
 doc/man3/CT_POLICY_EVAL_CTX_new.pod                |  2 +-
 doc/man3/DEFINE_STACK_OF.pod                       |  4 +-
 doc/man3/DES_random_key.pod                        |  2 +-
 doc/man3/DH_generate_key.pod                       |  2 +-
 doc/man3/DH_generate_parameters.pod                |  2 +-
 doc/man3/DH_get0_pqg.pod                           |  2 +-
 doc/man3/DH_meth_new.pod                           |  2 +-
 doc/man3/DH_new.pod                                |  2 +-
 doc/man3/DH_set_method.pod                         |  2 +-
 doc/man3/DH_size.pod                               |  2 +-
 doc/man3/DSA_SIG_new.pod                           |  2 +-
 doc/man3/DSA_do_sign.pod                           |  2 +-
 doc/man3/DSA_dup_DH.pod                            |  2 +-
 doc/man3/DSA_generate_key.pod                      |  2 +-
 doc/man3/DSA_generate_parameters.pod               |  2 +-
 doc/man3/DSA_get0_pqg.pod                          |  2 +-
 doc/man3/DSA_meth_new.pod                          |  2 +-
 doc/man3/DSA_new.pod                               |  2 +-
 doc/man3/DSA_set_method.pod                        |  2 +-
 doc/man3/DSA_sign.pod                              |  2 +-
 doc/man3/DSA_size.pod                              |  2 +-
 doc/man3/DTLSv1_listen.pod                         |  2 +-
 doc/man3/ECDSA_SIG_new.pod                         |  2 +-
 doc/man3/ECPKParameters_print.pod                  |  2 +-
 doc/man3/EC_GFp_simple_method.pod                  |  2 +-
 doc/man3/EC_GROUP_copy.pod                         |  2 +-
 doc/man3/EC_GROUP_new.pod                          |  2 +-
 doc/man3/EC_KEY_get_enc_flags.pod                  |  2 +-
 doc/man3/EC_KEY_new.pod                            |  2 +-
 doc/man3/EC_POINT_add.pod                          |  2 +-
 doc/man3/EC_POINT_new.pod                          |  2 +-
 doc/man3/ENGINE_add.pod                            |  2 +-
 doc/man3/ERR_GET_LIB.pod                           |  2 +-
 doc/man3/ERR_clear_error.pod                       |  2 +-
 doc/man3/ERR_error_string.pod                      |  2 +-
 doc/man3/ERR_get_error.pod                         |  2 +-
 doc/man3/ERR_load_crypto_strings.pod               |  2 +-
 doc/man3/ERR_load_strings.pod                      |  2 +-
 doc/man3/ERR_print_errors.pod                      |  2 +-
 doc/man3/ERR_put_error.pod                         |  2 +-
 doc/man3/ERR_remove_state.pod                      |  2 +-
 doc/man3/ERR_set_mark.pod                          |  2 +-
 doc/man3/EVP_BytesToKey.pod                        |  2 +-
 doc/man3/EVP_DigestInit.pod                        |  2 +-
 doc/man3/EVP_DigestSignInit.pod                    |  8 +-
 doc/man3/EVP_DigestVerifyInit.pod                  |  8 +-
 doc/man3/EVP_EncodeInit.pod                        |  2 +-
 doc/man3/EVP_EncryptInit.pod                       |  6 +-
 doc/man3/EVP_OpenInit.pod                          |  2 +-
 doc/man3/EVP_PKEY_encrypt.pod                      |  2 +-
 doc/man3/EVP_SealInit.pod                          |  2 +-
 doc/man3/EVP_SignInit.pod                          |  8 +-
 doc/man3/EVP_VerifyInit.pod                        | 10 +--
 doc/man3/HMAC.pod                                  |  2 +-
 doc/man3/OCSP_REQUEST_new.pod                      |  4 +-
 doc/man3/OCSP_cert_to_id.pod                       |  4 +-
 doc/man3/OCSP_request_add1_nonce.pod               |  4 +-
 doc/man3/OCSP_resp_find_status.pod                 |  2 +-
 doc/man3/OCSP_response_status.pod                  |  4 +-
 doc/man3/OCSP_sendreq_new.pod                      |  4 +-
 doc/man3/OPENSSL_LH_COMPFUNC.pod                   |  8 +-
 doc/man3/OPENSSL_LH_stats.pod                      |  2 +-
 doc/man3/OPENSSL_VERSION_NUMBER.pod                |  2 +-
 doc/man3/OPENSSL_config.pod                        |  2 +-
 doc/man3/OPENSSL_load_builtin_modules.pod          |  2 +-
 doc/man3/OPENSSL_secure_malloc.pod                 |  3 +-
 doc/man3/OpenSSL_add_all_algorithms.pod            |  2 +-
 doc/man3/PEM_read_CMS.pod                          |  4 +-
 doc/man3/PKCS5_PBKDF2_HMAC.pod                     |  2 +-
 doc/man3/RAND_add.pod                              |  2 +-
 doc/man3/RAND_bytes.pod                            |  2 +-
 doc/man3/RAND_cleanup.pod                          |  2 +-
 doc/man3/RAND_egd.pod                              |  2 +-
 doc/man3/RAND_load_file.pod                        |  2 +-
 doc/man3/RAND_set_rand_method.pod                  |  2 +-
 doc/man3/RSA_generate_key.pod                      |  2 +-
 doc/man3/RSA_get0_key.pod                          |  2 +-
 doc/man3/RSA_public_encrypt.pod                    |  2 +-
 doc/man3/RSA_sign_ASN1_OCTET_STRING.pod            |  2 +-
 doc/man3/SCT_new.pod                               |  2 +-
 doc/man3/SCT_print.pod                             |  4 +-
 doc/man3/SCT_validate.pod                          |  2 +-
 doc/man3/SMIME_read_CMS.pod                        |  4 +-
 doc/man3/SSL_CIPHER_get_name.pod                   |  2 +-
 doc/man3/SSL_COMP_add_compression_method.pod       |  2 +-
 doc/man3/SSL_CTX_add_extra_chain_cert.pod          |  2 +-
 doc/man3/SSL_CTX_add_session.pod                   |  2 +-
 doc/man3/SSL_CTX_config.pod                        |  4 +-
 doc/man3/SSL_CTX_ctrl.pod                          |  2 +-
 doc/man3/SSL_CTX_flush_sessions.pod                |  2 +-
 doc/man3/SSL_CTX_free.pod                          |  2 +-
 doc/man3/SSL_CTX_get_verify_mode.pod               |  2 +-
 doc/man3/SSL_CTX_has_client_custom_ext.pod         |  2 +-
 doc/man3/SSL_CTX_load_verify_locations.pod         |  2 +-
 doc/man3/SSL_CTX_new.pod                           |  2 +-
 doc/man3/SSL_CTX_sess_number.pod                   |  2 +-
 doc/man3/SSL_CTX_sess_set_cache_size.pod           |  2 +-
 doc/man3/SSL_CTX_sess_set_get_cb.pod               |  2 +-
 doc/man3/SSL_CTX_sessions.pod                      |  6 +-
 doc/man3/SSL_CTX_set1_sigalgs.pod                  |  2 +-
 doc/man3/SSL_CTX_set_alpn_select_cb.pod            |  2 +-
 doc/man3/SSL_CTX_set_cert_cb.pod                   |  2 +-
 doc/man3/SSL_CTX_set_cert_store.pod                |  2 +-
 doc/man3/SSL_CTX_set_cert_verify_callback.pod      |  2 +-
 doc/man3/SSL_CTX_set_cipher_list.pod               |  2 +-
 doc/man3/SSL_CTX_set_client_CA_list.pod            |  2 +-
 doc/man3/SSL_CTX_set_client_cert_cb.pod            |  2 +-
 doc/man3/SSL_CTX_set_ct_validation_callback.pod    |  2 +-
 doc/man3/SSL_CTX_set_ctlog_list_file.pod           |  2 +-
 doc/man3/SSL_CTX_set_default_passwd_cb.pod         |  2 +-
 doc/man3/SSL_CTX_set_generate_session_id.pod       |  2 +-
 doc/man3/SSL_CTX_set_info_callback.pod             |  2 +-
 doc/man3/SSL_CTX_set_max_cert_list.pod             |  2 +-
 doc/man3/SSL_CTX_set_mode.pod                      |  2 +-
 doc/man3/SSL_CTX_set_msg_callback.pod              |  2 +-
 doc/man3/SSL_CTX_set_options.pod                   |  2 +-
 doc/man3/SSL_CTX_set_quiet_shutdown.pod            |  2 +-
 doc/man3/SSL_CTX_set_read_ahead.pod                |  2 +-
 doc/man3/SSL_CTX_set_session_cache_mode.pod        |  2 +-
 doc/man3/SSL_CTX_set_session_id_context.pod        |  2 +-
 doc/man3/SSL_CTX_set_ssl_version.pod               |  2 +-
 doc/man3/SSL_CTX_set_timeout.pod                   |  2 +-
 doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod      |  2 +-
 doc/man3/SSL_CTX_set_tmp_dh_callback.pod           |  2 +-
 doc/man3/SSL_CTX_set_verify.pod                    |  2 +-
 doc/man3/SSL_CTX_use_certificate.pod               |  2 +-
 doc/man3/SSL_SESSION_free.pod                      |  2 +-
 doc/man3/SSL_SESSION_get0_cipher.pod               |  2 +-
 doc/man3/SSL_SESSION_get0_hostname.pod             |  2 +-
 doc/man3/SSL_SESSION_get0_id_context.pod           |  2 +-
 doc/man3/SSL_SESSION_get_protocol_version.pod      |  2 +-
 doc/man3/SSL_SESSION_get_time.pod                  |  2 +-
 doc/man3/SSL_SESSION_has_ticket.pod                |  2 +-
 doc/man3/SSL_SESSION_set1_id.pod                   |  2 +-
 doc/man3/SSL_accept.pod                            |  2 +-
 doc/man3/SSL_alert_type_string.pod                 |  2 +-
 doc/man3/SSL_check_chain.pod                       |  2 +-
 doc/man3/SSL_clear.pod                             |  2 +-
 doc/man3/SSL_connect.pod                           |  2 +-
 doc/man3/SSL_do_handshake.pod                      |  2 +-
 doc/man3/SSL_free.pod                              |  2 +-
 doc/man3/SSL_get0_peer_scts.pod                    |  2 +-
 doc/man3/SSL_get_SSL_CTX.pod                       |  2 +-
 doc/man3/SSL_get_all_async_fds.pod                 |  4 +-
 doc/man3/SSL_get_ciphers.pod                       |  2 +-
 doc/man3/SSL_get_client_CA_list.pod                |  2 +-
 doc/man3/SSL_get_client_random.pod                 |  2 +-
 doc/man3/SSL_get_current_cipher.pod                |  2 +-
 doc/man3/SSL_get_default_timeout.pod               |  2 +-
 doc/man3/SSL_get_error.pod                         |  2 +-
 doc/man3/SSL_get_extms_support.pod                 |  2 +-
 doc/man3/SSL_get_fd.pod                            |  2 +-
 doc/man3/SSL_get_peer_cert_chain.pod               |  2 +-
 doc/man3/SSL_get_peer_certificate.pod              |  2 +-
 doc/man3/SSL_get_rbio.pod                          |  2 +-
 doc/man3/SSL_get_session.pod                       |  2 +-
 doc/man3/SSL_get_shared_sigalgs.pod                |  2 +-
 doc/man3/SSL_get_verify_result.pod                 |  2 +-
 doc/man3/SSL_get_version.pod                       |  2 +-
 doc/man3/SSL_library_init.pod                      |  2 +-
 doc/man3/SSL_load_client_CA_file.pod               |  2 +-
 doc/man3/SSL_new.pod                               |  2 +-
 doc/man3/SSL_pending.pod                           |  2 +-
 doc/man3/SSL_read.pod                              |  2 +-
 doc/man3/SSL_rstate_string.pod                     |  2 +-
 doc/man3/SSL_session_reused.pod                    |  2 +-
 doc/man3/SSL_set_bio.pod                           |  4 +-
 doc/man3/SSL_set_connect_state.pod                 |  2 +-
 doc/man3/SSL_set_fd.pod                            |  2 +-
 doc/man3/SSL_set_session.pod                       |  2 +-
 doc/man3/SSL_set_shutdown.pod                      |  2 +-
 doc/man3/SSL_set_verify_result.pod                 |  2 +-
 doc/man3/SSL_shutdown.pod                          |  2 +-
 doc/man3/SSL_state_string.pod                      |  2 +-
 doc/man3/SSL_want.pod                              |  2 +-
 doc/man3/SSL_write.pod                             |  2 +-
 doc/man3/X509_dup.pod                              |  4 +-
 ...9_get_notBefore.pod => X509_get0_notBefore.pod} |  0
 doc/man3/d2i_PrivateKey.pod                        |  2 +-
 doc/man3/d2i_SSL_SESSION.pod                       |  2 +-
 doc/man3/d2i_X509.pod                              |  4 +-
 doc/man3/o2i_SCT_LIST.pod                          |  2 +-
 doc/man7/bio.pod                                   |  4 +-
 doc/man7/crypto.pod                                |  2 +-
 doc/man7/des_modes.pod                             |  4 +-
 doc/man7/evp.pod                                   |  4 +-
 doc/man7/ssl.pod                                   |  4 +-
 doc/man7/x509.pod                                  |  2 +-
 util/check-doc-links.pl                            | 99 ++++++++++++++++++++++
 228 files changed, 372 insertions(+), 274 deletions(-)
 rename doc/man3/{X509_get_notBefore.pod => X509_get0_notBefore.pod} (100%)
 create mode 100644 util/check-doc-links.pl

diff --git a/doc/man1/ciphers.pod b/doc/man1/ciphers.pod
index 30f5721..007aa85 100644
--- a/doc/man1/ciphers.pod
+++ b/doc/man1/ciphers.pod
@@ -717,7 +717,7 @@ Set security level to 2 and display all ciphers consistent with level 2:
 
 =head1 SEE ALSO
 
-L<s_client(1)>, L<s_server(1)>, L<ssl(3)>
+L<s_client(1)>, L<s_server(1)>, L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man1/errstr.pod b/doc/man1/errstr.pod
index 5ec7b2e..d237cdd 100644
--- a/doc/man1/errstr.pod
+++ b/doc/man1/errstr.pod
@@ -33,10 +33,6 @@ to produce the error message:
 
  error:2006D080:BIO routines:BIO_new_file:no such file
 
-=head1 SEE ALSO
-
-L<err(3)>
-
 =head1 COPYRIGHT
 
 Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
diff --git a/doc/man1/openssl.pod b/doc/man1/openssl.pod
index 3014bb3..c177c8a 100644
--- a/doc/man1/openssl.pod
+++ b/doc/man1/openssl.pod
@@ -422,7 +422,7 @@ L<rsautl(1)>, L<s_client(1)>,
 L<s_server(1)>, L<s_time(1)>,
 L<smime(1)>, L<spkac(1)>,
 L<verify(1)>, L<version(1)>, L<x509(1)>,
-L<crypto(3)>, L<ssl(3)>, L<x509v3_config(5)>
+L<crypto(7)>, L<ssl(7)>, L<x509v3_config(5)>
 
 =head1 HISTORY
 
diff --git a/doc/man1/pkeyutl.pod b/doc/man1/pkeyutl.pod
index 8a455b8..e41f3b7 100644
--- a/doc/man1/pkeyutl.pod
+++ b/doc/man1/pkeyutl.pod
@@ -126,7 +126,8 @@ derive a shared secret using the peer key.
 Use key derivation function B<algorithm>.  The supported algorithms are
 at present B<TLS1-PRF> and B<HKDF>.
 Note: additional parameters and the KDF output length will normally have to be
-set for this to work.  See L<EVP_PKEY_HKDF(3)> and L<EVP_PKEY_TLS1_PRF(3)>
+set for this to work.
+See L<EVP_PKEY_CTX_set_hkdf_md(3)> and L<EVP_PKEY_CTX_set_tls1_prf_md(3)>
 for the supported string parameters of each algorithm.
 
 =item B<-kdflen length>
@@ -277,7 +278,7 @@ seed consisting of the single byte 0xFF:
 
 L<genpkey(1)>, L<pkey(1)>, L<rsautl(1)>
 L<dgst(1)>, L<rsa(1)>, L<genrsa(1)>,
-L<EVP_PKEY_HKDF(3)>, L<EVP_PKEY_TLS1_PRF(3)>
+L<EVP_PKEY_CTX_set_hkdf_md(3)>, L<EVP_PKEY_CTX_set_tls1_prf_md(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man1/ts.pod b/doc/man1/ts.pod
index 02b2ada..95fdfcf 100644
--- a/doc/man1/ts.pod
+++ b/doc/man1/ts.pod
@@ -608,6 +608,8 @@ You could also look at the 'test' directory for more examples.
 
 =head1 BUGS
 
+=for comment foreign manuals: procmail(1), perl(1)
+
 If you find any bugs or you have suggestions please write to
 Zoltan Glozik <zglozik at opentsa.org>. Known issues:
 
diff --git a/doc/man1/tsget.pod b/doc/man1/tsget.pod
index cf7817a..7812a32 100644
--- a/doc/man1/tsget.pod
+++ b/doc/man1/tsget.pod
@@ -184,6 +184,8 @@ example:
 
 =head1 SEE ALSO
 
+=for comment foreign manuals: curl(1)
+
 L<openssl(1)>, L<ts(1)>, L<curl(1)>,
 B<RFC 3161>
 
diff --git a/doc/man3/ASYNC_WAIT_CTX_new.pod b/doc/man3/ASYNC_WAIT_CTX_new.pod
index 580c4e5..a6cbacc 100644
--- a/doc/man3/ASYNC_WAIT_CTX_new.pod
+++ b/doc/man3/ASYNC_WAIT_CTX_new.pod
@@ -123,7 +123,7 @@ windows.h prior to async.h.
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ASYNC_start_job(3)>
+L<crypto(7)>, L<ASYNC_start_job(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ASYNC_start_job.pod b/doc/man3/ASYNC_start_job.pod
index c10a66f..cb02295 100644
--- a/doc/man3/ASYNC_start_job.pod
+++ b/doc/man3/ASYNC_start_job.pod
@@ -309,7 +309,7 @@ The expected output from executing the above example program is:
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ERR_print_errors(3)>
+L<crypto(7)>, L<ERR_print_errors(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/BIO_f_base64.pod b/doc/man3/BIO_f_base64.pod
index 19df1dd..1740dad 100644
--- a/doc/man3/BIO_f_base64.pod
+++ b/doc/man3/BIO_f_base64.pod
@@ -4,10 +4,10 @@
 
 BIO_f_base64 - base64 BIO filter
 
-=for comment multiple includes
-
 =head1 SYNOPSIS
 
+=for comment multiple includes
+
  #include <openssl/bio.h>
  #include <openssl/evp.h>
 
diff --git a/doc/man3/BIO_f_buffer.pod b/doc/man3/BIO_f_buffer.pod
index 9c178ce..8ceaaa3 100644
--- a/doc/man3/BIO_f_buffer.pod
+++ b/doc/man3/BIO_f_buffer.pod
@@ -74,7 +74,7 @@ there was an error.
 
 =head1 SEE ALSO
 
-L<BIO(3)>,
+L<bio(7)>,
 L<BIO_reset(3)>,
 L<BIO_flush(3)>,
 L<BIO_pop(3)>,
diff --git a/doc/man3/BIO_f_cipher.pod b/doc/man3/BIO_f_cipher.pod
index 87ab3cc..a24857e 100644
--- a/doc/man3/BIO_f_cipher.pod
+++ b/doc/man3/BIO_f_cipher.pod
@@ -4,10 +4,10 @@
 
 BIO_f_cipher, BIO_set_cipher, BIO_get_cipher_status, BIO_get_cipher_ctx - cipher BIO filter
 
-=for comment multiple includes
-
 =head1 SYNOPSIS
 
+=for comment multiple includes
+
  #include <openssl/bio.h>
  #include <openssl/evp.h>
 
diff --git a/doc/man3/BIO_f_md.pod b/doc/man3/BIO_f_md.pod
index d7ad04d..dede0cc 100644
--- a/doc/man3/BIO_f_md.pod
+++ b/doc/man3/BIO_f_md.pod
@@ -4,10 +4,10 @@
 
 BIO_f_md, BIO_set_md, BIO_get_md, BIO_get_md_ctx - message digest BIO filter
 
-=for comment multiple includes
-
 =head1 SYNOPSIS
 
+=for comment multiple includes
+
  #include <openssl/bio.h>
  #include <openssl/evp.h>
 
diff --git a/doc/man3/BIO_f_ssl.pod b/doc/man3/BIO_f_ssl.pod
index 48bc150..d2046f2 100644
--- a/doc/man3/BIO_f_ssl.pod
+++ b/doc/man3/BIO_f_ssl.pod
@@ -9,10 +9,10 @@ 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
 
-=for comment multiple includes
-
 =head1 SYNOPSIS
 
+=for comment multiple includes
+
  #include <openssl/bio.h>
  #include <openssl/ssl.h>
 
diff --git a/doc/man3/BIO_get_ex_new_index.pod b/doc/man3/BIO_get_ex_new_index.pod
index 3e24f10..1a99d09 100644
--- a/doc/man3/BIO_get_ex_new_index.pod
+++ b/doc/man3/BIO_get_ex_new_index.pod
@@ -15,10 +15,10 @@ 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
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/x509.h>
 
  int TYPE_get_ex_new_index(long argl, void *argp,
diff --git a/doc/man3/BIO_s_bio.pod b/doc/man3/BIO_s_bio.pod
index 48c67fe..55567bb 100644
--- a/doc/man3/BIO_s_bio.pod
+++ b/doc/man3/BIO_s_bio.pod
@@ -186,7 +186,7 @@ the peer might be waiting for the data before being able to continue.
 
 =head1 SEE ALSO
 
-L<SSL_set_bio(3)>, L<ssl(3)>, L<bio(3)>,
+L<SSL_set_bio(3)>, L<ssl(7)>, L<bio(7)>,
 L<BIO_should_retry(3)>, L<BIO_read_ex(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/BN_BLINDING_new.pod b/doc/man3/BN_BLINDING_new.pod
index 5f56aa3..50fb4c1 100644
--- a/doc/man3/BN_BLINDING_new.pod
+++ b/doc/man3/BN_BLINDING_new.pod
@@ -107,7 +107,7 @@ parameters or NULL on error.
 
 =head1 SEE ALSO
 
-L<bn(3)>
+L<bn(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/BN_CTX_new.pod b/doc/man3/BN_CTX_new.pod
index ca54590..84c23e0 100644
--- a/doc/man3/BN_CTX_new.pod
+++ b/doc/man3/BN_CTX_new.pod
@@ -57,7 +57,7 @@ replace use of BN_CTX_init with BN_CTX_new instead:
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_add(3)>,
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_add(3)>,
 L<BN_CTX_start(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/BN_add.pod b/doc/man3/BN_add.pod
index 72cc09f..c40fbb2 100644
--- a/doc/man3/BN_add.pod
+++ b/doc/man3/BN_add.pod
@@ -112,7 +112,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_CTX_new(3)>,
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_CTX_new(3)>,
 L<BN_add_word(3)>, L<BN_set_bit(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/BN_add_word.pod b/doc/man3/BN_add_word.pod
index 35bdcf4..fa74282 100644
--- a/doc/man3/BN_add_word.pod
+++ b/doc/man3/BN_add_word.pod
@@ -47,7 +47,7 @@ B<(BN_ULONG)-1> if an error occurred.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_add(3)>
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_add(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_bn2bin.pod b/doc/man3/BN_bn2bin.pod
index b272010..8c9c213 100644
--- a/doc/man3/BN_bn2bin.pod
+++ b/doc/man3/BN_bn2bin.pod
@@ -100,7 +100,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_zero(3)>,
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_zero(3)>,
 L<ASN1_INTEGER_to_BN(3)>,
 L<BN_num_bytes(3)>
 
diff --git a/doc/man3/BN_cmp.pod b/doc/man3/BN_cmp.pod
index ec00571..2ad2900 100644
--- a/doc/man3/BN_cmp.pod
+++ b/doc/man3/BN_cmp.pod
@@ -37,7 +37,7 @@ the condition is true, 0 otherwise.
 
 =head1 SEE ALSO
 
-L<bn(3)>
+L<bn(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_copy.pod b/doc/man3/BN_copy.pod
index b044b98..3668de0 100644
--- a/doc/man3/BN_copy.pod
+++ b/doc/man3/BN_copy.pod
@@ -55,7 +55,7 @@ by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>
+L<bn(7)>, L<ERR_get_error(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_generate_prime.pod b/doc/man3/BN_generate_prime.pod
index 0472b9b..1f08c83 100644
--- a/doc/man3/BN_generate_prime.pod
+++ b/doc/man3/BN_generate_prime.pod
@@ -175,7 +175,7 @@ Instead applications should create a BN_GENCB structure using BN_GENCB_new:
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<rand(3)>
+L<bn(7)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/BN_mod_inverse.pod b/doc/man3/BN_mod_inverse.pod
index b4792ad..1dd7b02 100644
--- a/doc/man3/BN_mod_inverse.pod
+++ b/doc/man3/BN_mod_inverse.pod
@@ -27,7 +27,7 @@ NULL on error. The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_add(3)>
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_add(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_mod_mul_montgomery.pod b/doc/man3/BN_mod_mul_montgomery.pod
index bf1ef34..e97d4e5 100644
--- a/doc/man3/BN_mod_mul_montgomery.pod
+++ b/doc/man3/BN_mod_mul_montgomery.pod
@@ -71,7 +71,7 @@ outside the expected range.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_add(3)>,
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_add(3)>,
 L<BN_CTX_new(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/BN_mod_mul_reciprocal.pod b/doc/man3/BN_mod_mul_reciprocal.pod
index d0536cd..f90f2f7 100644
--- a/doc/man3/BN_mod_mul_reciprocal.pod
+++ b/doc/man3/BN_mod_mul_reciprocal.pod
@@ -57,7 +57,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<BN_add(3)>,
+L<bn(7)>, L<ERR_get_error(3)>, L<BN_add(3)>,
 L<BN_CTX_new(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/BN_new.pod b/doc/man3/BN_new.pod
index 0277614..022f7be 100644
--- a/doc/man3/BN_new.pod
+++ b/doc/man3/BN_new.pod
@@ -44,7 +44,7 @@ BN_clear(), BN_free() and BN_clear_free() have no return values.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>
+L<bn(7)>, L<ERR_get_error(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/BN_num_bytes.pod b/doc/man3/BN_num_bytes.pod
index 4680cf7..8da74f8 100644
--- a/doc/man3/BN_num_bytes.pod
+++ b/doc/man3/BN_num_bytes.pod
@@ -46,7 +46,7 @@ more probability).
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<DH_size(3)>, L<DSA_size(3)>,
+L<bn(7)>, L<DH_size(3)>, L<DSA_size(3)>,
 L<RSA_size(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/BN_rand.pod b/doc/man3/BN_rand.pod
index ae15ada..62b4317 100644
--- a/doc/man3/BN_rand.pod
+++ b/doc/man3/BN_rand.pod
@@ -53,8 +53,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<ERR_get_error(3)>, L<rand(3)>,
-L<RAND_add(3)>, L<RAND_bytes(3)>
+L<bn(7)>, L<ERR_get_error(3)>, L<RAND_add(3)>, L<RAND_bytes(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_set_bit.pod b/doc/man3/BN_set_bit.pod
index 363227a..bb889a0 100644
--- a/doc/man3/BN_set_bit.pod
+++ b/doc/man3/BN_set_bit.pod
@@ -55,7 +55,7 @@ can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<BN_num_bytes(3)>, L<BN_add(3)>
+L<bn(7)>, L<BN_num_bytes(3)>, L<BN_add(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_swap.pod b/doc/man3/BN_swap.pod
index fe7cc84..e27b639 100644
--- a/doc/man3/BN_swap.pod
+++ b/doc/man3/BN_swap.pod
@@ -14,7 +14,7 @@ BN_swap - exchange BIGNUMs
 
 BN_swap() exchanges the values of I<a> and I<b>.
 
-L<bn(3)>
+L<bn(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BN_zero.pod b/doc/man3/BN_zero.pod
index fadc21b..be0674f 100644
--- a/doc/man3/BN_zero.pod
+++ b/doc/man3/BN_zero.pod
@@ -53,7 +53,7 @@ unsigned long but this value is also returned on error.
 
 =head1 SEE ALSO
 
-L<bn(3)>, L<BN_bn2bin(3)>
+L<bn(7)>, L<BN_bn2bin(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/BUF_MEM_new.pod b/doc/man3/BUF_MEM_new.pod
index eb85bed..905aca1 100644
--- a/doc/man3/BUF_MEM_new.pod
+++ b/doc/man3/BUF_MEM_new.pod
@@ -58,7 +58,7 @@ zero on error or the new size (i.e., B<len>).
 
 =head1 SEE ALSO
 
-L<bio(3)>,
+L<bio(7)>,
 L<CRYPTO_secure_malloc(3)>.
 
 =head1 HISTORY
diff --git a/doc/man3/CONF_modules_free.pod b/doc/man3/CONF_modules_free.pod
index ac59f37..876cb37 100644
--- a/doc/man3/CONF_modules_free.pod
+++ b/doc/man3/CONF_modules_free.pod
@@ -43,7 +43,7 @@ None of the functions return a value.
 
 =head1 SEE ALSO
 
-L<conf(5)>, L<OPENSSL_config(3)>,
+L<config(5)>, L<OPENSSL_config(3)>,
 L<CONF_modules_load_file(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/CONF_modules_load_file.pod b/doc/man3/CONF_modules_load_file.pod
index 9e4071f..7ddd12a 100644
--- a/doc/man3/CONF_modules_load_file.pod
+++ b/doc/man3/CONF_modules_load_file.pod
@@ -121,8 +121,8 @@ return value of the failing module (this will always be zero or negative).
 
 =head1 SEE ALSO
 
-L<conf(5)>, L<OPENSSL_config(3)>,
-L<CONF_free(3)>, L<err(3)>
+L<config(5)>, L<OPENSSL_config(3)>,
+L<NCONF_free(3)>, L<err(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/CRYPTO_THREAD_run_once.pod b/doc/man3/CRYPTO_THREAD_run_once.pod
index 7795a04..45545c8 100644
--- a/doc/man3/CRYPTO_THREAD_run_once.pod
+++ b/doc/man3/CRYPTO_THREAD_run_once.pod
@@ -149,7 +149,7 @@ You can find out if OpenSSL was configured with thread support:
 
 =head1 SEE ALSO
 
-L<crypto(3)>
+L<crypto(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/CTLOG_STORE_get0_log_by_id.pod b/doc/man3/CTLOG_STORE_get0_log_by_id.pod
index c517e95..36063b6 100644
--- a/doc/man3/CTLOG_STORE_get0_log_by_id.pod
+++ b/doc/man3/CTLOG_STORE_get0_log_by_id.pod
@@ -30,7 +30,7 @@ exists in the given CTLOG_STORE, otherwise it returns NULL.
 
 =head1 SEE ALSO
 
-L<ct(3)>,
+L<ct(7)>,
 L<CTLOG_STORE_new(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/CTLOG_STORE_new.pod b/doc/man3/CTLOG_STORE_new.pod
index 2a38f26..9816e32 100644
--- a/doc/man3/CTLOG_STORE_new.pod
+++ b/doc/man3/CTLOG_STORE_new.pod
@@ -59,7 +59,7 @@ all CT logs in the file are successfully parsed and loaded, 0 otherwise.
 
 =head1 SEE ALSO
 
-L<ct(3)>,
+L<ct(7)>,
 L<CTLOG_STORE_get0_log_by_id(3)>,
 L<SSL_CTX_set_ctlog_list_file(3)>
 
diff --git a/doc/man3/CTLOG_new.pod b/doc/man3/CTLOG_new.pod
index ccda6b9..5570cbc 100644
--- a/doc/man3/CTLOG_new.pod
+++ b/doc/man3/CTLOG_new.pod
@@ -54,7 +54,7 @@ CTLOG_new_from_base64() will return 1 on success, 0 otherwise.
 
 =head1 SEE ALSO
 
-L<ct(3)>
+L<ct(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/CT_POLICY_EVAL_CTX_new.pod b/doc/man3/CT_POLICY_EVAL_CTX_new.pod
index 6279299..37f3ed5 100644
--- a/doc/man3/CT_POLICY_EVAL_CTX_new.pod
+++ b/doc/man3/CT_POLICY_EVAL_CTX_new.pod
@@ -78,7 +78,7 @@ CT_POLICY_EVAL_CTX_new() will return NULL if malloc fails.
 
 =head1 SEE ALSO
 
-L<ct(3)>
+L<ct(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/DEFINE_STACK_OF.pod b/doc/man3/DEFINE_STACK_OF.pod
index ae443b0..af8dd09 100644
--- a/doc/man3/DEFINE_STACK_OF.pod
+++ b/doc/man3/DEFINE_STACK_OF.pod
@@ -17,10 +17,10 @@ sk_TYPE_insert, sk_TYPE_set, sk_TYPE_find, sk_TYPE_find_ex, sk_TYPE_sort,
 sk_TYPE_is_sorted, sk_TYPE_dup, sk_TYPE_deep_copy, sk_TYPE_set_cmp_func -
 stack container
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/safestack.h>
 
  STACK_OF(TYPE)
diff --git a/doc/man3/DES_random_key.pod b/doc/man3/DES_random_key.pod
index 0131093..052b96d 100644
--- a/doc/man3/DES_random_key.pod
+++ b/doc/man3/DES_random_key.pod
@@ -106,7 +106,7 @@ each byte is the parity bit.  The key schedule is an expanded form of
 the key; it is used to speed the encryption process.
 
 DES_random_key() generates a random key.  The PRNG must be seeded
-prior to using this function (see L<rand(3)>).  If the PRNG
+prior to using this function (see L<RAND_bytes(3)>).  If the PRNG
 could not generate a secure key, 0 is returned.
 
 Before a DES key can be used, it must be converted into the
diff --git a/doc/man3/DH_generate_key.pod b/doc/man3/DH_generate_key.pod
index de0847a..297e7fb 100644
--- a/doc/man3/DH_generate_key.pod
+++ b/doc/man3/DH_generate_key.pod
@@ -40,7 +40,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<ERR_get_error(3)>, L<rand(3)>, L<DH_size(3)>
+L<DH_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>, L<DH_size(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/DH_generate_parameters.pod b/doc/man3/DH_generate_parameters.pod
index b71497b..7c94c8a 100644
--- a/doc/man3/DH_generate_parameters.pod
+++ b/doc/man3/DH_generate_parameters.pod
@@ -93,7 +93,7 @@ are not to be used in signature schemes.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<ERR_get_error(3)>, L<rand(3)>,
+L<DH_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<DH_free(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/DH_get0_pqg.pod b/doc/man3/DH_get0_pqg.pod
index 79647bf..5e5d3d3 100644
--- a/doc/man3/DH_get0_pqg.pod
+++ b/doc/man3/DH_get0_pqg.pod
@@ -93,7 +93,7 @@ or zero if no such length has been explicitly set.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<DH_new(3)>, L<DH_generate_parameters(3)>, L<DH_generate_key(3)>,
+L<DH_new(3)>, L<DH_new(3)>, L<DH_generate_parameters(3)>, L<DH_generate_key(3)>,
 L<DH_set_method(3)>, L<DH_size(3)>, L<DH_meth_new(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/DH_meth_new.pod b/doc/man3/DH_meth_new.pod
index bcf5592..bf38c37 100644
--- a/doc/man3/DH_meth_new.pod
+++ b/doc/man3/DH_meth_new.pod
@@ -137,7 +137,7 @@ DH_meth_set1_name() and all DH_meth_set_*() functions return 1 on success or
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<DH_new(3)>, L<DH_generate_parameters(3)>, L<DH_generate_key(3)>,
+L<DH_new(3)>, L<DH_new(3)>, L<DH_generate_parameters(3)>, L<DH_generate_key(3)>,
 L<DH_set_method(3)>, L<DH_size(3)>, L<DH_get0_pqg(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/DH_new.pod b/doc/man3/DH_new.pod
index 959a470..7e60c9a 100644
--- a/doc/man3/DH_new.pod
+++ b/doc/man3/DH_new.pod
@@ -30,7 +30,7 @@ DH_free() returns no value.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<ERR_get_error(3)>,
+L<DH_new(3)>, L<ERR_get_error(3)>,
 L<DH_generate_parameters(3)>,
 L<DH_generate_key(3)>
 
diff --git a/doc/man3/DH_set_method.pod b/doc/man3/DH_set_method.pod
index cd75a9b..59e8277 100644
--- a/doc/man3/DH_set_method.pod
+++ b/doc/man3/DH_set_method.pod
@@ -71,7 +71,7 @@ returns a pointer to the newly allocated structure.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<DH_new(3)>, L<DH_meth_new(3)>
+L<DH_new(3)>, L<DH_new(3)>, L<DH_meth_new(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/DH_size.pod b/doc/man3/DH_size.pod
index 8c1d151..c118bf3 100644
--- a/doc/man3/DH_size.pod
+++ b/doc/man3/DH_size.pod
@@ -28,7 +28,7 @@ The size.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<DH_generate_key(3)>,
+L<DH_new(3)>, L<DH_generate_key(3)>,
 L<BN_num_bits(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/DSA_SIG_new.pod b/doc/man3/DSA_SIG_new.pod
index 7503460..92c7bfd 100644
--- a/doc/man3/DSA_SIG_new.pod
+++ b/doc/man3/DSA_SIG_new.pod
@@ -43,7 +43,7 @@ DSA_SIG_set0() returns 1 on success or 0 on failure.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>,
 L<DSA_do_sign(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/DSA_do_sign.pod b/doc/man3/DSA_do_sign.pod
index 5e56d20..9372124 100644
--- a/doc/man3/DSA_do_sign.pod
+++ b/doc/man3/DSA_do_sign.pod
@@ -36,7 +36,7 @@ L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>, L<rand(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<DSA_SIG_new(3)>,
 L<DSA_sign(3)>
 
diff --git a/doc/man3/DSA_dup_DH.pod b/doc/man3/DSA_dup_DH.pod
index 6967ef3..b911300 100644
--- a/doc/man3/DSA_dup_DH.pod
+++ b/doc/man3/DSA_dup_DH.pod
@@ -27,7 +27,7 @@ Be careful to avoid small subgroup attacks when using this.
 
 =head1 SEE ALSO
 
-L<dh(3)>, L<dsa(3)>, L<ERR_get_error(3)>
+L<DH_new(3)>, L<DSA_new(3)>, L<ERR_get_error(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/DSA_generate_key.pod b/doc/man3/DSA_generate_key.pod
index 4781abe..3305c16 100644
--- a/doc/man3/DSA_generate_key.pod
+++ b/doc/man3/DSA_generate_key.pod
@@ -24,7 +24,7 @@ The error codes can be obtained by L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>, L<rand(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<DSA_generate_parameters(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/DSA_generate_parameters.pod b/doc/man3/DSA_generate_parameters.pod
index ca2c2ce..2cb20fa 100644
--- a/doc/man3/DSA_generate_parameters.pod
+++ b/doc/man3/DSA_generate_parameters.pod
@@ -107,7 +107,7 @@ Seed lengths E<gt> 20 are not supported.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>, L<rand(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<DSA_free(3)>, L<BN_generate_prime(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/DSA_get0_pqg.pod b/doc/man3/DSA_get0_pqg.pod
index e87e42a..3628ccb 100644
--- a/doc/man3/DSA_get0_pqg.pod
+++ b/doc/man3/DSA_get0_pqg.pod
@@ -82,7 +82,7 @@ has been set.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<DSA_new(3)>, L<DSA_generate_parameters(3)>, L<DSA_generate_key(3)>,
+L<DSA_new(3)>, L<DSA_new(3)>, L<DSA_generate_parameters(3)>, L<DSA_generate_key(3)>,
 L<DSA_dup_DH(3)>, L<DSA_do_sign(3)>, L<DSA_set_method(3)>, L<DSA_SIG_new(3)>,
 L<DSA_sign(3)>, L<DSA_size(3)>, L<DSA_meth_new(3)>
 
diff --git a/doc/man3/DSA_meth_new.pod b/doc/man3/DSA_meth_new.pod
index 68f744a..db4e03e 100644
--- a/doc/man3/DSA_meth_new.pod
+++ b/doc/man3/DSA_meth_new.pod
@@ -173,7 +173,7 @@ DSA_meth_set1_name() and all DSA_meth_set_*() functions return 1 on success or
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<DSA_new(3)>, L<DSA_generate_parameters(3)>, L<DSA_generate_key(3)>,
+L<DSA_new(3)>, L<DSA_new(3)>, L<DSA_generate_parameters(3)>, L<DSA_generate_key(3)>,
 L<DSA_dup_DH(3)>, L<DSA_do_sign(3)>, L<DSA_set_method(3)>, L<DSA_SIG_new(3)>,
 L<DSA_sign(3)>, L<DSA_size(3)>, L<DSA_get0_pqg(3)>
 
diff --git a/doc/man3/DSA_new.pod b/doc/man3/DSA_new.pod
index a967ab5..2247425 100644
--- a/doc/man3/DSA_new.pod
+++ b/doc/man3/DSA_new.pod
@@ -32,7 +32,7 @@ DSA_free() returns no value.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>,
 L<DSA_generate_parameters(3)>,
 L<DSA_generate_key(3)>
 
diff --git a/doc/man3/DSA_set_method.pod b/doc/man3/DSA_set_method.pod
index a64725f..807515e 100644
--- a/doc/man3/DSA_set_method.pod
+++ b/doc/man3/DSA_set_method.pod
@@ -71,7 +71,7 @@ fails. Otherwise it returns a pointer to the newly allocated structure.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<DSA_new(3)>, L<DSA_meth_new(3)>
+L<DSA_new(3)>, L<DSA_new(3)>, L<DSA_meth_new(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/DSA_sign.pod b/doc/man3/DSA_sign.pod
index ba0f6b8..c7108c4 100644
--- a/doc/man3/DSA_sign.pod
+++ b/doc/man3/DSA_sign.pod
@@ -55,7 +55,7 @@ Standard, DSS), ANSI X9.30
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<ERR_get_error(3)>, L<rand(3)>,
+L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<DSA_do_sign(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/DSA_size.pod b/doc/man3/DSA_size.pod
index 16e6f3a..abf8a45 100644
--- a/doc/man3/DSA_size.pod
+++ b/doc/man3/DSA_size.pod
@@ -30,7 +30,7 @@ DSA_bits() returns the number of bits in the key.
 
 =head1 SEE ALSO
 
-L<dsa(3)>, L<DSA_sign(3)>
+L<DSA_new(3)>, L<DSA_sign(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/DTLSv1_listen.pod b/doc/man3/DTLSv1_listen.pod
index a839d9f..3e0e251 100644
--- a/doc/man3/DTLSv1_listen.pod
+++ b/doc/man3/DTLSv1_listen.pod
@@ -83,7 +83,7 @@ whilst return codes >0 indicate success.
 =head1 SEE ALSO
 
 L<SSL_get_error(3)>, L<SSL_accept(3)>,
-L<ssl(3)>, L<bio(3)>
+L<ssl(7)>, L<bio(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ECDSA_SIG_new.pod b/doc/man3/ECDSA_SIG_new.pod
index f6aaed1..2eb4150 100644
--- a/doc/man3/ECDSA_SIG_new.pod
+++ b/doc/man3/ECDSA_SIG_new.pod
@@ -191,7 +191,7 @@ ANSI X9.62, US Federal Information Processing Standard FIPS 186-2
 
 =head1 SEE ALSO
 
-L<dsa(3)>,
+L<DSA_new(3)>,
 L<EVP_DigestSignInit(3)>,
 L<EVP_DigestVerifyInit(3)>
 
diff --git a/doc/man3/ECPKParameters_print.pod b/doc/man3/ECPKParameters_print.pod
index c9c3628..2f8171e 100644
--- a/doc/man3/ECPKParameters_print.pod
+++ b/doc/man3/ECPKParameters_print.pod
@@ -28,7 +28,7 @@ return 1 for success and 0 if an error occurs.
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
 L<EC_POINT_new(3)>, L<EC_POINT_add(3)>, L<EC_KEY_new(3)>,
 L<EC_GFp_simple_method(3)>,
 
diff --git a/doc/man3/EC_GFp_simple_method.pod b/doc/man3/EC_GFp_simple_method.pod
index 89c590e..1187479 100644
--- a/doc/man3/EC_GFp_simple_method.pod
+++ b/doc/man3/EC_GFp_simple_method.pod
@@ -52,7 +52,7 @@ EC_METHOD_get_field_type returns an integer that identifies the type of field th
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
 L<EC_POINT_new(3)>, L<EC_POINT_add(3)>, L<EC_KEY_new(3)>,
 L<d2i_ECPKParameters(3)>,
 L<BN_mod_mul_montgomery(3)>
diff --git a/doc/man3/EC_GROUP_copy.pod b/doc/man3/EC_GROUP_copy.pod
index 6b398df..a89ca2d 100644
--- a/doc/man3/EC_GROUP_copy.pod
+++ b/doc/man3/EC_GROUP_copy.pod
@@ -190,7 +190,7 @@ trinomial or pentanomial respectively. Alternatively in the event of an error a
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>,
 L<EC_POINT_new(3)>, L<EC_POINT_add(3)>, L<EC_KEY_new(3)>,
 L<EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)>
 
diff --git a/doc/man3/EC_GROUP_new.pod b/doc/man3/EC_GROUP_new.pod
index 2512910..5d4cc47 100644
--- a/doc/man3/EC_GROUP_new.pod
+++ b/doc/man3/EC_GROUP_new.pod
@@ -104,7 +104,7 @@ EC_GROUP_set_curve_GFp, EC_GROUP_get_curve_GFp, EC_GROUP_set_curve_GF2m, EC_GROU
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_copy(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_copy(3)>,
 L<EC_POINT_new(3)>, L<EC_POINT_add(3)>, L<EC_KEY_new(3)>,
 L<EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)>
 
diff --git a/doc/man3/EC_KEY_get_enc_flags.pod b/doc/man3/EC_KEY_get_enc_flags.pod
index abc55c1..2e0e594 100644
--- a/doc/man3/EC_KEY_get_enc_flags.pod
+++ b/doc/man3/EC_KEY_get_enc_flags.pod
@@ -40,7 +40,7 @@ EC_KEY.
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>,
 L<EC_GROUP_copy(3)>, L<EC_POINT_new(3)>,
 L<EC_POINT_add(3)>,
 L<EC_GFp_simple_method(3)>,
diff --git a/doc/man3/EC_KEY_new.pod b/doc/man3/EC_KEY_new.pod
index 83a2c6d..bb842a4 100644
--- a/doc/man3/EC_KEY_new.pod
+++ b/doc/man3/EC_KEY_new.pod
@@ -165,7 +165,7 @@ of the buffer or 0 on error.
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>,
 L<EC_GROUP_copy(3)>, L<EC_POINT_new(3)>,
 L<EC_POINT_add(3)>,
 L<EC_GFp_simple_method(3)>,
diff --git a/doc/man3/EC_POINT_add.pod b/doc/man3/EC_POINT_add.pod
index c029de4..252349d 100644
--- a/doc/man3/EC_POINT_add.pod
+++ b/doc/man3/EC_POINT_add.pod
@@ -64,7 +64,7 @@ EC_GROUP_have_precompute_mult return 1 if a precomputation has been done, or 0 i
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
 L<EC_POINT_new(3)>, L<EC_KEY_new(3)>,
 L<EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)>
 
diff --git a/doc/man3/EC_POINT_new.pod b/doc/man3/EC_POINT_new.pod
index 206648c..046806c 100644
--- a/doc/man3/EC_POINT_new.pod
+++ b/doc/man3/EC_POINT_new.pod
@@ -180,7 +180,7 @@ error.
 
 =head1 SEE ALSO
 
-L<crypto(3)>, L<ec(3)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
+L<crypto(7)>, L<ec(7)>, L<EC_GROUP_new(3)>, L<EC_GROUP_copy(3)>,
 L<EC_POINT_add(3)>, L<EC_KEY_new(3)>,
 L<EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)>
 
diff --git a/doc/man3/ENGINE_add.pod b/doc/man3/ENGINE_add.pod
index 37384f6..c9181df 100644
--- a/doc/man3/ENGINE_add.pod
+++ b/doc/man3/ENGINE_add.pod
@@ -591,7 +591,7 @@ extension).
 
 =head1 SEE ALSO
 
-L<OPENSSL_init_crypto(3)>, L<RSA_new_method(3)>, L<dsa(3)>, L<dh(3)>, L<rand(3)>
+L<OPENSSL_init_crypto(3)>, L<RSA_new_method(3)>, L<DSA_new(3)>, L<DH_new(3)>, L<RAND_bytes(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ERR_GET_LIB.pod b/doc/man3/ERR_GET_LIB.pod
index 10e250f..b93ebf6 100644
--- a/doc/man3/ERR_GET_LIB.pod
+++ b/doc/man3/ERR_GET_LIB.pod
@@ -41,7 +41,7 @@ The library number, function code and reason code respectively.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_get_error(3)>
+L<err(7)>, L<ERR_get_error(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ERR_clear_error.pod b/doc/man3/ERR_clear_error.pod
index 892c67f..1c85e59 100644
--- a/doc/man3/ERR_clear_error.pod
+++ b/doc/man3/ERR_clear_error.pod
@@ -20,7 +20,7 @@ ERR_clear_error() has no return value.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_get_error(3)>
+L<err(7)>, L<ERR_get_error(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/ERR_error_string.pod b/doc/man3/ERR_error_string.pod
index 12f4f72..7fcf2f2 100644
--- a/doc/man3/ERR_error_string.pod
+++ b/doc/man3/ERR_error_string.pod
@@ -59,7 +59,7 @@ none is registered for the error code.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_get_error(3)>,
+L<err(7)>, L<ERR_get_error(3)>,
 L<ERR_print_errors(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/ERR_get_error.pod b/doc/man3/ERR_get_error.pod
index a7efc74..d8759a0 100644
--- a/doc/man3/ERR_get_error.pod
+++ b/doc/man3/ERR_get_error.pod
@@ -64,7 +64,7 @@ The error code, or 0 if there is no error in the queue.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_error_string(3)>,
+L<err(7)>, L<ERR_error_string(3)>,
 L<ERR_GET_LIB(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/ERR_load_crypto_strings.pod b/doc/man3/ERR_load_crypto_strings.pod
index 15f8000..ed3f122 100644
--- a/doc/man3/ERR_load_crypto_strings.pod
+++ b/doc/man3/ERR_load_crypto_strings.pod
@@ -42,7 +42,7 @@ ERR_free_strings() return no values.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_error_string(3)>
+L<err(7)>, L<ERR_error_string(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ERR_load_strings.pod b/doc/man3/ERR_load_strings.pod
index 86ee5fd..b8fc979 100644
--- a/doc/man3/ERR_load_strings.pod
+++ b/doc/man3/ERR_load_strings.pod
@@ -44,7 +44,7 @@ library number.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_load_strings(3)>
+L<err(7)>, L<ERR_load_strings(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/ERR_print_errors.pod b/doc/man3/ERR_print_errors.pod
index 17229af..b50999b 100644
--- a/doc/man3/ERR_print_errors.pod
+++ b/doc/man3/ERR_print_errors.pod
@@ -45,7 +45,7 @@ ERR_print_errors() and ERR_print_errors_fp() return no values.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_error_string(3)>,
+L<err(7)>, L<ERR_error_string(3)>,
 L<ERR_get_error(3)>.
 
 =head1 COPYRIGHT
diff --git a/doc/man3/ERR_put_error.pod b/doc/man3/ERR_put_error.pod
index 9d2405e..e90bc4d 100644
--- a/doc/man3/ERR_put_error.pod
+++ b/doc/man3/ERR_put_error.pod
@@ -62,7 +62,7 @@ no values.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<ERR_load_strings(3)>
+L<err(7)>, L<ERR_load_strings(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/ERR_remove_state.pod b/doc/man3/ERR_remove_state.pod
index f2e71e3..dc0f386 100644
--- a/doc/man3/ERR_remove_state.pod
+++ b/doc/man3/ERR_remove_state.pod
@@ -31,7 +31,7 @@ The functions described here return no value.
 
 =head1 SEE ALSO
 
-L<err(3)>, L<OPENSSL_init_crypto(3)>
+L<err(7)>, L<OPENSSL_init_crypto(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/ERR_set_mark.pod b/doc/man3/ERR_set_mark.pod
index 9c55f5a..29fc716 100644
--- a/doc/man3/ERR_set_mark.pod
+++ b/doc/man3/ERR_set_mark.pod
@@ -29,7 +29,7 @@ implies that the stack became empty, otherwise 1.
 
 =head1 SEE ALSO
 
-L<err(3)>
+L<err(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/EVP_BytesToKey.pod b/doc/man3/EVP_BytesToKey.pod
index 728c94e..8d49648 100644
--- a/doc/man3/EVP_BytesToKey.pod
+++ b/doc/man3/EVP_BytesToKey.pod
@@ -62,7 +62,7 @@ or 0 on error.
 
 =head1 SEE ALSO
 
-L<evp(3)>, L<rand(3)>,
+L<evp(7)>, L<RAND_bytes(3)>,
 L<PKCS5_PBKDF2_HMAC(3)>,
 L<EVP_EncryptInit(3)>
 
diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod
index d615b31..3f1fc33 100644
--- a/doc/man3/EVP_DigestInit.pod
+++ b/doc/man3/EVP_DigestInit.pod
@@ -233,7 +233,7 @@ digest name passed on the command line.
 =head1 SEE ALSO
 
 L<dgst(1)>,
-L<evp(3)>
+L<evp(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/EVP_DigestSignInit.pod b/doc/man3/EVP_DigestSignInit.pod
index 13d6c7b..fc735b8 100644
--- a/doc/man3/EVP_DigestSignInit.pod
+++ b/doc/man3/EVP_DigestSignInit.pod
@@ -74,10 +74,10 @@ which indicates the maximum possible signature for any set of parameters.
 =head1 SEE ALSO
 
 L<EVP_DigestVerifyInit(3)>,
-L<EVP_DigestInit(3)>, L<err(3)>,
-L<evp(3)>, L<hmac(3)>, L<md2(3)>,
-L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
-L<sha(3)>, L<dgst(1)>
+L<EVP_DigestInit(3)>, L<err(7)>,
+L<evp(7)>, L<HMAC(3)>, L<MD2(3)>,
+L<MD5(3)>, L<MDC2(3)>, L<RIPEMD160(3)>,
+L<SHA1(3)>, L<dgst(1)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/EVP_DigestVerifyInit.pod b/doc/man3/EVP_DigestVerifyInit.pod
index c665d12..d117582 100644
--- a/doc/man3/EVP_DigestVerifyInit.pod
+++ b/doc/man3/EVP_DigestVerifyInit.pod
@@ -69,10 +69,10 @@ will occur.
 =head1 SEE ALSO
 
 L<EVP_DigestSignInit(3)>,
-L<EVP_DigestInit(3)>, L<err(3)>,
-L<evp(3)>, L<hmac(3)>, L<md2(3)>,
-L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
-L<sha(3)>, L<dgst(1)>
+L<EVP_DigestInit(3)>, L<err(7)>,
+L<evp(7)>, L<HMAC(3)>, L<MD2(3)>,
+L<MD5(3)>, L<MDC2(3)>, L<RIPEMD160(3)>,
+L<SHA1(3)>, L<dgst(1)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/EVP_EncodeInit.pod b/doc/man3/EVP_EncodeInit.pod
index d919b14..55a17be 100644
--- a/doc/man3/EVP_EncodeInit.pod
+++ b/doc/man3/EVP_EncodeInit.pod
@@ -148,7 +148,7 @@ EVP_DecodeBlock() returns the length of the data decoded or -1 on error.
 
 =head1 SEE ALSO
 
-L<evp(3)>
+L<evp(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod
index d981620..ce0447f 100644
--- a/doc/man3/EVP_EncryptInit.pod
+++ b/doc/man3/EVP_EncryptInit.pod
@@ -31,10 +31,10 @@ 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
 
+=for comment generic
+
  #include <openssl/evp.h>
 
  EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
@@ -627,7 +627,7 @@ with a 128-bit key:
 
 =head1 SEE ALSO
 
-L<evp(3)>
+L<evp(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/EVP_OpenInit.pod b/doc/man3/EVP_OpenInit.pod
index ff84490..3b6fd1a 100644
--- a/doc/man3/EVP_OpenInit.pod
+++ b/doc/man3/EVP_OpenInit.pod
@@ -54,7 +54,7 @@ EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success.
 
 =head1 SEE ALSO
 
-L<evp(3)>, L<rand(3)>,
+L<evp(7)>, L<RAND_bytes(3)>,
 L<EVP_EncryptInit(3)>,
 L<EVP_SealInit(3)>
 
diff --git a/doc/man3/EVP_PKEY_encrypt.pod b/doc/man3/EVP_PKEY_encrypt.pod
index 01336e1..24a0b0a 100644
--- a/doc/man3/EVP_PKEY_encrypt.pod
+++ b/doc/man3/EVP_PKEY_encrypt.pod
@@ -84,7 +84,7 @@ set 'eng = NULL;' to start with the default OpenSSL RSA implementation:
 =head1 SEE ALSO
 
 L<d2i_X509(3)>,
-L<engine(3)>,
+L<ENGINE_by_id(3)>,
 L<EVP_PKEY_CTX_new(3)>,
 L<EVP_PKEY_decrypt(3)>,
 L<EVP_PKEY_sign(3)>,
diff --git a/doc/man3/EVP_SealInit.pod b/doc/man3/EVP_SealInit.pod
index 30bd680..fda0102 100644
--- a/doc/man3/EVP_SealInit.pod
+++ b/doc/man3/EVP_SealInit.pod
@@ -74,7 +74,7 @@ with B<type> set to NULL.
 
 =head1 SEE ALSO
 
-L<evp(3)>, L<rand(3)>,
+L<evp(7)>, L<RAND_bytes(3)>,
 L<EVP_EncryptInit(3)>,
 L<EVP_OpenInit(3)>
 
diff --git a/doc/man3/EVP_SignInit.pod b/doc/man3/EVP_SignInit.pod
index cfbfd5e..21522fd 100644
--- a/doc/man3/EVP_SignInit.pod
+++ b/doc/man3/EVP_SignInit.pod
@@ -93,10 +93,10 @@ The previous two bugs are fixed in the newer EVP_SignDigest*() function.
 =head1 SEE ALSO
 
 L<EVP_VerifyInit(3)>,
-L<EVP_DigestInit(3)>, L<err(3)>,
-L<evp(3)>, L<hmac(3)>, L<md2(3)>,
-L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
-L<sha(3)>, L<dgst(1)>
+L<EVP_DigestInit(3)>, L<err(7)>,
+L<evp(7)>, L<HMAC(3)>, L<MD2(3)>,
+L<MD5(3)>, L<MDC2(3)>, L<RIPEMD160(3)>,
+L<SHA1(3)>, L<dgst(1)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/EVP_VerifyInit.pod b/doc/man3/EVP_VerifyInit.pod
index 518c05e..41703ed 100644
--- a/doc/man3/EVP_VerifyInit.pod
+++ b/doc/man3/EVP_VerifyInit.pod
@@ -80,12 +80,12 @@ The previous two bugs are fixed in the newer EVP_VerifyDigest*() function.
 
 =head1 SEE ALSO
 
-L<evp(3)>,
+L<evp(7)>,
 L<EVP_SignInit(3)>,
-L<EVP_DigestInit(3)>, L<err(3)>,
-L<evp(3)>, L<hmac(3)>, L<md2(3)>,
-L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
-L<sha(3)>, L<dgst(1)>
+L<EVP_DigestInit(3)>, L<err(7)>,
+L<evp(7)>, L<HMAC(3)>, L<MD2(3)>,
+L<MD5(3)>, L<MDC2(3)>, L<RIPEMD160(3)>,
+L<SHA1(3)>, L<dgst(1)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/HMAC.pod b/doc/man3/HMAC.pod
index 595d67d..42f0bfd 100644
--- a/doc/man3/HMAC.pod
+++ b/doc/man3/HMAC.pod
@@ -133,7 +133,7 @@ RFC 2104
 
 =head1 SEE ALSO
 
-L<sha(3)>, L<evp(3)>
+L<SHA1(3)>, L<evp(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/OCSP_REQUEST_new.pod b/doc/man3/OCSP_REQUEST_new.pod
index 97c2337..becdd45 100644
--- a/doc/man3/OCSP_REQUEST_new.pod
+++ b/doc/man3/OCSP_REQUEST_new.pod
@@ -99,10 +99,10 @@ B<issuer>:
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<OCSP_cert_to_id(3)>,
 L<OCSP_request_add1_nonce(3)>,
-L<OCSP_response_find_status(3)>,
+L<OCSP_resp_find_status(3)>,
 L<OCSP_response_status(3)>,
 L<OCSP_sendreq_new(3)>
 
diff --git a/doc/man3/OCSP_cert_to_id.pod b/doc/man3/OCSP_cert_to_id.pod
index 0e37937..f1a4b15 100644
--- a/doc/man3/OCSP_cert_to_id.pod
+++ b/doc/man3/OCSP_cert_to_id.pod
@@ -70,10 +70,10 @@ B<OCSP_CERTID> structure is freed.
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<OCSP_request_add1_nonce(3)>,
 L<OCSP_REQUEST_new(3)>,
-L<OCSP_response_find_status(3)>,
+L<OCSP_resp_find_status(3)>,
 L<OCSP_response_status(3)>,
 L<OCSP_sendreq_new(3)>
 
diff --git a/doc/man3/OCSP_request_add1_nonce.pod b/doc/man3/OCSP_request_add1_nonce.pod
index dab42c6..66e4c7b 100644
--- a/doc/man3/OCSP_request_add1_nonce.pod
+++ b/doc/man3/OCSP_request_add1_nonce.pod
@@ -65,10 +65,10 @@ condition.
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<OCSP_cert_to_id(3)>,
 L<OCSP_REQUEST_new(3)>,
-L<OCSP_response_find_status(3)>,
+L<OCSP_resp_find_status(3)>,
 L<OCSP_response_status(3)>,
 L<OCSP_sendreq_new(3)>
 
diff --git a/doc/man3/OCSP_resp_find_status.pod b/doc/man3/OCSP_resp_find_status.pod
index 36f66a8..c8e4218 100644
--- a/doc/man3/OCSP_resp_find_status.pod
+++ b/doc/man3/OCSP_resp_find_status.pod
@@ -120,7 +120,7 @@ parameters can be set to NULL if their value is not required.
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<OCSP_cert_to_id(3)>,
 L<OCSP_request_add1_nonce(3)>,
 L<OCSP_REQUEST_new(3)>,
diff --git a/doc/man3/OCSP_response_status.pod b/doc/man3/OCSP_response_status.pod
index 81946a6..8f33001 100644
--- a/doc/man3/OCSP_response_status.pod
+++ b/doc/man3/OCSP_response_status.pod
@@ -74,11 +74,11 @@ B<OCSP_RESPONSE_STATUS_SUCCESSFUL>.
 
 =head1 SEE ALSO
 
-L<crypto(3)>
+L<crypto(7)>
 L<OCSP_cert_to_id(3)>
 L<OCSP_request_add1_nonce(3)>
 L<OCSP_REQUEST_new(3)>
-L<OCSP_response_find_status(3)>
+L<OCSP_resp_find_status(3)>
 L<OCSP_sendreq_new(3)>
 L<OCSP_RESPID_new(3)>
 L<OCSP_RESPID_free(3)>
diff --git a/doc/man3/OCSP_sendreq_new.pod b/doc/man3/OCSP_sendreq_new.pod
index c7fdc9b..65ba235 100644
--- a/doc/man3/OCSP_sendreq_new.pod
+++ b/doc/man3/OCSP_sendreq_new.pod
@@ -103,11 +103,11 @@ applications is not recommended.
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<OCSP_cert_to_id(3)>,
 L<OCSP_request_add1_nonce(3)>,
 L<OCSP_REQUEST_new(3)>,
-L<OCSP_response_find_status(3)>,
+L<OCSP_resp_find_status(3)>,
 L<OCSP_response_status(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/OPENSSL_LH_COMPFUNC.pod b/doc/man3/OPENSSL_LH_COMPFUNC.pod
index e760ae3..1e2e5d5 100644
--- a/doc/man3/OPENSSL_LH_COMPFUNC.pod
+++ b/doc/man3/OPENSSL_LH_COMPFUNC.pod
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-DECLARE_LHASH_OF,
+LHASH, DECLARE_LHASH_OF,
 OPENSSL_LH_COMPFUNC, OPENSSL_LH_HASHFUNC, OPENSSL_LH_DOALL_FUNC,
 LHASH_DOALL_ARG_FN_TYPE,
 IMPLEMENT_LHASH_HASH_FN, IMPLEMENT_LHASH_COMP_FN,
@@ -10,10 +10,10 @@ lh_TYPE_new, lh_TYPE_free,
 lh_TYPE_insert, lh_TYPE_delete, lh_TYPE_retrieve,
 lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error - dynamic hash table
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/lhash.h>
 
  DECLARE_LHASH_OF(TYPE);
@@ -220,7 +220,7 @@ lh_TYPE_insert() returns B<NULL> both for success and error.
 
 =head1 SEE ALSO
 
-L<lh_stats(3)>
+L<OPENSSL_LH_stats(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/OPENSSL_LH_stats.pod b/doc/man3/OPENSSL_LH_stats.pod
index c454a47..f7118ff 100644
--- a/doc/man3/OPENSSL_LH_stats.pod
+++ b/doc/man3/OPENSSL_LH_stats.pod
@@ -50,7 +50,7 @@ These functions do not return values.
 
 =head1 SEE ALSO
 
-L<bio(3)>, L<lhash(3)>
+L<bio(7)>, L<LHASH(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/OPENSSL_VERSION_NUMBER.pod b/doc/man3/OPENSSL_VERSION_NUMBER.pod
index 9cc1ed1..8ad931c 100644
--- a/doc/man3/OPENSSL_VERSION_NUMBER.pod
+++ b/doc/man3/OPENSSL_VERSION_NUMBER.pod
@@ -92,7 +92,7 @@ The version number.
 
 =head1 SEE ALSO
 
-L<crypto(3)>
+L<crypto(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/OPENSSL_config.pod b/doc/man3/OPENSSL_config.pod
index eae634a..e70fcd5 100644
--- a/doc/man3/OPENSSL_config.pod
+++ b/doc/man3/OPENSSL_config.pod
@@ -54,7 +54,7 @@ Neither OPENSSL_config() nor OPENSSL_no_config() return a value.
 
 =head1 SEE ALSO
 
-L<conf(5)>,
+L<config(5)>,
 L<CONF_modules_load_file(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/OPENSSL_load_builtin_modules.pod b/doc/man3/OPENSSL_load_builtin_modules.pod
index 112718a..9701a27 100644
--- a/doc/man3/OPENSSL_load_builtin_modules.pod
+++ b/doc/man3/OPENSSL_load_builtin_modules.pod
@@ -42,7 +42,7 @@ None of the functions return a value.
 
 =head1 SEE ALSO
 
-L<conf(3)>, L<OPENSSL_config(3)>
+L<config(5)>, L<OPENSSL_config(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/OPENSSL_secure_malloc.pod b/doc/man3/OPENSSL_secure_malloc.pod
index 517bfbc..0d83129 100644
--- a/doc/man3/OPENSSL_secure_malloc.pod
+++ b/doc/man3/OPENSSL_secure_malloc.pod
@@ -109,8 +109,7 @@ OPENSSL_secure_free() returns no values.
 =head1 SEE ALSO
 
 L<OPENSSL_malloc(3)>,
-L<BN_new(3)>,
-L<bn_internal(3)>.
+L<BN_new(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/OpenSSL_add_all_algorithms.pod b/doc/man3/OpenSSL_add_all_algorithms.pod
index aaa28dd..7c515aa 100644
--- a/doc/man3/OpenSSL_add_all_algorithms.pod
+++ b/doc/man3/OpenSSL_add_all_algorithms.pod
@@ -69,7 +69,7 @@ too much of a problem in practice.
 
 =head1 SEE ALSO
 
-L<evp(3)>, L<EVP_DigestInit(3)>,
+L<evp(7)>, L<EVP_DigestInit(3)>,
 L<EVP_EncryptInit(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/PEM_read_CMS.pod b/doc/man3/PEM_read_CMS.pod
index 649c808..65a114d 100644
--- a/doc/man3/PEM_read_CMS.pod
+++ b/doc/man3/PEM_read_CMS.pod
@@ -38,10 +38,10 @@ PEM_write_SSL_SESSION,
 PEM_write_bio_SSL_SESSION
 - PEM object encoding routines
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/pem.h>
 
  DECLARE_PEM_rw(name, TYPE)
diff --git a/doc/man3/PKCS5_PBKDF2_HMAC.pod b/doc/man3/PKCS5_PBKDF2_HMAC.pod
index 5cc2caa..5217b19 100644
--- a/doc/man3/PKCS5_PBKDF2_HMAC.pod
+++ b/doc/man3/PKCS5_PBKDF2_HMAC.pod
@@ -58,7 +58,7 @@ PKCS5_PBKDF2_HMAC() and PBKCS5_PBKDF2_HMAC_SHA1() return 1 on success or 0 on er
 
 =head1 SEE ALSO
 
-L<evp(3)>, L<rand(3)>,
+L<evp(7)>, L<RAND_bytes(3)>,
 L<EVP_BytesToKey(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RAND_add.pod b/doc/man3/RAND_add.pod
index 46de165..62ff794 100644
--- a/doc/man3/RAND_add.pod
+++ b/doc/man3/RAND_add.pod
@@ -64,7 +64,7 @@ RAND_event() and RAND_screen() are deprecated since OpenSSL
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<RAND_egd(3)>,
+L<RAND_bytes(3)>, L<RAND_egd(3)>,
 L<RAND_load_file(3)>, L<RAND_cleanup(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RAND_bytes.pod b/doc/man3/RAND_bytes.pod
index 684215c..a12f867 100644
--- a/doc/man3/RAND_bytes.pod
+++ b/doc/man3/RAND_bytes.pod
@@ -43,7 +43,7 @@ method.
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<ERR_get_error(3)>,
+L<RAND_bytes(3)>, L<ERR_get_error(3)>,
 L<RAND_add(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RAND_cleanup.pod b/doc/man3/RAND_cleanup.pod
index 2640c7d..31c90e7 100644
--- a/doc/man3/RAND_cleanup.pod
+++ b/doc/man3/RAND_cleanup.pod
@@ -24,7 +24,7 @@ RAND_cleanup() returns no value.
 
 =head1 SEE ALSO
 
-L<rand(3)>
+L<RAND_bytes(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/RAND_egd.pod b/doc/man3/RAND_egd.pod
index fcc57c0..1dc1321 100644
--- a/doc/man3/RAND_egd.pod
+++ b/doc/man3/RAND_egd.pod
@@ -72,7 +72,7 @@ success, and -1 if the connection failed. The PRNG state is not considered.
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<RAND_add(3)>,
+L<RAND_bytes(3)>, L<RAND_add(3)>,
 L<RAND_cleanup(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RAND_load_file.pod b/doc/man3/RAND_load_file.pod
index 39084b2..eecaab9 100644
--- a/doc/man3/RAND_load_file.pod
+++ b/doc/man3/RAND_load_file.pod
@@ -65,7 +65,7 @@ error.
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<RAND_add(3)>, L<RAND_cleanup(3)>
+L<RAND_bytes(3)>, L<RAND_add(3)>, L<RAND_cleanup(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/RAND_set_rand_method.pod b/doc/man3/RAND_set_rand_method.pod
index 02fe90c..02a8e02 100644
--- a/doc/man3/RAND_set_rand_method.pod
+++ b/doc/man3/RAND_set_rand_method.pod
@@ -67,7 +67,7 @@ algorithms.
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<engine(3)>
+L<RAND_bytes(3)>, L<ENGINE_by_id(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod
index 3bafc6f..08ba6a8 100644
--- a/doc/man3/RSA_generate_key.pod
+++ b/doc/man3/RSA_generate_key.pod
@@ -72,7 +72,7 @@ RSA_generate_key() goes into an infinite loop for illegal input values.
 
 =head1 SEE ALSO
 
-L<ERR_get_error(3)>, L<rand(3)>,
+L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<RSA_generate_key(3)>, L<BN_generate_prime(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RSA_get0_key.pod b/doc/man3/RSA_get0_key.pod
index 52f83e1..557eb43 100644
--- a/doc/man3/RSA_get0_key.pod
+++ b/doc/man3/RSA_get0_key.pod
@@ -90,7 +90,7 @@ ENGINE has been set.
 
 =head1 SEE ALSO
 
-L<rsa(3)>, L<RSA_new(3)>, L<RSA_size(3)>
+L<RSA_new(3)>, L<RSA_size(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/RSA_public_encrypt.pod b/doc/man3/RSA_public_encrypt.pod
index 2f78c27..6aa785d 100644
--- a/doc/man3/RSA_public_encrypt.pod
+++ b/doc/man3/RSA_public_encrypt.pod
@@ -73,7 +73,7 @@ SSL, PKCS #1 v2.0
 
 =head1 SEE ALSO
 
-L<ERR_get_error(3)>, L<rand(3)>,
+L<ERR_get_error(3)>, L<RAND_bytes(3)>,
 L<RSA_size(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod
index 16303c9..fb3fa25 100644
--- a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod
+++ b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod
@@ -48,7 +48,7 @@ These functions serve no recognizable purpose.
 =head1 SEE ALSO
 
 L<ERR_get_error(3)>,
-L<rand(3)>, L<RSA_sign(3)>,
+L<RAND_bytes(3)>, L<RSA_sign(3)>,
 L<RSA_verify(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SCT_new.pod b/doc/man3/SCT_new.pod
index 4ee41a6..54f6a85 100644
--- a/doc/man3/SCT_new.pod
+++ b/doc/man3/SCT_new.pod
@@ -174,7 +174,7 @@ B<SCT_set_source> returns 1 on success, 0 otherwise.
 
 =head1 SEE ALSO
 
-L<ct(3)>,
+L<ct(7)>,
 L<SCT_verify(3)>,
 L<OBJ_nid2obj(3)>
 
diff --git a/doc/man3/SCT_print.pod b/doc/man3/SCT_print.pod
index 88ad43e..7313306 100644
--- a/doc/man3/SCT_print.pod
+++ b/doc/man3/SCT_print.pod
@@ -31,8 +31,8 @@ beforehand in order to set the validation status of an SCT first.
 
 =head1 SEE ALSO
 
-L<ct(3)>,
-L<bio(3)>,
+L<ct(7)>,
+L<bio(7)>,
 L<CTLOG_STORE_new(3)>,
 L<SCT_validate(3)>
 
diff --git a/doc/man3/SCT_validate.pod b/doc/man3/SCT_validate.pod
index 713bcd2..98ae618 100644
--- a/doc/man3/SCT_validate.pod
+++ b/doc/man3/SCT_validate.pod
@@ -78,7 +78,7 @@ returned value will be SCT_VALIDATION_STATUS_NOT_SET.
 
 =head1 SEE ALSO
 
-L<ct(3)>
+L<ct(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SMIME_read_CMS.pod b/doc/man3/SMIME_read_CMS.pod
index efde0bd..800e4aa 100644
--- a/doc/man3/SMIME_read_CMS.pod
+++ b/doc/man3/SMIME_read_CMS.pod
@@ -58,9 +58,9 @@ if an error occurred. The error can be obtained from ERR_get_error(3).
 
 =head1 SEE ALSO
 
-L<ERR_get_error(3)>, L<CMS_type(3)>
+L<ERR_get_error(3)>, L<CMS_type(3)>,
 L<SMIME_read_CMS(3)>, L<CMS_sign(3)>,
-L<CMS_verify(3)>, L<CMS_encrypt(3)>
+L<CMS_verify(3)>, L<CMS_encrypt(3)>,
 L<CMS_decrypt(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CIPHER_get_name.pod b/doc/man3/SSL_CIPHER_get_name.pod
index b7ee3c8..b648e09 100644
--- a/doc/man3/SSL_CIPHER_get_name.pod
+++ b/doc/man3/SSL_CIPHER_get_name.pod
@@ -113,7 +113,7 @@ rather than a fixed string, in OpenSSL 1.1
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_current_cipher(3)>,
+L<ssl(7)>, L<SSL_get_current_cipher(3)>,
 L<SSL_get_ciphers(3)>, L<ciphers(1)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_COMP_add_compression_method.pod b/doc/man3/SSL_COMP_add_compression_method.pod
index c455832..2525878 100644
--- a/doc/man3/SSL_COMP_add_compression_method.pod
+++ b/doc/man3/SSL_COMP_add_compression_method.pod
@@ -78,7 +78,7 @@ The operation failed. Check the error queue to find out the reason.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_CTX_add_extra_chain_cert.pod b/doc/man3/SSL_CTX_add_extra_chain_cert.pod
index e2783de..05d17f8 100644
--- a/doc/man3/SSL_CTX_add_extra_chain_cert.pod
+++ b/doc/man3/SSL_CTX_add_extra_chain_cert.pod
@@ -53,7 +53,7 @@ reason for failure.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_use_certificate(3)>,
 L<SSL_CTX_set_client_cert_cb(3)>,
 L<SSL_CTX_load_verify_locations(3)>
diff --git a/doc/man3/SSL_CTX_add_session.pod b/doc/man3/SSL_CTX_add_session.pod
index dbdd9f0..dd92c3a 100644
--- a/doc/man3/SSL_CTX_add_session.pod
+++ b/doc/man3/SSL_CTX_add_session.pod
@@ -66,7 +66,7 @@ The following values are returned by all functions:
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_SESSION_free(3)>
 
diff --git a/doc/man3/SSL_CTX_config.pod b/doc/man3/SSL_CTX_config.pod
index 802c4c3..2dad9b6 100644
--- a/doc/man3/SSL_CTX_config.pod
+++ b/doc/man3/SSL_CTX_config.pod
@@ -25,7 +25,7 @@ can also be achieved: an application can support configuration features
 in newer versions of OpenSSL automatically.
 
 A configuration file must have been previously loaded, for example using
-CONF_modules_load_file(). See L<config(3)> for details of the configuration
+CONF_modules_load_file(). See L<config(5)> for details of the configuration
 file syntax.
 
 =head1 RETURN VALUES
@@ -73,7 +73,7 @@ the need for any additional application code.
 
 =head1 SEE ALSO
 
-L<config(3)>,
+L<config(5)>,
 L<SSL_CONF_cmd(3)>,
 L<CONF_modules_load_file(3)>
 
diff --git a/doc/man3/SSL_CTX_ctrl.pod b/doc/man3/SSL_CTX_ctrl.pod
index e8386a5..55fb015 100644
--- a/doc/man3/SSL_CTX_ctrl.pod
+++ b/doc/man3/SSL_CTX_ctrl.pod
@@ -29,7 +29,7 @@ supplied via the B<cmd> parameter.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_flush_sessions.pod b/doc/man3/SSL_CTX_flush_sessions.pod
index 7639451..429e717 100644
--- a/doc/man3/SSL_CTX_flush_sessions.pod
+++ b/doc/man3/SSL_CTX_flush_sessions.pod
@@ -39,7 +39,7 @@ L<SSL_CTX_sess_set_get_cb(3)>).
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_CTX_set_timeout(3)>,
 L<SSL_CTX_sess_set_get_cb(3)>
diff --git a/doc/man3/SSL_CTX_free.pod b/doc/man3/SSL_CTX_free.pod
index e5cc1aa..6b7bf1a 100644
--- a/doc/man3/SSL_CTX_free.pod
+++ b/doc/man3/SSL_CTX_free.pod
@@ -36,7 +36,7 @@ SSL_CTX_free() does not provide diagnostic information.
 
 =head1 SEE ALSO
 
-L<SSL_CTX_new(3)>, L<ssl(3)>,
+L<SSL_CTX_new(3)>, L<ssl(7)>,
 L<SSL_CTX_sess_set_get_cb(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_get_verify_mode.pod b/doc/man3/SSL_CTX_get_verify_mode.pod
index bd10034..5f6da9d 100644
--- a/doc/man3/SSL_CTX_get_verify_mode.pod
+++ b/doc/man3/SSL_CTX_get_verify_mode.pod
@@ -45,7 +45,7 @@ See DESCRIPTION
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_verify(3)>
+L<ssl(7)>, L<SSL_CTX_set_verify(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_has_client_custom_ext.pod b/doc/man3/SSL_CTX_has_client_custom_ext.pod
index d9e9a06..b220c5e 100644
--- a/doc/man3/SSL_CTX_has_client_custom_ext.pod
+++ b/doc/man3/SSL_CTX_has_client_custom_ext.pod
@@ -22,7 +22,7 @@ Returns 1 if a handler has been set, 0 otherwise.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_add_client_custom_ext(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_load_verify_locations.pod b/doc/man3/SSL_CTX_load_verify_locations.pod
index 59d11e0..db1e7f0 100644
--- a/doc/man3/SSL_CTX_load_verify_locations.pod
+++ b/doc/man3/SSL_CTX_load_verify_locations.pod
@@ -141,7 +141,7 @@ missing default location is still treated as a success.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_client_CA_list(3)>,
 L<SSL_get_client_CA_list(3)>,
 L<SSL_CTX_use_certificate(3)>,
diff --git a/doc/man3/SSL_CTX_new.pod b/doc/man3/SSL_CTX_new.pod
index 512fca8..dbb29d8 100644
--- a/doc/man3/SSL_CTX_new.pod
+++ b/doc/man3/SSL_CTX_new.pod
@@ -204,7 +204,7 @@ All version-specific methods were deprecated in OpenSSL 1.1.0.
 =head1 SEE ALSO
 
 L<SSL_CTX_set_options(3)>, L<SSL_CTX_free(3)>, L<SSL_accept(3)>,
-L<SSL_CTX_set_min_proto_version(3)>, L<ssl(3)>, L<SSL_set_connect_state(3)>
+L<SSL_CTX_set_min_proto_version(3)>, L<ssl(7)>, L<SSL_set_connect_state(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_sess_number.pod b/doc/man3/SSL_CTX_sess_number.pod
index 049c04c..a91cd74 100644
--- a/doc/man3/SSL_CTX_sess_number.pod
+++ b/doc/man3/SSL_CTX_sess_number.pod
@@ -69,7 +69,7 @@ The functions return the values indicated in the DESCRIPTION section.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_set_session(3)>,
+L<ssl(7)>, L<SSL_set_session(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>
 L<SSL_CTX_sess_set_cache_size(3)>
 
diff --git a/doc/man3/SSL_CTX_sess_set_cache_size.pod b/doc/man3/SSL_CTX_sess_set_cache_size.pod
index 5aef10b..6a1c140 100644
--- a/doc/man3/SSL_CTX_sess_set_cache_size.pod
+++ b/doc/man3/SSL_CTX_sess_set_cache_size.pod
@@ -45,7 +45,7 @@ SSL_CTX_sess_get_cache_size() returns the currently valid size.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_CTX_sess_number(3)>,
 L<SSL_CTX_flush_sessions(3)>
diff --git a/doc/man3/SSL_CTX_sess_set_get_cb.pod b/doc/man3/SSL_CTX_sess_set_get_cb.pod
index d2b0e04..ebea4c5 100644
--- a/doc/man3/SSL_CTX_sess_set_get_cb.pod
+++ b/doc/man3/SSL_CTX_sess_set_get_cb.pod
@@ -78,7 +78,7 @@ L<SSL_SESSION_free(3)>.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<d2i_SSL_SESSION(3)>,
+L<ssl(7)>, L<d2i_SSL_SESSION(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_CTX_flush_sessions(3)>,
 L<SSL_SESSION_free(3)>,
diff --git a/doc/man3/SSL_CTX_sessions.pod b/doc/man3/SSL_CTX_sessions.pod
index bc4a55e..c372c9a 100644
--- a/doc/man3/SSL_CTX_sessions.pod
+++ b/doc/man3/SSL_CTX_sessions.pod
@@ -18,16 +18,16 @@ internal session cache for B<ctx>.
 =head1 NOTES
 
 The sessions in the internal session cache are kept in an
-L<lhash(3)> type database. It is possible to directly
+L<LHASH(3)> type database. It is possible to directly
 access this database e.g. for searching. In parallel, the sessions
 form a linked list which is maintained separately from the
-L<lhash(3)> operations, so that the database must not be
+L<LHASH(3)> operations, so that the database must not be
 modified directly but by using the
 L<SSL_CTX_add_session(3)> family of functions.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<lhash(3)>,
+L<ssl(7)>, L<LHASH(3)>,
 L<SSL_CTX_add_session(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>
 
diff --git a/doc/man3/SSL_CTX_set1_sigalgs.pod b/doc/man3/SSL_CTX_set1_sigalgs.pod
index e9073b9..f828c02 100644
--- a/doc/man3/SSL_CTX_set1_sigalgs.pod
+++ b/doc/man3/SSL_CTX_set1_sigalgs.pod
@@ -98,7 +98,7 @@ All these functions return 1 for success and 0 for failure.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_shared_sigalgs(3)>,
+L<ssl(7)>, L<SSL_get_shared_sigalgs(3)>,
 L<SSL_CONF_CTX_new(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_alpn_select_cb.pod b/doc/man3/SSL_CTX_set_alpn_select_cb.pod
index 59acbad..5ff5a93 100644
--- a/doc/man3/SSL_CTX_set_alpn_select_cb.pod
+++ b/doc/man3/SSL_CTX_set_alpn_select_cb.pod
@@ -121,7 +121,7 @@ ALPN protocol not selected.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_tlsext_servername_callback(3)>,
+L<ssl(7)>, L<SSL_CTX_set_tlsext_servername_callback(3)>,
 L<SSL_CTX_set_tlsext_servername_arg(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_cert_cb.pod b/doc/man3/SSL_CTX_set_cert_cb.pod
index eaa7a4e..87e1b78 100644
--- a/doc/man3/SSL_CTX_set_cert_cb.pod
+++ b/doc/man3/SSL_CTX_set_cert_cb.pod
@@ -60,7 +60,7 @@ support it will B<not> be used.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_use_certificate(3)>,
+L<ssl(7)>, L<SSL_use_certificate(3)>,
 L<SSL_add1_chain_cert(3)>,
 L<SSL_get_client_CA_list(3)>,
 L<SSL_clear(3)>, L<SSL_free(3)>
diff --git a/doc/man3/SSL_CTX_set_cert_store.pod b/doc/man3/SSL_CTX_set_cert_store.pod
index 28e855f..f1a54a6 100644
--- a/doc/man3/SSL_CTX_set_cert_store.pod
+++ b/doc/man3/SSL_CTX_set_cert_store.pod
@@ -73,7 +73,7 @@ SSL_CTX_get_cert_store() returns the current setting.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_load_verify_locations(3)>,
 L<SSL_CTX_set_verify(3)>
 
diff --git a/doc/man3/SSL_CTX_set_cert_verify_callback.pod b/doc/man3/SSL_CTX_set_cert_verify_callback.pod
index af303f2..99021ae 100644
--- a/doc/man3/SSL_CTX_set_cert_verify_callback.pod
+++ b/doc/man3/SSL_CTX_set_cert_verify_callback.pod
@@ -58,7 +58,7 @@ SSL_CTX_set_cert_verify_callback() does not provide diagnostic information.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_verify(3)>,
+L<ssl(7)>, L<SSL_CTX_set_verify(3)>,
 L<SSL_get_verify_result(3)>,
 L<SSL_CTX_load_verify_locations(3)>
 
diff --git a/doc/man3/SSL_CTX_set_cipher_list.pod b/doc/man3/SSL_CTX_set_cipher_list.pod
index 4e66917..714bb3a 100644
--- a/doc/man3/SSL_CTX_set_cipher_list.pod
+++ b/doc/man3/SSL_CTX_set_cipher_list.pod
@@ -57,7 +57,7 @@ could be selected and 0 on complete failure.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_ciphers(3)>,
+L<ssl(7)>, L<SSL_get_ciphers(3)>,
 L<SSL_CTX_use_certificate(3)>,
 L<SSL_CTX_set_tmp_dh_callback(3)>,
 L<ciphers(1)>
diff --git a/doc/man3/SSL_CTX_set_client_CA_list.pod b/doc/man3/SSL_CTX_set_client_CA_list.pod
index 0252e7b..4192ab7 100644
--- a/doc/man3/SSL_CTX_set_client_CA_list.pod
+++ b/doc/man3/SSL_CTX_set_client_CA_list.pod
@@ -86,7 +86,7 @@ Scan all certificates in B<CAfile> and list them as acceptable CAs:
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_get_client_CA_list(3)>,
 L<SSL_load_client_CA_file(3)>,
 L<SSL_CTX_load_verify_locations(3)>
diff --git a/doc/man3/SSL_CTX_set_client_cert_cb.pod b/doc/man3/SSL_CTX_set_client_cert_cb.pod
index aed7d4f..982b6f9 100644
--- a/doc/man3/SSL_CTX_set_client_cert_cb.pod
+++ b/doc/man3/SSL_CTX_set_client_cert_cb.pod
@@ -86,7 +86,7 @@ and create a new one to return to the previous state.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_use_certificate(3)>,
+L<ssl(7)>, L<SSL_CTX_use_certificate(3)>,
 L<SSL_CTX_add_extra_chain_cert(3)>,
 L<SSL_get_client_CA_list(3)>,
 L<SSL_clear(3)>, L<SSL_free(3)>
diff --git a/doc/man3/SSL_CTX_set_ct_validation_callback.pod b/doc/man3/SSL_CTX_set_ct_validation_callback.pod
index c481ecb..a6cbe8f 100644
--- a/doc/man3/SSL_CTX_set_ct_validation_callback.pod
+++ b/doc/man3/SSL_CTX_set_ct_validation_callback.pod
@@ -119,7 +119,7 @@ callback) is set.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 <SSL_get_verify_result(3)>,
 L<SSL_session_reused(3)>,
 L<SSL_set_verify(3)>,
diff --git a/doc/man3/SSL_CTX_set_ctlog_list_file.pod b/doc/man3/SSL_CTX_set_ctlog_list_file.pod
index 4a2fa94..275831a 100644
--- a/doc/man3/SSL_CTX_set_ctlog_list_file.pod
+++ b/doc/man3/SSL_CTX_set_ctlog_list_file.pod
@@ -37,7 +37,7 @@ the case of an error, the log list may have been partially loaded.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_ct_validation_callback(3)>,
 L<CTLOG_STORE_new(3)>
 
diff --git a/doc/man3/SSL_CTX_set_default_passwd_cb.pod b/doc/man3/SSL_CTX_set_default_passwd_cb.pod
index 2196906..82d322b 100644
--- a/doc/man3/SSL_CTX_set_default_passwd_cb.pod
+++ b/doc/man3/SSL_CTX_set_default_passwd_cb.pod
@@ -98,7 +98,7 @@ first added to OpenSSL 1.1.0
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_use_certificate(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_generate_session_id.pod b/doc/man3/SSL_CTX_set_generate_session_id.pod
index 515fd25..387dfff 100644
--- a/doc/man3/SSL_CTX_set_generate_session_id.pod
+++ b/doc/man3/SSL_CTX_set_generate_session_id.pod
@@ -123,7 +123,7 @@ same id is already in the cache.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_version(3)>
+L<ssl(7)>, L<SSL_get_version(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_set_info_callback.pod b/doc/man3/SSL_CTX_set_info_callback.pod
index f36f217..6c14f3a 100644
--- a/doc/man3/SSL_CTX_set_info_callback.pod
+++ b/doc/man3/SSL_CTX_set_info_callback.pod
@@ -147,7 +147,7 @@ about alerts being handled and error messages to the B<bio_err> BIO.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_state_string(3)>,
+L<ssl(7)>, L<SSL_state_string(3)>,
 L<SSL_alert_type_string(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_max_cert_list.pod b/doc/man3/SSL_CTX_set_max_cert_list.pod
index 482751e..01936c5 100644
--- a/doc/man3/SSL_CTX_set_max_cert_list.pod
+++ b/doc/man3/SSL_CTX_set_max_cert_list.pod
@@ -67,7 +67,7 @@ set value.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>,
+L<ssl(7)>, L<SSL_new(3)>,
 L<SSL_CTX_set_verify(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_mode.pod b/doc/man3/SSL_CTX_set_mode.pod
index 6b8fad6..e83b591 100644
--- a/doc/man3/SSL_CTX_set_mode.pod
+++ b/doc/man3/SSL_CTX_set_mode.pod
@@ -97,7 +97,7 @@ SSL_CTX_get_mode() and SSL_get_mode() return the current bitmask.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_read_ex(3)>, L<SSL_read(3)>, L<SSL_write_ex(3)> or
+L<ssl(7)>, L<SSL_read_ex(3)>, L<SSL_read(3)>, L<SSL_write_ex(3)> or
 L<SSL_write(3)>, L<SSL_get_error(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/SSL_CTX_set_msg_callback.pod b/doc/man3/SSL_CTX_set_msg_callback.pod
index 9546e75..f663ab6 100644
--- a/doc/man3/SSL_CTX_set_msg_callback.pod
+++ b/doc/man3/SSL_CTX_set_msg_callback.pod
@@ -89,7 +89,7 @@ I<version> will be B<SSL3_VERSION>.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>
+L<ssl(7)>, L<SSL_new(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_set_options.pod b/doc/man3/SSL_CTX_set_options.pod
index 921c812..57d3d8a 100644
--- a/doc/man3/SSL_CTX_set_options.pod
+++ b/doc/man3/SSL_CTX_set_options.pod
@@ -278,7 +278,7 @@ secure renegotiation and 0 if it does not.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>, L<SSL_clear(3)>,
+L<ssl(7)>, L<SSL_new(3)>, L<SSL_clear(3)>,
 L<SSL_CTX_set_tmp_dh_callback(3)>,
 L<SSL_CTX_set_min_proto_version(3)>,
 L<dhparam(1)>
diff --git a/doc/man3/SSL_CTX_set_quiet_shutdown.pod b/doc/man3/SSL_CTX_set_quiet_shutdown.pod
index d39d747..99922eb 100644
--- a/doc/man3/SSL_CTX_set_quiet_shutdown.pod
+++ b/doc/man3/SSL_CTX_set_quiet_shutdown.pod
@@ -56,7 +56,7 @@ setting.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_shutdown(3)>,
+L<ssl(7)>, L<SSL_shutdown(3)>,
 L<SSL_set_shutdown(3)>, L<SSL_new(3)>,
 L<SSL_clear(3)>, L<SSL_free(3)>
 
diff --git a/doc/man3/SSL_CTX_set_read_ahead.pod b/doc/man3/SSL_CTX_set_read_ahead.pod
index bea8390..3a96ce3 100644
--- a/doc/man3/SSL_CTX_set_read_ahead.pod
+++ b/doc/man3/SSL_CTX_set_read_ahead.pod
@@ -46,7 +46,7 @@ and non zero otherwise.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_pending(3)>
+L<ssl(7)>, L<SSL_pending(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_set_session_cache_mode.pod b/doc/man3/SSL_CTX_set_session_cache_mode.pod
index a2e8266..93096c9 100644
--- a/doc/man3/SSL_CTX_set_session_cache_mode.pod
+++ b/doc/man3/SSL_CTX_set_session_cache_mode.pod
@@ -119,7 +119,7 @@ SSL_CTX_get_session_cache_mode() returns the currently set cache mode.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_set_session(3)>,
+L<ssl(7)>, L<SSL_set_session(3)>,
 L<SSL_session_reused(3)>,
 L<SSL_CTX_add_session(3)>,
 L<SSL_CTX_sess_number(3)>,
diff --git a/doc/man3/SSL_CTX_set_session_id_context.pod b/doc/man3/SSL_CTX_set_session_id_context.pod
index a873b03..d832350 100644
--- a/doc/man3/SSL_CTX_set_session_id_context.pod
+++ b/doc/man3/SSL_CTX_set_session_id_context.pod
@@ -78,7 +78,7 @@ The operation succeeded.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_CTX_set_ssl_version.pod b/doc/man3/SSL_CTX_set_ssl_version.pod
index 22c0370..901c057 100644
--- a/doc/man3/SSL_CTX_set_ssl_version.pod
+++ b/doc/man3/SSL_CTX_set_ssl_version.pod
@@ -55,7 +55,7 @@ The operation succeeded.
 =head1 SEE ALSO
 
 L<SSL_CTX_new(3)>, L<SSL_new(3)>,
-L<SSL_clear(3)>, L<ssl(3)>,
+L<SSL_clear(3)>, L<ssl(7)>,
 L<SSL_set_connect_state(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_CTX_set_timeout.pod b/doc/man3/SSL_CTX_set_timeout.pod
index 470efdf..c32585e 100644
--- a/doc/man3/SSL_CTX_set_timeout.pod
+++ b/doc/man3/SSL_CTX_set_timeout.pod
@@ -50,7 +50,7 @@ SSL_CTX_get_timeout() returns the currently set timeout value.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_CTX_flush_sessions(3)>,
diff --git a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod
index 34d8ce9..e9e4b39 100644
--- a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod
+++ b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod
@@ -179,7 +179,7 @@ returns 0 to indicate the callback function was set.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_set_session(3)>,
+L<ssl(7)>, L<SSL_set_session(3)>,
 L<SSL_session_reused(3)>,
 L<SSL_CTX_add_session(3)>,
 L<SSL_CTX_sess_number(3)>,
diff --git a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
index fbfb8cb..24d02dc 100644
--- a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
+++ b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
@@ -121,7 +121,7 @@ on failure. Check the error queue to find out the reason of failure.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_cipher_list(3)>,
+L<ssl(7)>, L<SSL_CTX_set_cipher_list(3)>,
 L<SSL_CTX_set_options(3)>,
 L<ciphers(1)>, L<dhparam(1)>
 
diff --git a/doc/man3/SSL_CTX_set_verify.pod b/doc/man3/SSL_CTX_set_verify.pod
index d2d3d03..15ef9a7 100644
--- a/doc/man3/SSL_CTX_set_verify.pod
+++ b/doc/man3/SSL_CTX_set_verify.pod
@@ -276,7 +276,7 @@ L<SSL_get_ex_data_X509_STORE_CTX_idx(3)>).
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>,
+L<ssl(7)>, L<SSL_new(3)>,
 L<SSL_CTX_get_verify_mode(3)>,
 L<SSL_get_verify_result(3)>,
 L<SSL_CTX_load_verify_locations(3)>,
diff --git a/doc/man3/SSL_CTX_use_certificate.pod b/doc/man3/SSL_CTX_use_certificate.pod
index c645f58..1feb576 100644
--- a/doc/man3/SSL_CTX_use_certificate.pod
+++ b/doc/man3/SSL_CTX_use_certificate.pod
@@ -160,7 +160,7 @@ Otherwise check out the error stack to find out the reason.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>, L<SSL_clear(3)>,
+L<ssl(7)>, L<SSL_new(3)>, L<SSL_clear(3)>,
 L<SSL_CTX_load_verify_locations(3)>,
 L<SSL_CTX_set_default_passwd_cb(3)>,
 L<SSL_CTX_set_cipher_list(3)>,
diff --git a/doc/man3/SSL_SESSION_free.pod b/doc/man3/SSL_SESSION_free.pod
index 1906510..eca4117 100644
--- a/doc/man3/SSL_SESSION_free.pod
+++ b/doc/man3/SSL_SESSION_free.pod
@@ -48,7 +48,7 @@ SSL_SESSION_free() does not provide diagnostic information.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_session(3)>,
+L<ssl(7)>, L<SSL_get_session(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_CTX_flush_sessions(3)>,
 L<d2i_SSL_SESSION(3)>
diff --git a/doc/man3/SSL_SESSION_get0_cipher.pod b/doc/man3/SSL_SESSION_get0_cipher.pod
index fdd36ed..550009d 100644
--- a/doc/man3/SSL_SESSION_get0_cipher.pod
+++ b/doc/man3/SSL_SESSION_get0_cipher.pod
@@ -20,7 +20,7 @@ should not be released.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<d2i_SSL_SESSION(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_SESSION_get0_hostname(3)>,
diff --git a/doc/man3/SSL_SESSION_get0_hostname.pod b/doc/man3/SSL_SESSION_get0_hostname.pod
index 6fb12be..6f18544 100644
--- a/doc/man3/SSL_SESSION_get0_hostname.pod
+++ b/doc/man3/SSL_SESSION_get0_hostname.pod
@@ -20,7 +20,7 @@ should not be free'd.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<d2i_SSL_SESSION(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_SESSION_free(3)>
diff --git a/doc/man3/SSL_SESSION_get0_id_context.pod b/doc/man3/SSL_SESSION_get0_id_context.pod
index 2ac3fc4..0e526c9 100644
--- a/doc/man3/SSL_SESSION_get0_id_context.pod
+++ b/doc/man3/SSL_SESSION_get0_id_context.pod
@@ -22,7 +22,7 @@ should not be released.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_set_session_id_context(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/SSL_SESSION_get_protocol_version.pod b/doc/man3/SSL_SESSION_get_protocol_version.pod
index a033fdd..ea36012 100644
--- a/doc/man3/SSL_SESSION_get_protocol_version.pod
+++ b/doc/man3/SSL_SESSION_get_protocol_version.pod
@@ -26,7 +26,7 @@ does B<not> perform a null check on the provided session B<s> pointer.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_SESSION_get_time.pod b/doc/man3/SSL_SESSION_get_time.pod
index d92a8ef..1702aa6 100644
--- a/doc/man3/SSL_SESSION_get_time.pod
+++ b/doc/man3/SSL_SESSION_get_time.pod
@@ -60,7 +60,7 @@ If any of the function is passed the NULL pointer for the session B<s>,
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_timeout(3)>,
 L<SSL_get_default_timeout(3)>
 
diff --git a/doc/man3/SSL_SESSION_has_ticket.pod b/doc/man3/SSL_SESSION_has_ticket.pod
index 9e37255..dd3ae12 100644
--- a/doc/man3/SSL_SESSION_has_ticket.pod
+++ b/doc/man3/SSL_SESSION_has_ticket.pod
@@ -31,7 +31,7 @@ may also become invalid as a result of a call to SSL_CTX_flush_sessions().
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<d2i_SSL_SESSION(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_SESSION_free(3)>
diff --git a/doc/man3/SSL_SESSION_set1_id.pod b/doc/man3/SSL_SESSION_set1_id.pod
index fe8a1c4..c75bb4b 100644
--- a/doc/man3/SSL_SESSION_set1_id.pod
+++ b/doc/man3/SSL_SESSION_set1_id.pod
@@ -23,7 +23,7 @@ if the supplied session ID length exceeds B<SSL_MAX_SSL_SESSION_ID_LENGTH>.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_accept.pod b/doc/man3/SSL_accept.pod
index 3248cac..335655f 100644
--- a/doc/man3/SSL_accept.pod
+++ b/doc/man3/SSL_accept.pod
@@ -65,7 +65,7 @@ to find out the reason.
 =head1 SEE ALSO
 
 L<SSL_get_error(3)>, L<SSL_connect(3)>,
-L<SSL_shutdown(3)>, L<ssl(3)>, L<bio(3)>,
+L<SSL_shutdown(3)>, L<ssl(7)>, L<bio(7)>,
 L<SSL_set_connect_state(3)>,
 L<SSL_do_handshake(3)>,
 L<SSL_CTX_new(3)>
diff --git a/doc/man3/SSL_alert_type_string.pod b/doc/man3/SSL_alert_type_string.pod
index 6e2768e..b88465b 100644
--- a/doc/man3/SSL_alert_type_string.pod
+++ b/doc/man3/SSL_alert_type_string.pod
@@ -228,7 +228,7 @@ Probably B<value> does not contain a correct alert message.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_info_callback(3)>
+L<ssl(7)>, L<SSL_CTX_set_info_callback(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_check_chain.pod b/doc/man3/SSL_check_chain.pod
index 8691994..28c789e 100644
--- a/doc/man3/SSL_check_chain.pod
+++ b/doc/man3/SSL_check_chain.pod
@@ -80,7 +80,7 @@ for earlier versions of TLS or DTLS.
 =head1 SEE ALSO
 
 L<SSL_CTX_set_cert_cb(3)>,
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_clear.pod b/doc/man3/SSL_clear.pod
index ed0ad60..385e4f6 100644
--- a/doc/man3/SSL_clear.pod
+++ b/doc/man3/SSL_clear.pod
@@ -69,7 +69,7 @@ The SSL_clear() operation was successful.
 
 L<SSL_new(3)>, L<SSL_free(3)>,
 L<SSL_shutdown(3)>, L<SSL_set_shutdown(3)>,
-L<SSL_CTX_set_options(3)>, L<ssl(3)>,
+L<SSL_CTX_set_options(3)>, L<ssl(7)>,
 L<SSL_CTX_set_client_cert_cb(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_connect.pod b/doc/man3/SSL_connect.pod
index df198f9..1f054d6 100644
--- a/doc/man3/SSL_connect.pod
+++ b/doc/man3/SSL_connect.pod
@@ -65,7 +65,7 @@ to find out the reason.
 =head1 SEE ALSO
 
 L<SSL_get_error(3)>, L<SSL_accept(3)>,
-L<SSL_shutdown(3)>, L<ssl(3)>, L<bio(3)>,
+L<SSL_shutdown(3)>, L<ssl(7)>, L<bio(7)>,
 L<SSL_set_connect_state(3)>,
 L<SSL_do_handshake(3)>,
 L<SSL_CTX_new(3)>
diff --git a/doc/man3/SSL_do_handshake.pod b/doc/man3/SSL_do_handshake.pod
index ffb71cc..a1b973f 100644
--- a/doc/man3/SSL_do_handshake.pod
+++ b/doc/man3/SSL_do_handshake.pod
@@ -66,7 +66,7 @@ to find out the reason.
 =head1 SEE ALSO
 
 L<SSL_get_error(3)>, L<SSL_connect(3)>,
-L<SSL_accept(3)>, L<ssl(3)>, L<bio(3)>,
+L<SSL_accept(3)>, L<ssl(7)>, L<bio(7)>,
 L<SSL_set_connect_state(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_free.pod b/doc/man3/SSL_free.pod
index eb69a16..205ea7a 100644
--- a/doc/man3/SSL_free.pod
+++ b/doc/man3/SSL_free.pod
@@ -40,7 +40,7 @@ SSL_free() does not provide diagnostic information.
 
 L<SSL_new(3)>, L<SSL_clear(3)>,
 L<SSL_shutdown(3)>, L<SSL_set_shutdown(3)>,
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get0_peer_scts.pod b/doc/man3/SSL_get0_peer_scts.pod
index 05d39fe..59120a3 100644
--- a/doc/man3/SSL_get0_peer_scts.pod
+++ b/doc/man3/SSL_get0_peer_scts.pod
@@ -30,7 +30,7 @@ SSL_get0_peer_scts() returns a list of SCTs found, or NULL if an error occurs.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_ct_validation_callback(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_get_SSL_CTX.pod b/doc/man3/SSL_get_SSL_CTX.pod
index 98b9bc6..efcd145 100644
--- a/doc/man3/SSL_get_SSL_CTX.pod
+++ b/doc/man3/SSL_get_SSL_CTX.pod
@@ -21,7 +21,7 @@ The pointer to the SSL_CTX object is returned.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>
+L<ssl(7)>, L<SSL_new(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_all_async_fds.pod b/doc/man3/SSL_get_all_async_fds.pod
index b4fa4ee..fd4515d 100644
--- a/doc/man3/SSL_get_all_async_fds.pod
+++ b/doc/man3/SSL_get_all_async_fds.pod
@@ -7,10 +7,10 @@ SSL_get_all_async_fds,
 SSL_get_changed_async_fds
 - manage asynchronous operations
 
-=for comment multiple includes
-
 =head1 SYNOPSIS
 
+=for comment multiple includes
+
  #include <openssl/async.h>
  #include <openssl/ssl.h>
 
diff --git a/doc/man3/SSL_get_ciphers.pod b/doc/man3/SSL_get_ciphers.pod
index cc55095..ce0be6e 100644
--- a/doc/man3/SSL_get_ciphers.pod
+++ b/doc/man3/SSL_get_ciphers.pod
@@ -69,7 +69,7 @@ See DESCRIPTION
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_cipher_list(3)>,
+L<ssl(7)>, L<SSL_CTX_set_cipher_list(3)>,
 L<SSL_CIPHER_get_name(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_get_client_CA_list.pod b/doc/man3/SSL_get_client_CA_list.pod
index b6092fe..40c3561 100644
--- a/doc/man3/SSL_get_client_CA_list.pod
+++ b/doc/man3/SSL_get_client_CA_list.pod
@@ -46,7 +46,7 @@ the server did not send a list of CAs (client mode).
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_client_CA_list(3)>,
 L<SSL_CTX_set_client_cert_cb(3)>
 
diff --git a/doc/man3/SSL_get_client_random.pod b/doc/man3/SSL_get_client_random.pod
index 46a2aa3..7012076 100644
--- a/doc/man3/SSL_get_client_random.pod
+++ b/doc/man3/SSL_get_client_random.pod
@@ -71,7 +71,7 @@ of bytes they would copy--that is, the length of the underlying field.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<RAND_bytes(3)>,
 L<SSL_export_keying_material(3)>
 
diff --git a/doc/man3/SSL_get_current_cipher.pod b/doc/man3/SSL_get_current_cipher.pod
index 87cecb0..cb7e999 100644
--- a/doc/man3/SSL_get_current_cipher.pod
+++ b/doc/man3/SSL_get_current_cipher.pod
@@ -41,7 +41,7 @@ These are implemented as macros.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CIPHER_get_name(3)>
+L<ssl(7)>, L<SSL_CIPHER_get_name(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_default_timeout.pod b/doc/man3/SSL_get_default_timeout.pod
index 875d38a..4bbaba0 100644
--- a/doc/man3/SSL_get_default_timeout.pod
+++ b/doc/man3/SSL_get_default_timeout.pod
@@ -32,7 +32,7 @@ See description.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_session_cache_mode(3)>,
 L<SSL_SESSION_get_time(3)>,
 L<SSL_CTX_flush_sessions(3)>,
diff --git a/doc/man3/SSL_get_error.pod b/doc/man3/SSL_get_error.pod
index 424f6f0..a1f8bc0 100644
--- a/doc/man3/SSL_get_error.pod
+++ b/doc/man3/SSL_get_error.pod
@@ -128,7 +128,7 @@ OpenSSL error queue contains more information on the error.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<err(3)>
+L<ssl(7)>, L<err(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_get_extms_support.pod b/doc/man3/SSL_get_extms_support.pod
index ba4de3a..9719c0a 100644
--- a/doc/man3/SSL_get_extms_support.pod
+++ b/doc/man3/SSL_get_extms_support.pod
@@ -26,7 +26,7 @@ was used.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_fd.pod b/doc/man3/SSL_get_fd.pod
index cd5b6ec..ca26018 100644
--- a/doc/man3/SSL_get_fd.pod
+++ b/doc/man3/SSL_get_fd.pod
@@ -39,7 +39,7 @@ The file descriptor linked to B<ssl>.
 
 =head1 SEE ALSO
 
-L<SSL_set_fd(3)>, L<ssl(3)> , L<bio(3)>
+L<SSL_set_fd(3)>, L<ssl(7)> , L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_peer_cert_chain.pod b/doc/man3/SSL_get_peer_cert_chain.pod
index 2e4f1e4..805ee36 100644
--- a/doc/man3/SSL_get_peer_cert_chain.pod
+++ b/doc/man3/SSL_get_peer_cert_chain.pod
@@ -62,7 +62,7 @@ The return value points to the certificate chain presented by the peer.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_peer_certificate(3)>, L<X509_up_ref(3)>,
+L<ssl(7)>, L<SSL_get_peer_certificate(3)>, L<X509_up_ref(3)>,
 L<X509_chain_up_ref(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_get_peer_certificate.pod b/doc/man3/SSL_get_peer_certificate.pod
index 57ed272..fd2ce08 100644
--- a/doc/man3/SSL_get_peer_certificate.pod
+++ b/doc/man3/SSL_get_peer_certificate.pod
@@ -49,7 +49,7 @@ The return value points to the certificate presented by the peer.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_verify_result(3)>,
+L<ssl(7)>, L<SSL_get_verify_result(3)>,
 L<SSL_CTX_set_verify(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_get_rbio.pod b/doc/man3/SSL_get_rbio.pod
index 5ac4ca2..f6ae3e9 100644
--- a/doc/man3/SSL_get_rbio.pod
+++ b/doc/man3/SSL_get_rbio.pod
@@ -35,7 +35,7 @@ The BIO linked to B<ssl>.
 
 =head1 SEE ALSO
 
-L<SSL_set_bio(3)>, L<ssl(3)> , L<bio(3)>
+L<SSL_set_bio(3)>, L<ssl(7)> , L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_session.pod b/doc/man3/SSL_get_session.pod
index 99936ad..d753b27 100644
--- a/doc/man3/SSL_get_session.pod
+++ b/doc/man3/SSL_get_session.pod
@@ -66,7 +66,7 @@ The return value points to the data of an SSL session.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_free(3)>,
+L<ssl(7)>, L<SSL_free(3)>,
 L<SSL_clear(3)>,
 L<SSL_SESSION_free(3)>
 
diff --git a/doc/man3/SSL_get_shared_sigalgs.pod b/doc/man3/SSL_get_shared_sigalgs.pod
index 6a70e90..1309882 100644
--- a/doc/man3/SSL_get_shared_sigalgs.pod
+++ b/doc/man3/SSL_get_shared_sigalgs.pod
@@ -72,7 +72,7 @@ or is not an appropriate combination (for example MD5 and DSA).
 =head1 SEE ALSO
 
 L<SSL_CTX_set_cert_cb(3)>,
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_get_verify_result.pod b/doc/man3/SSL_get_verify_result.pod
index 3b8b657..5b9fc93 100644
--- a/doc/man3/SSL_get_verify_result.pod
+++ b/doc/man3/SSL_get_verify_result.pod
@@ -50,7 +50,7 @@ Documented in L<verify(1)>.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_set_verify_result(3)>,
+L<ssl(7)>, L<SSL_set_verify_result(3)>,
 L<SSL_get_peer_certificate(3)>,
 L<verify(1)>
 
diff --git a/doc/man3/SSL_get_version.pod b/doc/man3/SSL_get_version.pod
index 23b6497..a691d04 100644
--- a/doc/man3/SSL_get_version.pod
+++ b/doc/man3/SSL_get_version.pod
@@ -49,7 +49,7 @@ This indicates that no version has been set (no connection established).
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_library_init.pod b/doc/man3/SSL_library_init.pod
index 6b921f6..1f13067 100644
--- a/doc/man3/SSL_library_init.pod
+++ b/doc/man3/SSL_library_init.pod
@@ -37,7 +37,7 @@ value.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<RAND_add(3)>
 
 =head1 HISTORY
diff --git a/doc/man3/SSL_load_client_CA_file.pod b/doc/man3/SSL_load_client_CA_file.pod
index cc6a19c..782329b 100644
--- a/doc/man3/SSL_load_client_CA_file.pod
+++ b/doc/man3/SSL_load_client_CA_file.pod
@@ -56,7 +56,7 @@ Pointer to the subject names of the successfully read certificates.
 
 =head1 SEE ALSO
 
-L<ssl(3)>,
+L<ssl(7)>,
 L<SSL_CTX_set_client_CA_list(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_new.pod b/doc/man3/SSL_new.pod
index a5a3ff9..60e977e 100644
--- a/doc/man3/SSL_new.pod
+++ b/doc/man3/SSL_new.pod
@@ -47,7 +47,7 @@ SSL_up_ref() returns 1 for success and 0 for failure.
 L<SSL_free(3)>, L<SSL_clear(3)>,
 L<SSL_CTX_set_options(3)>,
 L<SSL_get_SSL_CTX(3)>,
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_pending.pod b/doc/man3/SSL_pending.pod
index 642cd4b..c077a31 100644
--- a/doc/man3/SSL_pending.pod
+++ b/doc/man3/SSL_pending.pod
@@ -51,7 +51,7 @@ returns 1 if there is buffered record data in the SSL object and 0 otherwise.
 =head1 SEE ALSO
 
 L<SSL_read_ex(3)>, L<SSL_read(3)>, L<SSL_CTX_set_read_ahead(3)>,
-L<SSL_CTX_set_split_send_fragment(3)>, L<ssl(3)>
+L<SSL_CTX_set_split_send_fragment(3)>, L<ssl(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_read.pod b/doc/man3/SSL_read.pod
index 7c175bf..f1c898a 100644
--- a/doc/man3/SSL_read.pod
+++ b/doc/man3/SSL_read.pod
@@ -132,7 +132,7 @@ L<SSL_connect(3)>, L<SSL_accept(3)>
 L<SSL_set_connect_state(3)>,
 L<SSL_pending(3)>,
 L<SSL_shutdown(3)>, L<SSL_set_shutdown(3)>,
-L<ssl(3)>, L<bio(3)>
+L<ssl(7)>, L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_rstate_string.pod b/doc/man3/SSL_rstate_string.pod
index 7775913..7b3f525 100644
--- a/doc/man3/SSL_rstate_string.pod
+++ b/doc/man3/SSL_rstate_string.pod
@@ -54,7 +54,7 @@ The read state is unknown. This should never happen.
 
 =head1 SEE ALSO
 
-L<ssl(3)>
+L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_session_reused.pod b/doc/man3/SSL_session_reused.pod
index eda66b2..1a3d567 100644
--- a/doc/man3/SSL_session_reused.pod
+++ b/doc/man3/SSL_session_reused.pod
@@ -39,7 +39,7 @@ A session was reused.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_set_session(3)>,
+L<ssl(7)>, L<SSL_set_session(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/SSL_set_bio.pod b/doc/man3/SSL_set_bio.pod
index e8e55f4..dd96c1f 100644
--- a/doc/man3/SSL_set_bio.pod
+++ b/doc/man3/SSL_set_bio.pod
@@ -88,9 +88,9 @@ SSL_set_bio(), SSL_set_rbio() and SSL_set_wbio() cannot fail.
 
 =head1 SEE ALSO
 
-L<SSL_get_rbio(3)>,
+L<SSL_get_rbio(7)>,
 L<SSL_connect(3)>, L<SSL_accept(3)>,
-L<SSL_shutdown(3)>, L<ssl(3)>, L<bio(3)>
+L<SSL_shutdown(3)>, L<ssl(7)>, L<bio(7)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/SSL_set_connect_state.pod b/doc/man3/SSL_set_connect_state.pod
index 1f44f59..e6a0f1d 100644
--- a/doc/man3/SSL_set_connect_state.pod
+++ b/doc/man3/SSL_set_connect_state.pod
@@ -46,7 +46,7 @@ information.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_new(3)>, L<SSL_CTX_new(3)>,
+L<ssl(7)>, L<SSL_new(3)>, L<SSL_CTX_new(3)>,
 L<SSL_connect(3)>, L<SSL_accept(3)>,
 L<SSL_write_ex(3)>, L<SSL_write(3)>, L<SSL_read_ex(3)>, L<SSL_read(3)>,
 L<SSL_do_handshake(3)>,
diff --git a/doc/man3/SSL_set_fd.pod b/doc/man3/SSL_set_fd.pod
index e1f9988..d5ec951 100644
--- a/doc/man3/SSL_set_fd.pod
+++ b/doc/man3/SSL_set_fd.pod
@@ -49,7 +49,7 @@ The operation succeeded.
 
 L<SSL_get_fd(3)>, L<SSL_set_bio(3)>,
 L<SSL_connect(3)>, L<SSL_accept(3)>,
-L<SSL_shutdown(3)>, L<ssl(3)> , L<bio(3)>
+L<SSL_shutdown(3)>, L<ssl(7)> , L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_set_session.pod b/doc/man3/SSL_set_session.pod
index 1de533f..6130355 100644
--- a/doc/man3/SSL_set_session.pod
+++ b/doc/man3/SSL_set_session.pod
@@ -53,7 +53,7 @@ The operation succeeded.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_SESSION_free(3)>,
+L<ssl(7)>, L<SSL_SESSION_free(3)>,
 L<SSL_get_session(3)>,
 L<SSL_session_reused(3)>,
 L<SSL_CTX_set_session_cache_mode(3)>
diff --git a/doc/man3/SSL_set_shutdown.pod b/doc/man3/SSL_set_shutdown.pod
index ecdf60c..04bcc47 100644
--- a/doc/man3/SSL_set_shutdown.pod
+++ b/doc/man3/SSL_set_shutdown.pod
@@ -65,7 +65,7 @@ SSL_get_shutdown() returns the current setting.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_shutdown(3)>,
+L<ssl(7)>, L<SSL_shutdown(3)>,
 L<SSL_CTX_set_quiet_shutdown(3)>,
 L<SSL_clear(3)>, L<SSL_free(3)>
 
diff --git a/doc/man3/SSL_set_verify_result.pod b/doc/man3/SSL_set_verify_result.pod
index 8738d78..0a667af 100644
--- a/doc/man3/SSL_set_verify_result.pod
+++ b/doc/man3/SSL_set_verify_result.pod
@@ -31,7 +31,7 @@ SSL_set_verify_result() does not provide a return value.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_get_verify_result(3)>,
+L<ssl(7)>, L<SSL_get_verify_result(3)>,
 L<SSL_get_peer_certificate(3)>,
 L<verify(1)>
 
diff --git a/doc/man3/SSL_shutdown.pod b/doc/man3/SSL_shutdown.pod
index e8ec454..c40956c 100644
--- a/doc/man3/SSL_shutdown.pod
+++ b/doc/man3/SSL_shutdown.pod
@@ -118,7 +118,7 @@ L<SSL_get_error(3)>, L<SSL_connect(3)>,
 L<SSL_accept(3)>, L<SSL_set_shutdown(3)>,
 L<SSL_CTX_set_quiet_shutdown(3)>,
 L<SSL_clear(3)>, L<SSL_free(3)>,
-L<ssl(3)>, L<bio(3)>
+L<ssl(7)>, L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_state_string.pod b/doc/man3/SSL_state_string.pod
index a2f59e8..505945a 100644
--- a/doc/man3/SSL_state_string.pod
+++ b/doc/man3/SSL_state_string.pod
@@ -40,7 +40,7 @@ Detailed description of possible states to be included later.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_CTX_set_info_callback(3)>
+L<ssl(7)>, L<SSL_CTX_set_info_callback(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_want.pod b/doc/man3/SSL_want.pod
index e179d6b..c86344e 100644
--- a/doc/man3/SSL_want.pod
+++ b/doc/man3/SSL_want.pod
@@ -89,7 +89,7 @@ condition is true or 0 otherwise.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<err(3)>, L<SSL_get_error(3)>
+L<ssl(7)>, L<err(7)>, L<SSL_get_error(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/SSL_write.pod b/doc/man3/SSL_write.pod
index c860ed7..8ed9192 100644
--- a/doc/man3/SSL_write.pod
+++ b/doc/man3/SSL_write.pod
@@ -112,7 +112,7 @@ L<SSL_get_error(3)>, L<SSL_read_ex(3)>, L<SSL_read(3)>
 L<SSL_CTX_set_mode(3)>, L<SSL_CTX_new(3)>,
 L<SSL_connect(3)>, L<SSL_accept(3)>
 L<SSL_set_connect_state(3)>,
-L<ssl(3)>, L<bio(3)>
+L<ssl(7)>, L<bio(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man3/X509_dup.pod b/doc/man3/X509_dup.pod
index 7406a68..8226983 100644
--- a/doc/man3/X509_dup.pod
+++ b/doc/man3/X509_dup.pod
@@ -234,10 +234,10 @@ X509_VAL_new,
 X509_dup,
 - ASN1 object utilities
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/asn1t.h>
 
  DECLARE_ASN1_FUNCTIONS(type)
diff --git a/doc/man3/X509_get_notBefore.pod b/doc/man3/X509_get0_notBefore.pod
similarity index 100%
rename from doc/man3/X509_get_notBefore.pod
rename to doc/man3/X509_get0_notBefore.pod
diff --git a/doc/man3/d2i_PrivateKey.pod b/doc/man3/d2i_PrivateKey.pod
index 6b12ad9..60cd89e 100644
--- a/doc/man3/d2i_PrivateKey.pod
+++ b/doc/man3/d2i_PrivateKey.pod
@@ -56,7 +56,7 @@ L<ERR_get_error(3)>.
 
 =head1 SEE ALSO
 
-L<crypto(3)>,
+L<crypto(7)>,
 L<d2i_PKCS8PrivateKey(3)>
 
 =head1 COPYRIGHT
diff --git a/doc/man3/d2i_SSL_SESSION.pod b/doc/man3/d2i_SSL_SESSION.pod
index d6b1707..d300ff2 100644
--- a/doc/man3/d2i_SSL_SESSION.pod
+++ b/doc/man3/d2i_SSL_SESSION.pod
@@ -33,7 +33,7 @@ When the session is not valid, B<0> is returned and no operation is performed.
 
 =head1 SEE ALSO
 
-L<ssl(3)>, L<SSL_SESSION_free(3)>,
+L<ssl(7)>, L<SSL_SESSION_free(3)>,
 L<SSL_CTX_sess_set_get_cb(3)>,
 L<d2i_X509(3)>
 
diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod
index 06546a4..da5386b 100644
--- a/doc/man3/d2i_X509.pod
+++ b/doc/man3/d2i_X509.pod
@@ -349,10 +349,10 @@ i2d_X509_SIG,
 i2d_X509_VAL,
 - convert objects from/to ASN.1/DER representation
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  TYPE *d2i_TYPE(TYPE **a, unsigned char **pp, long length);
  TYPE *d2i_TYPE_bio(BIO *bp, TYPE **a);
  TYPE *d2i_TYPE_fp(FILE *fp, TYPE **a);
diff --git a/doc/man3/o2i_SCT_LIST.pod b/doc/man3/o2i_SCT_LIST.pod
index 82922fc..f0f3df3 100644
--- a/doc/man3/o2i_SCT_LIST.pod
+++ b/doc/man3/o2i_SCT_LIST.pod
@@ -28,7 +28,7 @@ L<d2i_SCT_LIST> and L<i2d_SCT_LIST>.
 
 =head1 SEE ALSO
 
-L<ct(3)>,
+L<ct(7)>,
 L<d2i_SCT_LIST(3)>,
 L<i2d_SCT_LIST(3)>
 
diff --git a/doc/man7/bio.pod b/doc/man7/bio.pod
index 7ad8bf4..7e397e1 100644
--- a/doc/man7/bio.pod
+++ b/doc/man7/bio.pod
@@ -4,10 +4,10 @@
 
 bio - Basic I/O abstraction
 
-=for comment generic
-
 =head1 SYNOPSIS
 
+=for comment generic
+
  #include <openssl/bio.h>
 
 =head1 DESCRIPTION
diff --git a/doc/man7/crypto.pod b/doc/man7/crypto.pod
index 9dd0564..e08c5c8 100644
--- a/doc/man7/crypto.pod
+++ b/doc/man7/crypto.pod
@@ -46,7 +46,7 @@ See the individual manual pages for details.
 
 =head1 SEE ALSO
 
-L<openssl(1)>, L<ssl(3)>
+L<openssl(1)>, L<ssl(7)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man7/des_modes.pod b/doc/man7/des_modes.pod
index 50871f6..67e3297 100644
--- a/doc/man7/des_modes.pod
+++ b/doc/man7/des_modes.pod
@@ -246,8 +246,8 @@ it to:
 
 =head1 SEE ALSO
 
-L<blowfish(3)>, L<des(3)>, L<idea(3)>,
-L<rc2(3)>
+L<BF_encrypt(3)>, L<DES_crypt(3)>, L<IDEA(3)>,
+L<RC2(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man7/evp.pod b/doc/man7/evp.pod
index c930e7d..9c9cbe0 100644
--- a/doc/man7/evp.pod
+++ b/doc/man7/evp.pod
@@ -66,7 +66,7 @@ L<B<EVP_Decode>I<...>|EVP_EncodeInit(3)> functions implement base 64 encoding
 and decoding.
 
 All the symmetric algorithms (ciphers), digests and asymmetric algorithms
-(public key algorithms) can be replaced by L<engine(3)> modules providing alternative
+(public key algorithms) can be replaced by ENGINE modules providing alternative
 implementations. If ENGINE implementations of ciphers or digests are registered
 as defaults, then the various EVP functions will automatically use those
 implementations automatically in preference to built in software
@@ -100,7 +100,7 @@ L<EVP_PKEY_verify(3)>,
 L<EVP_PKEY_verify_recover(3)>,
 L<EVP_PKEY_derive(3)>,
 L<EVP_BytesToKey(3)>,
-L<engine(3)>
+L<ENGINE_by_id(3)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man7/ssl.pod b/doc/man7/ssl.pod
index 7b5b39e..fb618fe 100644
--- a/doc/man7/ssl.pod
+++ b/doc/man7/ssl.pod
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-SSL - OpenSSL SSL/TLS library
+ssl - OpenSSL SSL/TLS library
 
 =head1 SYNOPSIS
 
@@ -736,7 +736,7 @@ See the individual manual pages for details.
 
 =head1 SEE ALSO
 
-L<openssl(1)>, L<crypto(3)>,
+L<openssl(1)>, L<crypto(7)>,
 L<CRYPTO_get_ex_new_index(3)>,
 L<SSL_accept(3)>, L<SSL_clear(3)>,
 L<SSL_connect(3)>,
diff --git a/doc/man7/x509.pod b/doc/man7/x509.pod
index a8969de..5246cd9 100644
--- a/doc/man7/x509.pod
+++ b/doc/man7/x509.pod
@@ -58,7 +58,7 @@ L<d2i_X509_CRL(3)>,
 L<d2i_X509_NAME(3)>,
 L<d2i_X509_REQ(3)>,
 L<d2i_X509_SIG(3)>,
-L<crypto(3)>,
+L<crypto(7)>,
 L<x509v3(3)>
 
 =head1 COPYRIGHT
diff --git a/util/check-doc-links.pl b/util/check-doc-links.pl
new file mode 100644
index 0000000..2cc4b31
--- /dev/null
+++ b/util/check-doc-links.pl
@@ -0,0 +1,99 @@
+#! /usr/bin/env perl
+# Copyright 2002-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
+# https://www.openssl.org/source/license.html
+
+
+require 5.10.0;
+use warnings;
+use strict;
+use File::Basename;
+
+# Collection of links in each POD file.
+# filename => [ "foo(1)", "bar(3)", ... ]
+my %link_collection = ();
+# Collection of names in each POD file.
+# "name(s)" => filename
+my %name_collection = ();
+
+sub collect {
+    my $filename = shift;
+    $filename =~ m|man(\d)/|;
+    my $section = $1;
+    my $simplename = basename($filename, ".pod");
+    my $err = 0;
+
+    my $contents = '';
+    {
+        local $/ = undef;
+        open POD, $filename or die "Couldn't open $filename, $!";
+        $contents = <POD>;
+        close POD;
+    }
+
+    $contents =~ /=head1 NAME([^=]*)=head1 /ms;
+    my $tmp = $1;
+    unless (defined $tmp) {
+        warn "weird name section in $filename\n";
+        return 1;
+    }
+    $tmp =~ tr/\n/ /;
+    $tmp =~ s/-.*//g;
+
+    my @names = map { s/\s+//g; $_ } split(/,/, $tmp);
+    unless (grep { $simplename eq $_ } @names) {
+        warn "$simplename missing among the names in $filename\n";
+        push @names, $simplename;
+    }
+    foreach my $name (@names) {
+        next if $name eq "";
+        my $namesection = "$name($section)";
+        if (exists $name_collection{$namesection}) {
+            warn "$namesection, found in $filename, already exists in $name_collection{$namesection}\n";
+            $err++;
+        } else {
+            $name_collection{$namesection} = $filename;
+        }
+    }
+
+    my @foreign_names =
+        map { map { s/\s+//g; $_ } split(/,/, $_) }
+        $contents =~ /=for\s+comment\s+foreign\s+manuals:\s*(.*)\n\n/;
+    foreach (@foreign_names) {
+        $name_collection{$_} = undef; # It still exists!
+    }
+
+    my @links = $contents =~ /L<
+                              # if the link is of the form L<something|name(s)>,
+                              # then remove 'something'.  Note that 'something'
+                              # may contain POD codes as well...
+                              (?:(?:[^\|]|<[^>]*>)*\|)?
+                              # we're only interested in referenses that have
+                              # a one digit section number
+                              ([^\/>\(]+\(\d\))
+                             /gx;
+    $link_collection{$filename} = [ @links ];
+
+    return $err;
+}
+
+sub check {
+    foreach my $filename (sort keys %link_collection) {
+        foreach my $link (@{$link_collection{$filename}}) {
+            warn "$link in $filename refers to a non-existing manual\n"
+                unless exists $name_collection{$link};
+        }
+    }
+}
+
+
+my $errs = 0;
+foreach (@ARGV ? @ARGV : glob('doc/*/*.pod')) {
+    $errs += collect($_);
+}
+check() unless $errs > 0;
+
+exit;


More information about the openssl-commits mailing list