| 
									
										
										
										
											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 |