Lines Matching refs:srv

57     QUIC_TSERVER *srv = arg;  in alpn_select_cb()  local
64 if (srv->args.alpn == NULL) { in alpn_select_cb()
68 alpn = srv->args.alpn; in alpn_select_cb()
69 alpnlen = srv->args.alpnlen; in alpn_select_cb()
82 QUIC_TSERVER *srv = NULL; in ossl_quic_tserver_new() local
90 if ((srv = OPENSSL_zalloc(sizeof(*srv))) == NULL) in ossl_quic_tserver_new()
93 srv->args = *args; in ossl_quic_tserver_new()
96 if ((srv->mutex = ossl_crypto_mutex_new()) == NULL) in ossl_quic_tserver_new()
101 srv->ctx = args->ctx; in ossl_quic_tserver_new()
103 srv->ctx = SSL_CTX_new_ex(srv->args.libctx, srv->args.propq, in ossl_quic_tserver_new()
105 if (srv->ctx == NULL) in ossl_quic_tserver_new()
109 && SSL_CTX_use_certificate_file(srv->ctx, certfile, SSL_FILETYPE_PEM) <= 0) in ossl_quic_tserver_new()
113 && SSL_CTX_use_PrivateKey_file(srv->ctx, keyfile, SSL_FILETYPE_PEM) <= 0) in ossl_quic_tserver_new()
116 SSL_CTX_set_alpn_select_cb(srv->ctx, alpn_select_cb, srv); in ossl_quic_tserver_new()
118 srv->tls = SSL_new(srv->ctx); in ossl_quic_tserver_new()
119 if (srv->tls == NULL) in ossl_quic_tserver_new()
122 engine_args.libctx = srv->args.libctx; in ossl_quic_tserver_new()
123 engine_args.propq = srv->args.propq; in ossl_quic_tserver_new()
124 engine_args.mutex = srv->mutex; in ossl_quic_tserver_new()
125 engine_args.now_cb = srv->args.now_cb; in ossl_quic_tserver_new()
126 engine_args.now_cb_arg = srv->args.now_cb_arg; in ossl_quic_tserver_new()
128 if ((srv->engine = ossl_quic_engine_new(&engine_args)) == NULL) in ossl_quic_tserver_new()
131 port_args.channel_ctx = srv->ctx; in ossl_quic_tserver_new()
134 if ((srv->port = ossl_quic_engine_create_port(srv->engine, &port_args)) == NULL) in ossl_quic_tserver_new()
137 if ((srv->ch = ossl_quic_port_create_incoming(srv->port, srv->tls)) == NULL) in ossl_quic_tserver_new()
140 if (!ossl_quic_port_set_net_rbio(srv->port, srv->args.net_rbio) in ossl_quic_tserver_new()
141 || !ossl_quic_port_set_net_wbio(srv->port, srv->args.net_wbio)) in ossl_quic_tserver_new()
147 srv->ssl = (SSL *)qc; in ossl_quic_tserver_new()
148 qc->ch = srv->ch; in ossl_quic_tserver_new()
149 srv->ssl->type = SSL_TYPE_QUIC_CONNECTION; in ossl_quic_tserver_new()
151 return srv; in ossl_quic_tserver_new()
154 if (srv != NULL) { in ossl_quic_tserver_new()
156 SSL_CTX_free(srv->ctx); in ossl_quic_tserver_new()
157 SSL_free(srv->tls); in ossl_quic_tserver_new()
158 ossl_quic_channel_free(srv->ch); in ossl_quic_tserver_new()
159 ossl_quic_port_free(srv->port); in ossl_quic_tserver_new()
160 ossl_quic_engine_free(srv->engine); in ossl_quic_tserver_new()
162 ossl_crypto_mutex_free(&srv->mutex); in ossl_quic_tserver_new()
167 OPENSSL_free(srv); in ossl_quic_tserver_new()
171 void ossl_quic_tserver_free(QUIC_TSERVER *srv) in ossl_quic_tserver_free() argument
173 if (srv == NULL) in ossl_quic_tserver_free()
176 SSL_free(srv->tls); in ossl_quic_tserver_free()
177 ossl_quic_channel_free(srv->ch); in ossl_quic_tserver_free()
178 ossl_quic_port_free(srv->port); in ossl_quic_tserver_free()
179 ossl_quic_engine_free(srv->engine); in ossl_quic_tserver_free()
180 BIO_free_all(srv->args.net_rbio); in ossl_quic_tserver_free()
181 BIO_free_all(srv->args.net_wbio); in ossl_quic_tserver_free()
182 OPENSSL_free(srv->ssl); in ossl_quic_tserver_free()
183 SSL_CTX_free(srv->ctx); in ossl_quic_tserver_free()
185 ossl_crypto_mutex_free(&srv->mutex); in ossl_quic_tserver_free()
187 OPENSSL_free(srv); in ossl_quic_tserver_free()
191 int ossl_quic_tserver_set_plain_packet_mutator(QUIC_TSERVER *srv, in ossl_quic_tserver_set_plain_packet_mutator() argument
196 return ossl_quic_channel_set_mutator(srv->ch, mutatecb, finishmutatecb, in ossl_quic_tserver_set_plain_packet_mutator()
200 int ossl_quic_tserver_set_handshake_mutator(QUIC_TSERVER *srv, in ossl_quic_tserver_set_handshake_mutator() argument
205 return ossl_statem_set_mutator(ossl_quic_channel_get0_ssl(srv->ch), in ossl_quic_tserver_set_handshake_mutator()
211 int ossl_quic_tserver_tick(QUIC_TSERVER *srv) in ossl_quic_tserver_tick() argument
213 ossl_quic_reactor_tick(ossl_quic_channel_get_reactor(srv->ch), 0); in ossl_quic_tserver_tick()
215 if (ossl_quic_channel_is_active(srv->ch)) in ossl_quic_tserver_tick()
216 srv->connected = 1; in ossl_quic_tserver_tick()
221 int ossl_quic_tserver_is_connected(QUIC_TSERVER *srv) in ossl_quic_tserver_is_connected() argument
223 return ossl_quic_channel_is_active(srv->ch); in ossl_quic_tserver_is_connected()
227 int ossl_quic_tserver_is_term_any(const QUIC_TSERVER *srv) in ossl_quic_tserver_is_term_any() argument
229 return ossl_quic_channel_is_term_any(srv->ch); in ossl_quic_tserver_is_term_any()
233 ossl_quic_tserver_get_terminate_cause(const QUIC_TSERVER *srv) in ossl_quic_tserver_get_terminate_cause() argument
235 return ossl_quic_channel_get_terminate_cause(srv->ch); in ossl_quic_tserver_get_terminate_cause()
239 int ossl_quic_tserver_is_terminated(const QUIC_TSERVER *srv) in ossl_quic_tserver_is_terminated() argument
241 return ossl_quic_channel_is_terminated(srv->ch); in ossl_quic_tserver_is_terminated()
244 int ossl_quic_tserver_is_handshake_confirmed(const QUIC_TSERVER *srv) in ossl_quic_tserver_is_handshake_confirmed() argument
246 return ossl_quic_channel_is_handshake_confirmed(srv->ch); in ossl_quic_tserver_is_handshake_confirmed()
249 int ossl_quic_tserver_read(QUIC_TSERVER *srv, in ossl_quic_tserver_read() argument
258 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_read()
271 if (!is_client_init || !ossl_quic_channel_is_active(srv->ch)) in ossl_quic_tserver_read()
295 ossl_statm_get_rtt_info(ossl_quic_channel_get_statm(srv->ch), &rtt_info); in ossl_quic_tserver_read()
303 ossl_quic_stream_map_notify_totally_read(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_read()
307 ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs); in ossl_quic_tserver_read()
312 int ossl_quic_tserver_has_read_ended(QUIC_TSERVER *srv, uint64_t stream_id) in ossl_quic_tserver_has_read_ended() argument
319 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_has_read_ended()
351 ossl_quic_stream_map_notify_totally_read(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_has_read_ended()
353 ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs); in ossl_quic_tserver_has_read_ended()
360 int ossl_quic_tserver_write(QUIC_TSERVER *srv, in ossl_quic_tserver_write() argument
368 if (!ossl_quic_channel_is_active(srv->ch)) in ossl_quic_tserver_write()
371 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_write()
385 ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs); in ossl_quic_tserver_write()
388 ossl_quic_tserver_tick(srv); in ossl_quic_tserver_write()
392 int ossl_quic_tserver_conclude(QUIC_TSERVER *srv, uint64_t stream_id) in ossl_quic_tserver_conclude() argument
396 if (!ossl_quic_channel_is_active(srv->ch)) in ossl_quic_tserver_conclude()
399 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_conclude()
406 ossl_quic_stream_map_update_state(ossl_quic_channel_get_qsm(srv->ch), qs); in ossl_quic_tserver_conclude()
409 ossl_quic_tserver_tick(srv); in ossl_quic_tserver_conclude()
413 int ossl_quic_tserver_stream_new(QUIC_TSERVER *srv, in ossl_quic_tserver_stream_new() argument
419 if (!ossl_quic_channel_is_active(srv->ch)) in ossl_quic_tserver_stream_new()
422 if ((qs = ossl_quic_channel_new_stream_local(srv->ch, is_uni)) == NULL) in ossl_quic_tserver_stream_new()
429 BIO *ossl_quic_tserver_get0_rbio(QUIC_TSERVER *srv) in ossl_quic_tserver_get0_rbio() argument
431 return srv->args.net_rbio; in ossl_quic_tserver_get0_rbio()
434 SSL_CTX *ossl_quic_tserver_get0_ssl_ctx(QUIC_TSERVER *srv) in ossl_quic_tserver_get0_ssl_ctx() argument
436 return srv->ctx; in ossl_quic_tserver_get0_ssl_ctx()
439 int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv, in ossl_quic_tserver_stream_has_peer_stop_sending() argument
445 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_stream_has_peer_stop_sending()
456 int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv, in ossl_quic_tserver_stream_has_peer_reset_stream() argument
462 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_stream_has_peer_reset_stream()
473 int ossl_quic_tserver_set_new_local_cid(QUIC_TSERVER *srv, in ossl_quic_tserver_set_new_local_cid() argument
477 return ossl_quic_channel_replace_local_cid(srv->ch, conn_id); in ossl_quic_tserver_set_new_local_cid()
480 uint64_t ossl_quic_tserver_pop_incoming_stream(QUIC_TSERVER *srv) in ossl_quic_tserver_pop_incoming_stream() argument
482 QUIC_STREAM_MAP *qsm = ossl_quic_channel_get_qsm(srv->ch); in ossl_quic_tserver_pop_incoming_stream()
493 int ossl_quic_tserver_is_stream_totally_acked(QUIC_TSERVER *srv, in ossl_quic_tserver_is_stream_totally_acked() argument
498 qs = ossl_quic_stream_map_get_by_id(ossl_quic_channel_get_qsm(srv->ch), in ossl_quic_tserver_is_stream_totally_acked()
506 int ossl_quic_tserver_get_net_read_desired(QUIC_TSERVER *srv) in ossl_quic_tserver_get_net_read_desired() argument
509 ossl_quic_channel_get_reactor(srv->ch)); in ossl_quic_tserver_get_net_read_desired()
512 int ossl_quic_tserver_get_net_write_desired(QUIC_TSERVER *srv) in ossl_quic_tserver_get_net_write_desired() argument
515 ossl_quic_channel_get_reactor(srv->ch)); in ossl_quic_tserver_get_net_write_desired()
518 OSSL_TIME ossl_quic_tserver_get_deadline(QUIC_TSERVER *srv) in ossl_quic_tserver_get_deadline() argument
521 ossl_quic_channel_get_reactor(srv->ch)); in ossl_quic_tserver_get_deadline()
524 int ossl_quic_tserver_shutdown(QUIC_TSERVER *srv, uint64_t app_error_code) in ossl_quic_tserver_shutdown() argument
526 ossl_quic_channel_local_close(srv->ch, app_error_code, NULL); in ossl_quic_tserver_shutdown()
530 if (ossl_quic_channel_is_terminated(srv->ch)) in ossl_quic_tserver_shutdown()
533 ossl_quic_reactor_tick(ossl_quic_channel_get_reactor(srv->ch), 0); in ossl_quic_tserver_shutdown()
535 return ossl_quic_channel_is_terminated(srv->ch); in ossl_quic_tserver_shutdown()
538 int ossl_quic_tserver_ping(QUIC_TSERVER *srv) in ossl_quic_tserver_ping() argument
540 if (ossl_quic_channel_is_terminated(srv->ch)) in ossl_quic_tserver_ping()
543 if (!ossl_quic_channel_ping(srv->ch)) in ossl_quic_tserver_ping()
546 ossl_quic_reactor_tick(ossl_quic_channel_get_reactor(srv->ch), 0); in ossl_quic_tserver_ping()
550 QUIC_CHANNEL *ossl_quic_tserver_get_channel(QUIC_TSERVER *srv) in ossl_quic_tserver_get_channel() argument
552 return srv->ch; in ossl_quic_tserver_get_channel()
555 void ossl_quic_tserver_set_msg_callback(QUIC_TSERVER *srv, in ossl_quic_tserver_set_msg_callback() argument
562 ossl_quic_channel_set_msg_callback(srv->ch, f, srv->ssl); in ossl_quic_tserver_set_msg_callback()
563 ossl_quic_channel_set_msg_callback_arg(srv->ch, arg); in ossl_quic_tserver_set_msg_callback()
564 SSL_set_msg_callback(srv->tls, f); in ossl_quic_tserver_set_msg_callback()
565 SSL_set_msg_callback_arg(srv->tls, arg); in ossl_quic_tserver_set_msg_callback()
568 int ossl_quic_tserver_new_ticket(QUIC_TSERVER *srv) in ossl_quic_tserver_new_ticket() argument
570 return SSL_new_session_ticket(srv->tls); in ossl_quic_tserver_new_ticket()
573 int ossl_quic_tserver_set_max_early_data(QUIC_TSERVER *srv, in ossl_quic_tserver_set_max_early_data() argument
576 return SSL_set_max_early_data(srv->tls, max_early_data); in ossl_quic_tserver_set_max_early_data()
579 void ossl_quic_tserver_set_psk_find_session_cb(QUIC_TSERVER *srv, in ossl_quic_tserver_set_psk_find_session_cb() argument
582 SSL_set_psk_find_session_callback(srv->tls, cb); in ossl_quic_tserver_set_psk_find_session_cb()