2022-11-15 02:13:35 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2023-08-23 15:19:01 +08:00
|
|
|
SSL_set1_initial_peer_addr - set the initial peer address for a QUIC connection
|
2022-11-15 02:13:35 +08:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/ssl.h>
|
|
|
|
|
2023-08-23 15:19:01 +08:00
|
|
|
int SSL_set1_initial_peer_addr(SSL *s, const BIO_ADDR *addr);
|
2022-11-15 02:13:35 +08:00
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
2023-08-23 15:19:01 +08:00
|
|
|
SSL_set1_initial_peer_addr() sets the initial destination peer address to be used
|
2022-11-15 02:13:35 +08:00
|
|
|
for the purposes of establishing a QUIC connection in client mode. This function
|
|
|
|
can be used only on a QUIC connection SSL object, and can be used only before a
|
2022-12-15 15:05:21 +08:00
|
|
|
connection attempt is first made. I<addr> must point to a B<BIO_ADDR>
|
2022-11-15 02:13:35 +08:00
|
|
|
representing a UDP destination address of the server to connect to.
|
|
|
|
|
2022-11-30 16:04:34 +08:00
|
|
|
Where a QUIC connection object is provided with a write BIO which supports the
|
|
|
|
B<BIO_CTRL_DGRAM_GET_PEER> control (for example, B<BIO_s_dgram>), the initial
|
|
|
|
destination peer address can be detected automatically; if
|
|
|
|
B<BIO_CTRL_DGRAM_GET_PEER> returns a valid (non-B<AF_UNSPEC>) peer address and
|
|
|
|
no valid peer address has yet been set, this will be set automatically as the
|
|
|
|
initial peer address. This behaviour can be overridden by calling
|
2023-08-23 15:19:01 +08:00
|
|
|
SSL_set1_initial_peer_addr() with a valid peer address explicitly.
|
2022-11-15 02:13:35 +08:00
|
|
|
|
|
|
|
The destination address used by QUIC may change over time in response to
|
|
|
|
connection events, such as connection migration (where supported).
|
2023-08-23 15:19:01 +08:00
|
|
|
SSL_set1_initial_peer_addr() configures the destination address used for initial
|
2022-11-15 02:13:35 +08:00
|
|
|
connection establishment, and does not confer any guarantee about the
|
|
|
|
destination address being used for communication at any later time in the
|
|
|
|
connection lifecycle.
|
|
|
|
|
2023-08-23 15:19:01 +08:00
|
|
|
This function makes a copy of the address passed by the caller; the B<BIO_ADDR>
|
|
|
|
structure pointed to by I<addr> may be freed by the caller after this function
|
|
|
|
returns.
|
|
|
|
|
2022-11-15 02:13:35 +08:00
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
|
|
|
Returns 1 on success and 0 on failure.
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
L<BIO_ADDR(3)>, L<ssl(7)>
|
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
2023-08-23 15:19:01 +08:00
|
|
|
The SSL_set1_initial_peer_addr() function was added in OpenSSL 3.2.
|
2022-11-15 02:13:35 +08:00
|
|
|
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2023-09-07 16:59:15 +08:00
|
|
|
Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
|
2022-11-15 02:13:35 +08:00
|
|
|
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|