Commit 6b736d031e for openssl.org

commit 6b736d031e9bc7df908292f7f0a09ed5fd562f5a
Author: zaveshaa <zaveshaa@gmail.com>
Date:   Sun Aug 23 10:39:26 2026 +0300

    docs: fix doubled words in man pages and design docs

    Fix 23 occurrences of accidentally doubled words like 'in in',
    'the the', 'been been' across man1/man3/man7 pages, internal
    documentation and design documents.

    CLA: trivial
    Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
    Reviewed-by: Paul Dale <paul.dale@oracle.com>
    Merge-date: Thu Aug 27 16:00:39 2026
    Merged-from: https://github.com/openssl/openssl/pull/32461

diff --git a/doc/designs/ML-KEM.md b/doc/designs/ML-KEM.md
index b1ca4098e0..5c73e437f2 100644
--- a/doc/designs/ML-KEM.md
+++ b/doc/designs/ML-KEM.md
@@ -36,7 +36,7 @@ there are unambiguous choices for its encoding and decoding functions.
 It may be noted that the *wire-form* public key is "compressed".
 Instead of the bulky "A" ("m" in the code) matrix, which represents the majority
 of the storage required for ML-KEM public and private keys, the *wire-form* public
-key, holds a 32-byte seed from which the the matrix is regenerated by the recipient
+key, holds a 32-byte seed from which the matrix is regenerated by the recipient
 of the public key.
 In the OpenSSL implementation, the matrix is *eagerly* evaluated as part of
 decoding the public key, and stored in memory in the internal form needed for
diff --git a/doc/designs/evp_skey_multi.md b/doc/designs/evp_skey_multi.md
index dfff81ed17..1e5413abba 100644
--- a/doc/designs/evp_skey_multi.md
+++ b/doc/designs/evp_skey_multi.md
@@ -27,7 +27,7 @@ As all the objects are derived in one transaction, we can store a single opaque
 pointer keeping all the keys inside in the EVP_KDF_CTX object, and provide the
 API for access to a particular object.

