openssl/doc/man7
Gustaf Neumann beec4e146a Add SSL_get_peer_addr() function to query peer address for QUIC
This change introduces a new public API symbol: SSL_get_peer_addr().
The change is QUIC-only, there are no changes for TLS connections

- API: add peer address query for QUIC connections
  * Internal: declare/implement ossl_quic_get_peer_addr(SSL*, BIO_ADDR*)
  * Public: declare/implement SSL_get_peer_addr(SSL*, BIO_ADDR*)

Rationale:
- Allow applications to retrieve the remote UDP tuple for QUIC sessions
  (e.g., logging, access control, diagnostics)

Provided documentation and test cases for SSL_get_peer_addr().

Set peer via channel API on new-conn.

- In ch_on_new_conn_common(), BIO_ADDR_copy(&ch->cur_peer_addr, peer)
  was replaced with ossl_quic_channel_set_peer_addr(ch, peer) so
  addressed_mode is enabled at connection bring-up.

Dropped redundant peer detection in create_qc_from_incoming_conn()

The peer address is now propagated in ch_on_new_conn_common() via
ossl_quic_channel_set_peer_addr(), so the channel is already in
"addressed" mode. This also avoids querying the (unconnected) server
UDP BIO, reduces duplication, and simplifies the accept path. All
regression tests pass.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28690)
2025-10-04 10:21:38 +02:00
..
img
EVP_ASYM_CIPHER-RSA.pod Copyright year updates 2025-09-02 13:05:45 +00:00
EVP_ASYM_CIPHER-SM2.pod
EVP_CIPHER-AES.pod
EVP_CIPHER-ARIA.pod
EVP_CIPHER-BLOWFISH.pod
EVP_CIPHER-CAMELLIA.pod
EVP_CIPHER-CAST.pod
EVP_CIPHER-CHACHA.pod
EVP_CIPHER-DES.pod
EVP_CIPHER-IDEA.pod
EVP_CIPHER-NULL.pod
EVP_CIPHER-RC2.pod
EVP_CIPHER-RC4.pod
EVP_CIPHER-RC5.pod
EVP_CIPHER-SEED.pod
EVP_CIPHER-SM4.pod
EVP_KDF-ARGON2.pod
EVP_KDF-HKDF.pod
EVP_KDF-HMAC-DRBG.pod
EVP_KDF-KB.pod
EVP_KDF-KRB5KDF.pod
EVP_KDF-PBKDF1.pod
EVP_KDF-PBKDF2.pod
EVP_KDF-PKCS12KDF.pod
EVP_KDF-PVKKDF.pod
EVP_KDF-SCRYPT.pod
EVP_KDF-SS.pod
EVP_KDF-SSHKDF.pod
EVP_KDF-TLS1_PRF.pod
EVP_KDF-TLS13_KDF.pod
EVP_KDF-X942-ASN1.pod
EVP_KDF-X942-CONCAT.pod
EVP_KDF-X963.pod
EVP_KEM-EC.pod
EVP_KEM-ML-KEM.pod
EVP_KEM-RSA.pod
EVP_KEM-X25519.pod
EVP_KEYEXCH-DH.pod
EVP_KEYEXCH-ECDH.pod
EVP_KEYEXCH-X25519.pod
EVP_MAC-BLAKE2.pod
EVP_MAC-CMAC.pod
EVP_MAC-GMAC.pod
EVP_MAC-HMAC.pod
EVP_MAC-KMAC.pod
EVP_MAC-Poly1305.pod
EVP_MAC-Siphash.pod
EVP_MD-BLAKE2.pod
EVP_MD-KECCAK.pod
EVP_MD-MD2.pod
EVP_MD-MD4.pod
EVP_MD-MD5-SHA1.pod
EVP_MD-MD5.pod
EVP_MD-MDC2.pod
EVP_MD-NULL.pod
EVP_MD-RIPEMD160.pod
EVP_MD-SHA1.pod
EVP_MD-SHA2.pod
EVP_MD-SHA3.pod
EVP_MD-SHAKE.pod
EVP_MD-SM3.pod
EVP_MD-WHIRLPOOL.pod
EVP_MD-common.pod
EVP_PKEY-DH.pod
EVP_PKEY-DSA.pod doc: Add missing commas 2025-09-11 16:02:23 +10:00
EVP_PKEY-EC.pod
EVP_PKEY-FFC.pod doc: Add missing commas 2025-09-11 16:02:23 +10:00
EVP_PKEY-HMAC.pod
EVP_PKEY-LMS.pod
EVP_PKEY-ML-DSA.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
EVP_PKEY-ML-KEM.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
EVP_PKEY-RSA.pod
EVP_PKEY-SLH-DSA.pod
EVP_PKEY-SM2.pod
EVP_PKEY-X25519.pod Copyright year updates 2025-09-02 13:05:45 +00:00
EVP_RAND-CRNG-TEST.pod
EVP_RAND-CTR-DRBG.pod
EVP_RAND-HASH-DRBG.pod
EVP_RAND-HMAC-DRBG.pod
EVP_RAND-JITTER.pod
EVP_RAND-SEED-SRC.pod
EVP_RAND-TEST-RAND.pod
EVP_RAND.pod
EVP_SIGNATURE-DSA.pod
EVP_SIGNATURE-ECDSA.pod
EVP_SIGNATURE-ED25519.pod
EVP_SIGNATURE-HMAC.pod
EVP_SIGNATURE-LMS.pod
EVP_SIGNATURE-ML-DSA.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
EVP_SIGNATURE-RSA.pod
EVP_SIGNATURE-SLH-DSA.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
OSSL_PROVIDER-FIPS.pod Document the OSSL_SELF_TEST_TYPE_PCT_IMPORT failure state 2025-08-30 09:11:13 -04:00
OSSL_PROVIDER-base.pod
OSSL_PROVIDER-default.pod
OSSL_PROVIDER-legacy.pod
OSSL_PROVIDER-null.pod
OSSL_STORE-winstore.pod
RAND.pod
RSA-PSS.pod
X25519.pod
bio.pod
ct.pod
des_modes.pod
evp.pod
fips_module.pod
life_cycle-cipher.pod
life_cycle-digest.pod
life_cycle-kdf.pod
life_cycle-mac.pod
life_cycle-pkey.pod
life_cycle-rand.pod
openssl-core.h.pod
openssl-core_dispatch.h.pod
openssl-core_names.h.pod
openssl-env.pod Copyright year updates 2025-09-02 13:05:45 +00:00
openssl-glossary.pod
openssl-qlog.pod
openssl-quic-concurrency.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
openssl-quic.pod Add SSL_get_peer_addr() function to query peer address for QUIC 2025-10-04 10:21:38 +02:00
openssl-threads.pod
openssl_user_macros.pod.in
ossl-guide-introduction.pod
ossl-guide-libcrypto-introduction.pod
ossl-guide-libraries-introduction.pod
ossl-guide-libssl-introduction.pod Copyright year updates 2025-09-02 13:05:45 +00:00
ossl-guide-migration.pod
ossl-guide-quic-client-block.pod
ossl-guide-quic-client-non-block.pod
ossl-guide-quic-introduction.pod
ossl-guide-quic-multi-stream.pod
ossl-guide-quic-server-block.pod
ossl-guide-quic-server-non-block.pod
ossl-guide-tls-client-block.pod
ossl-guide-tls-client-non-block.pod
ossl-guide-tls-introduction.pod Copyright year updates 2025-09-02 13:05:45 +00:00
ossl-guide-tls-server-block.pod Copyright year updates 2025-09-02 13:05:45 +00:00
ossl_store-file.pod
ossl_store.pod
passphrase-encoding.pod
property.pod
provider-asym_cipher.pod
provider-base.pod
provider-cipher.pod
provider-decoder.pod Copyright year updates 2025-09-02 13:05:45 +00:00
provider-digest.pod Copyright year updates 2025-09-02 13:05:45 +00:00
provider-encoder.pod Copyright year updates 2025-09-02 13:05:45 +00:00
provider-kdf.pod Add key_type to the derive_skey function 2025-09-10 14:59:32 +02:00
provider-kem.pod
provider-keyexch.pod Add key_type to the derive_skey function 2025-09-10 14:59:32 +02:00
provider-keymgmt.pod
provider-mac.pod
provider-object.pod
provider-rand.pod
provider-signature.pod add codespell pre-commit check and fix found misspellings 2025-10-03 09:03:14 +02:00
provider-skeymgmt.pod
provider-storemgmt.pod
provider.pod
proxy-certificates.pod
x509.pod