OSSL_QRX
OSSL_QRX *qrx;
void ossl_quic_channel_bind_qrx(QUIC_CHANNEL *tserver_ch, OSSL_QRX *qrx);
int ossl_qrx_provide_secret(OSSL_QRX *qrx,
void ossl_qrx_update_pn_space(OSSL_QRX *src, OSSL_QRX *dst);
int ossl_qrx_discard_enc_level(OSSL_QRX *qrx, uint32_t enc_level);
OSSL_QRX *qrx;
int ossl_qrx_read_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT **pkt);
int ossl_qrx_processed_read_pending(OSSL_QRX *qrx);
int ossl_qrx_unprocessed_read_pending(OSSL_QRX *qrx);
uint64_t ossl_qrx_get_bytes_received(OSSL_QRX *qrx, int clear);
int ossl_qrx_set_late_validation_cb(OSSL_QRX *qrx,
void ossl_qrx_inject_urxe(OSSL_QRX *qrx, QUIC_URXE *e);
void ossl_qrx_inject_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT *pkt);
int ossl_qrx_validate_initial_packet(OSSL_QRX *qrx, QUIC_URXE *urxe,
void ossl_qrx_allow_1rtt_processing(OSSL_QRX *qrx);
uint64_t ossl_qrx_get_key_epoch(OSSL_QRX *qrx);
OSSL_QRX *ossl_qrx_new(const OSSL_QRX_ARGS *args);
int ossl_qrx_set_key_update_cb(OSSL_QRX *qrx,
int ossl_qrx_key_update_timeout(OSSL_QRX *qrx, int normal);
uint64_t ossl_qrx_get_cur_forged_pkt_count(OSSL_QRX *qrx);
uint64_t ossl_qrx_get_max_forged_pkt_count(OSSL_QRX *qrx,
void ossl_qrx_free(OSSL_QRX *qrx);
void ossl_qrx_set_msg_callback(OSSL_QRX *qrx, ossl_msg_cb msg_callback,
void ossl_qrx_set_msg_callback_arg(OSSL_QRX *qrx,
size_t ossl_qrx_get_short_hdr_conn_id_len(OSSL_QRX *qrx);
void ossl_quic_channel_bind_qrx(QUIC_CHANNEL *tserver_ch, OSSL_QRX *qrx)
OSSL_QRX *qrx;
OSSL_QRX *qrx = NULL;
OSSL_QRX *qrx_src = NULL;
static QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX *qrx,
const QUIC_CONN_ID *odcid, OSSL_QRX *qrx,
static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
static int qrx_process_datagram(OSSL_QRX *qrx, QUIC_URXE *e,
static int qrx_process_one_urxe(OSSL_QRX *qrx, QUIC_URXE *e)
static int qrx_process_pending_urxl(OSSL_QRX *qrx)
int ossl_qrx_read_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT **ppkt)
uint64_t ossl_qrx_get_bytes_received(OSSL_QRX *qrx, int clear)
int ossl_qrx_set_late_validation_cb(OSSL_QRX *qrx,
int ossl_qrx_set_key_update_cb(OSSL_QRX *qrx,
uint64_t ossl_qrx_get_key_epoch(OSSL_QRX *qrx)
int ossl_qrx_key_update_timeout(OSSL_QRX *qrx, int normal)
uint64_t ossl_qrx_get_cur_forged_pkt_count(OSSL_QRX *qrx)
uint64_t ossl_qrx_get_max_forged_pkt_count(OSSL_QRX *qrx,
void ossl_qrx_allow_1rtt_processing(OSSL_QRX *qrx)
void ossl_qrx_set_msg_callback(OSSL_QRX *qrx, ossl_msg_cb msg_callback,
void ossl_qrx_set_msg_callback_arg(OSSL_QRX *qrx, void *msg_callback_arg)
size_t ossl_qrx_get_short_hdr_conn_id_len(OSSL_QRX *qrx)
static RXE *qrx_ensure_free_rxe(OSSL_QRX *qrx, size_t alloc_len);
static int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,
static int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,
static int qrx_validate_hdr(OSSL_QRX *qrx, RXE *rxe);
static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
static int qrx_validate_hdr_late(OSSL_QRX *qrx, RXE *rxe);
OSSL_QRX *ossl_qrx_new(const OSSL_QRX_ARGS *args)
OSSL_QRX *qrx;
qrx = OPENSSL_zalloc(sizeof(OSSL_QRX));
static void qrx_cleanup_urxl(OSSL_QRX *qrx, QUIC_URXE_LIST *l)
void ossl_qrx_update_pn_space(OSSL_QRX *src, OSSL_QRX *dst)
void ossl_qrx_free(OSSL_QRX *qrx)
void ossl_qrx_inject_urxe(OSSL_QRX *qrx, QUIC_URXE *urxe)
void ossl_qrx_inject_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT *pkt)
static int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
int ossl_qrx_validate_initial_packet(OSSL_QRX *qrx, QUIC_URXE *urxe,
static void qrx_requeue_deferred(OSSL_QRX *qrx)
int ossl_qrx_provide_secret(OSSL_QRX *qrx, uint32_t enc_level,
int ossl_qrx_discard_enc_level(OSSL_QRX *qrx, uint32_t enc_level)
int ossl_qrx_processed_read_pending(OSSL_QRX *qrx)
int ossl_qrx_unprocessed_read_pending(OSSL_QRX *qrx)
static RXE *qrx_pop_pending_rxe(OSSL_QRX *qrx)
static RXE *qrx_ensure_free_rxe(OSSL_QRX *qrx, size_t alloc_len)
static void qrx_recycle_rxe(OSSL_QRX *qrx, RXE *rxe)
static int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,
static int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,
static int qrx_validate_hdr(OSSL_QRX *qrx, RXE *rxe)
static int qrx_validate_hdr_late(OSSL_QRX *qrx, RXE *rxe)
static size_t qrx_get_cipher_ctx_idx(OSSL_QRX *qrx, OSSL_QRL_ENC_LEVEL *el,
static int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,
static void qrx_key_update_initiated(OSSL_QRX *qrx, QUIC_PN pn)
int (*new_qrx)(QUIC_DEMUX **demux, OSSL_QRX **qrx);
OSSL_QRX *qrx;
OSSL_QRX *qrx;