-To derive the opaque keys and and bytes buffers, we use the function
+To derive the opaque keys and bytes buffers, we use the function

 ```C
 int EVP_KDF_derive_SKEYs(EVP_KDF_CTX *ctx, EVP_SKEYMGMT *mgmt,
diff --git a/doc/designs/quic-design/glossary.md b/doc/designs/quic-design/glossary.md
index 50a9d5ae2f..1f3a48e4df 100644
--- a/doc/designs/quic-design/glossary.md
+++ b/doc/designs/quic-design/glossary.md
@@ -56,7 +56,7 @@ dispatches calls to libssl public APIs to the APL.

 **Engine:** See `QUIC_ENGINE`.

-**Event Leader:** The QSO which is is the top-level QSO in a hierarchy of QSOs,
+**Event Leader:** The QSO which is the top-level QSO in a hierarchy of QSOs,
 and which is responsible for event processing for all QSOs in that hierarchy.
 This may be a QLSO or QCSO. See [the server API
 design](server/quic-server-api.md).
diff --git a/doc/designs/quic-design/quic-ackm.md b/doc/designs/quic-design/quic-ackm.md
index 38d72aac3c..c67dea3465 100644
--- a/doc/designs/quic-design/quic-ackm.md
+++ b/doc/designs/quic-design/quic-ackm.md
@@ -421,7 +421,7 @@ one that is not either
     process it safely).

 This should be called for a packet before attempting to process its contents.
-Failure to do so may may result in processing a duplicated packet in violation
+Failure to do so may result in processing a duplicated packet in violation
 of the RFC.

 The return value of this function transitions from 1 to 0 for a given PN once
diff --git a/doc/designs/quic-design/quic-api.md b/doc/designs/quic-design/quic-api.md
index dbb18264f8..e1702c57f9 100644
--- a/doc/designs/quic-design/quic-api.md
+++ b/doc/designs/quic-design/quic-api.md
@@ -453,7 +453,7 @@ use cases.

 The design is similar to that of `DTLSv1_get_timeout` and uses a `struct
 timeval`. However, this function can also output an infinite timeout using the
-`is_infinite` argument, whereas whereas `DTLSv1_get_timeout` represents an
+`is_infinite` argument, whereas `DTLSv1_get_timeout` represents an
 infinite timeout using a 0 return value, which does not allow a failure
 condition to be distinguished.

diff --git a/doc/internal/man3/OPTIONS.pod b/doc/internal/man3/OPTIONS.pod
index 669823ee8f..147fb55f59 100644
--- a/doc/internal/man3/OPTIONS.pod
+++ b/doc/internal/man3/OPTIONS.pod
@@ -186,7 +186,7 @@ B<OPT_PARAMETERS> macro:
     OPT_PARAMETERS()
     {OPT_PARAM_STR, 1, '-', "Parameters:\n"}

-Every "option" after after this should contain the parameter and
+Every "option" after this should contain the parameter and
 the help string:

     {"text", 0, 0, "Words to display (optional)"},
@@ -244,7 +244,7 @@ The opt_arg() function returns the option's argument value, if there is one.
 The opt_unknown() function returns the unknown option.
 In an option list, there can be at most one option with the empty string.
 This is a "wildcard" or "unknown" option. For example, it allows an
-option to be be taken as digest algorithm, like C<-sha1>. The function
+option to be taken as digest algorithm, like C<-sha1>. The function
 opt_md() takes the specified I<name> and fills in the digest into I<mdp>.
 The functions opt_cipher(), opt_cipher_any() and opt_cipher_silent()
 each takes the specified I<name> and fills in the cipher into I<cipherp>.
diff --git a/doc/internal/man7/VERSION.pod b/doc/internal/man7/VERSION.pod
index 8ffd836c13..bd7983ac1c 100644
--- a/doc/internal/man7/VERSION.pod
+++ b/doc/internal/man7/VERSION.pod
@@ -89,7 +89,7 @@ the string will be C<3.0.0>.
 =item $config{full_version}

 The fully loaded version number, a string composed from $config{version},
-$config{prerelease} and $config{build_metadata}.  See   See L</EXAMPLES> for
+$config{prerelease} and $config{build_metadata}.  See L</EXAMPLES> for
 a few examples.

 =back
diff --git a/doc/man1/openssl-req.pod.in b/doc/man1/openssl-req.pod.in
index d3d490a687..0fcce9fff2 100644
--- a/doc/man1/openssl-req.pod.in
+++ b/doc/man1/openssl-req.pod.in
@@ -393,9 +393,9 @@ certificate requests.
 This allows several different sections to be used in the same configuration
 file to specify requests for a variety of purposes.

-When signing a new CSR or X.509 certificate, if neither the the B<-extensions>
+When signing a new CSR or X.509 certificate, if neither the B<-extensions>
 option nor its alias B<-reqexts> are specified, the name of the extension
-section is taken from from C<req> section of the configuration file.
+section is taken from C<req> section of the configuration file.
 Specifically, from the value of that section's C<req_extensions> variable (for
 a CSR) or its C<x509_extensions> variable (for a certificate).
 If there is no setting for the variable (name/value assignment, see
diff --git a/doc/man3/DTLSv1_get_timeout.pod b/doc/man3/DTLSv1_get_timeout.pod
index 0b9c33fdc0..ff0518baab 100644
--- a/doc/man3/DTLSv1_get_timeout.pod
+++ b/doc/man3/DTLSv1_get_timeout.pod
@@ -33,7 +33,7 @@ Once the timeout expires, DTLSv1_handle_timeout() should be called to handle any
 internal processing which is due; for more information, see
 L<DTLSv1_handle_timeout(3)>.

-L<SSL_get_event_timeout(3)> supersedes all use cases for this this function and
+L<SSL_get_event_timeout(3)> supersedes all use cases for this function and
 may be used instead of it.

 =head1 RETURN VALUES
diff --git a/doc/man3/OPENSSL_ppccap.pod b/doc/man3/OPENSSL_ppccap.pod
index 8434395f3c..c4ff786e9b 100644
--- a/doc/man3/OPENSSL_ppccap.pod
+++ b/doc/man3/OPENSSL_ppccap.pod
@@ -63,7 +63,7 @@ enabled.
 Name: B<PPC_CRYPTO207>

 Meaning: Use instructions added in ISA level 2.07. The associated probe
-instruction instruction is vcipher (vector AES cipher round).
+instruction is vcipher (vector AES cipher round).

 Effect: Enables AES, SHA-2 sigma, and other ISA 2.07 instructions for AES, SHA-2,
 GHASH, and Poly1305.
diff --git a/doc/man3/RAND_bytes.pod b/doc/man3/RAND_bytes.pod
index 9d3bd349cb..a394ccdd06 100644
--- a/doc/man3/RAND_bytes.pod
+++ b/doc/man3/RAND_bytes.pod
@@ -50,7 +50,7 @@ ignored.

 RAND_set1_random_provider() specifies a provider, I<prov>, which will be used
 by the library context I<ctx> for all of the generate calls above instead
-of the built-in in DRBGs and entropy source.  Pass NULL for the provider
+of the built-in DRBGs and entropy source.  Pass NULL for the provider
 to disable the random provider functionality.  In this case, the built-in DRBGs
 and entropy source will be used.  This call should not be considered thread safe.

diff --git a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
index d3751005fd..4ca68aa60c 100644
--- a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
+++ b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod
@@ -66,7 +66,7 @@ it off. The default setting is off.

 If "auto" DH parameters are switched on then the parameters will be selected to
 be consistent with the size of the key associated with the server's certificate.
-If there is no certificate (e.g. for PSK ciphersuites), then it it will be
+If there is no certificate (e.g. for PSK ciphersuites), then it will be
 consistent with the size of the negotiated symmetric cipher key.

 Applications may supply their own DH parameters instead of using the built-in
diff --git a/doc/man3/SSL_get_shared_sigalgs.pod b/doc/man3/SSL_get_shared_sigalgs.pod
index db095dea67..fdf28eae2a 100644
--- a/doc/man3/SSL_get_shared_sigalgs.pod
+++ b/doc/man3/SSL_get_shared_sigalgs.pod
@@ -65,7 +65,7 @@ Otherwise, when I<idx> is nonnegative, it is the index of the shared
 signature algorithm to return starting from zero.
 The signature algorithm NID is written to I<*psign>, the hash NID to I<*phash>
 and the sign and hash NID to I<*psignhash>.
-As of TLS 1.3 signature algorithms are not always a pairing of of a separate
+As of TLS 1.3 signature algorithms are not always a pairing of a separate
 public key algorithm and a digest algorithm, and so I<*phash> and I<*psignhash>
 may not always be meaningful.
 The raw B<hash> and B<signature> bytes of the signature algorithm codepoint are
diff --git a/doc/man3/SSL_in_init.pod b/doc/man3/SSL_in_init.pod
index 02725d83bc..8e9f2f09e2 100644
--- a/doc/man3/SSL_in_init.pod
+++ b/doc/man3/SSL_in_init.pod
@@ -71,7 +71,7 @@ format. These are:

 =item TLS_ST_BEFORE

-No handshake messages have yet been been sent or received.
+No handshake messages have yet been sent or received.

 =item TLS_ST_OK

diff --git a/doc/man3/SSL_poll.pod b/doc/man3/SSL_poll.pod
index be8f8a4f78..be6a544444 100644
--- a/doc/man3/SSL_poll.pod
+++ b/doc/man3/SSL_poll.pod
@@ -86,7 +86,7 @@ least one of the given resources is ready.
 A call to SSL_poll() specifies an array of B<SSL_POLL_ITEM> structures, each of
 which designates a resource which is being polled for readiness, and a set of
 event flags which indicate the specific readiness events which the caller is
-interested in in relation to the specified resource.
+interested in relation to the specified resource.

 The fields of B<SSL_POLL_ITEM> are as follows:

@@ -412,7 +412,7 @@ guaranteed to be at least one) reflect the cause of the failure of the first
 item in I<items> with B<SSL_POLL_EVENT_F> raised. Note that there may be events
 other than I<SSL_POLL_EVENT_F> output for items which come before the first
 item with B<SSL_POLL_EVENT_F> raised, and additional B<SSL_POLL_EVENT_F>
-events may or may not have been output, both of which which will be reflected in
+events may or may not have been output, both of which will be reflected in
 I<result_count>.

 =back
diff --git a/doc/man7/EVP_MAC-Poly1305.pod b/doc/man7/EVP_MAC-Poly1305.pod
index a942226cd8..8c3068a837 100644
--- a/doc/man7/EVP_MAC-Poly1305.pod
+++ b/doc/man7/EVP_MAC-Poly1305.pod
@@ -46,7 +46,7 @@ Gets the MAC size.

 =back

-The "size" parameter can also be retrieved with with EVP_MAC_CTX_get_mac_size().
+The "size" parameter can also be retrieved with EVP_MAC_CTX_get_mac_size().
 The length of the "size" parameter should not exceed that of an B<unsigned int>.

 =head1 NOTES
diff --git a/doc/man7/EVP_PKEY-MLX-KEM.pod b/doc/man7/EVP_PKEY-MLX-KEM.pod
index 12134056b0..4c197bd078 100644
--- a/doc/man7/EVP_PKEY-MLX-KEM.pod
+++ b/doc/man7/EVP_PKEY-MLX-KEM.pod
@@ -138,7 +138,7 @@ The public key value.

 This parameter is only used when importing or exporting the public key value with
 the EVP_PKEY_fromdata() and EVP_PKEY_todata() functions.
-The public key format format is the same as "encoded-pub-key".
+The public key format is the same as "encoded-pub-key".

 =item "priv" (B<OSSL_PKEY_PARAM_PRIV_KEY>) <octet string>

diff --git a/doc/man7/openssl-quic.pod b/doc/man7/openssl-quic.pod
index 041bb5804d..7c0fcc8622 100644
--- a/doc/man7/openssl-quic.pod
+++ b/doc/man7/openssl-quic.pod
@@ -439,7 +439,7 @@ are handled in a timely manner. See B<THREAD ASSISTED MODE> for details.
 Ensure that your usage of L<SSL_want(3)>, L<SSL_want_read(3)> and
 L<SSL_want_write(3)> reflects the API changes described in B<CHANGES TO EXISTING
 APIS>. In particular, you should use these APIs to determine the ability of a
-QUIC stream to receive or provide application data, not to to determine if
+QUIC stream to receive or provide application data, not to determine if
 network I/O is required.

 =item
diff --git a/doc/man7/ossl-guide-tls-client-block.pod b/doc/man7/ossl-guide-tls-client-block.pod
index e508eb23ec..4b9c619b7d 100644
--- a/doc/man7/ossl-guide-tls-client-block.pod
+++ b/doc/man7/ossl-guide-tls-client-block.pod
@@ -247,7 +247,7 @@ Finally we associate the B<SSL> object we created earlier with the B<BIO> using
 the L<SSL_set_bio(3)> function. Note that this passes ownership of the B<BIO>
 object to the B<SSL> object. Once ownership is passed the SSL object is
 responsible for its management and will free it automatically when the B<SSL> is
-freed. So, once L<SSL_set_bio(3)> has been been called, you should not call
+freed. So, once L<SSL_set_bio(3)> has been called, you should not call
 L<BIO_free(3)> on the B<BIO>.

     SSL_set_bio(ssl, bio, bio);
diff --git a/doc/man7/provider-digest.pod b/doc/man7/provider-digest.pod
index 6d90534f9e..09492c7a52 100644
--- a/doc/man7/provider-digest.pod
+++ b/doc/man7/provider-digest.pod
@@ -192,7 +192,7 @@ provider side digest context I<dctx> to I<params>.
 Any parameter settings are additional to any that were previously set.
 Passing NULL for I<params> should return true.

-OSSL_FUNC_digest_get_ctx_params() gets digest operation details details from
+OSSL_FUNC_digest_get_ctx_params() gets digest operation details from
 the given provider side digest context I<dctx> and stores them in I<params>.
 Passing NULL for I<params> should return true.