12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- =pod
- =head1 NAME
- SSL_inject_net_dgram - inject a datagram as though received from the network
- =head1 SYNOPSIS
- #include <openssl/ssl.h>
- int SSL_inject_net_dgram(SSL *s, const unsigned char *buf,
- size_t buf_len,
- const BIO_ADDR *peer,
- const BIO_ADDR *local);
- =head1 DESCRIPTION
- This function can be used to inject a datagram payload to a QUIC connection SSL
- object. The payload is processed as though it was received from the network.
- This function can be used for debugging purposes or to allow datagrams to be fed
- to QUIC from alternative sources.
- I<buf> is required and must point to a datagram payload to inject. I<buf_len> is
- the length of the buffer in bytes. The buffer is copied and need not remain
- valid after this function returns.
- I<peer> and I<local> are optional values pointing to B<BIO_ADDR> structures
- describing the remote and local UDP endpoint addresses for the packet. Though
- the injected packet was not actually received from the network directly by
- OpenSSL, the packet will be processed as though the received datagram had the
- given addresses.
- =head1 RETURN VALUES
- Returns 1 on success or 0 on failure. This function always fails if called
- on a SSL object which is not a QUIC connection SSL object.
- =head1 SEE ALSO
- L<OSSL_QUIC_client_method(3)>, L<SSL_handle_events(3)>, L<SSL_set_blocking_mode(3)>
- =head1 HISTORY
- The function SSL_inject_net_dgram() was added in OpenSSL 3.2.
- =head1 COPYRIGHT
- Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
- 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
|