# HG changeset patch # User Sergey Kandaurov # Date 1620232369 -10800 # Node ID 5186ee5a94b9a5cb05f599c41cb8bd7ef482ff2c # Parent d5f93733c17d9cac9f8afca3eae47f963c776a0d QUIC: simplified sending 1-RTT only frames. diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c --- a/src/event/quic/ngx_event_quic.c +++ b/src/event/quic/ngx_event_quic.c @@ -1265,8 +1265,7 @@ ngx_quic_handle_frames(ngx_connection_t case NGX_QUIC_FT_PATH_CHALLENGE: - if (ngx_quic_handle_path_challenge_frame(c, pkt, - &frame.u.path_challenge) + if (ngx_quic_handle_path_challenge_frame(c, &frame.u.path_challenge) != NGX_OK) { return NGX_ERROR; @@ -1276,8 +1275,7 @@ ngx_quic_handle_frames(ngx_connection_t case NGX_QUIC_FT_PATH_RESPONSE: - if (ngx_quic_handle_path_response_frame(c, pkt, - &frame.u.path_response) + if (ngx_quic_handle_path_response_frame(c, &frame.u.path_response) != NGX_OK) { return NGX_ERROR; @@ -1287,7 +1285,7 @@ ngx_quic_handle_frames(ngx_connection_t case NGX_QUIC_FT_NEW_CONNECTION_ID: - if (ngx_quic_handle_new_connection_id_frame(c, pkt, &frame.u.ncid) + if (ngx_quic_handle_new_connection_id_frame(c, &frame.u.ncid) != NGX_OK) { return NGX_ERROR; @@ -1297,7 +1295,7 @@ ngx_quic_handle_frames(ngx_connection_t case NGX_QUIC_FT_RETIRE_CONNECTION_ID: - if (ngx_quic_handle_retire_connection_id_frame(c, pkt, + if (ngx_quic_handle_retire_connection_id_frame(c, &frame.u.retire_cid) != NGX_OK) { diff --git a/src/event/quic/ngx_event_quic_connid.c b/src/event/quic/ngx_event_quic_connid.c --- a/src/event/quic/ngx_event_quic_connid.c +++ b/src/event/quic/ngx_event_quic_connid.c @@ -16,7 +16,7 @@ static ngx_int_t ngx_quic_bpf_attach_id(ngx_connection_t *c, u_char *id); #endif static ngx_int_t ngx_quic_send_retire_connection_id(ngx_connection_t *c, - enum ssl_encryption_level_t level, uint64_t seqnum); + uint64_t seqnum); static ngx_quic_client_id_t *ngx_quic_alloc_client_id(ngx_connection_t *c, ngx_quic_connection_t *qc); @@ -75,7 +75,7 @@ ngx_quic_bpf_attach_id(ngx_connection_t ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f) + ngx_quic_new_conn_id_frame_t *f) { ngx_str_t id; ngx_queue_t *q; @@ -94,9 +94,7 @@ ngx_quic_handle_new_connection_id_frame( * done so for that sequence number. */ - if (ngx_quic_send_retire_connection_id(c, pkt->level, f->seqnum) - != NGX_OK) - { + if (ngx_quic_send_retire_connection_id(c, f->seqnum) != NGX_OK) { return NGX_ERROR; } @@ -174,9 +172,7 @@ retire: /* this connection id must be retired */ - if (ngx_quic_send_retire_connection_id(c, pkt->level, cid->seqnum) - != NGX_OK) - { + if (ngx_quic_send_retire_connection_id(c, cid->seqnum) != NGX_OK) { return NGX_ERROR; } @@ -210,8 +206,7 @@ done: static ngx_int_t -ngx_quic_send_retire_connection_id(ngx_connection_t *c, - enum ssl_encryption_level_t level, uint64_t seqnum) +ngx_quic_send_retire_connection_id(ngx_connection_t *c, uint64_t seqnum) { ngx_quic_frame_t *frame; ngx_quic_connection_t *qc; @@ -223,7 +218,7 @@ ngx_quic_send_retire_connection_id(ngx_c return NGX_ERROR; } - frame->level = level; + frame->level = ssl_encryption_application; frame->type = NGX_QUIC_FT_RETIRE_CONNECTION_ID; frame->u.retire_cid.sequence_number = seqnum; @@ -356,7 +351,7 @@ ngx_quic_used_client_id(ngx_connection_t ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f) + ngx_quic_retire_cid_frame_t *f) { ngx_quic_path_t *path; ngx_quic_socket_t *qsock, **tmp; diff --git a/src/event/quic/ngx_event_quic_connid.h b/src/event/quic/ngx_event_quic_connid.h --- a/src/event/quic/ngx_event_quic_connid.h +++ b/src/event/quic/ngx_event_quic_connid.h @@ -13,9 +13,9 @@ ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f); + ngx_quic_retire_cid_frame_t *f); ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f); + ngx_quic_new_conn_id_frame_t *f); ngx_int_t ngx_quic_create_sockets(ngx_connection_t *c); ngx_int_t ngx_quic_create_server_id(ngx_connection_t *c, u_char *id); diff --git a/src/event/quic/ngx_event_quic_migration.c b/src/event/quic/ngx_event_quic_migration.c --- a/src/event/quic/ngx_event_quic_migration.c +++ b/src/event/quic/ngx_event_quic_migration.c @@ -22,7 +22,7 @@ static ngx_quic_path_t *ngx_quic_alloc_p ngx_int_t ngx_quic_handle_path_challenge_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f) + ngx_quic_path_challenge_frame_t *f) { off_t max, pad; ssize_t sent; @@ -33,7 +33,7 @@ ngx_quic_handle_path_challenge_frame(ngx qc = ngx_quic_get_connection(c); - frame.level = pkt->level; + frame.level = ssl_encryption_application; frame.type = NGX_QUIC_FT_PATH_RESPONSE; frame.u.path_response = *f; @@ -70,7 +70,7 @@ ngx_quic_handle_path_challenge_frame(ngx return NGX_ERROR; } - fp->level = pkt->level; + fp->level = ssl_encryption_application; fp->type = NGX_QUIC_FT_PING; ngx_quic_queue_frame(qc, fp); @@ -82,7 +82,7 @@ ngx_quic_handle_path_challenge_frame(ngx ngx_int_t ngx_quic_handle_path_response_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f) + ngx_quic_path_challenge_frame_t *f) { ngx_queue_t *q; ngx_quic_path_t *path, *prev; @@ -557,7 +557,6 @@ ngx_quic_validate_path(ngx_connection_t ngx_add_timer(&qc->path_validation, pto); } - return NGX_OK; } diff --git a/src/event/quic/ngx_event_quic_migration.h b/src/event/quic/ngx_event_quic_migration.h --- a/src/event/quic/ngx_event_quic_migration.h +++ b/src/event/quic/ngx_event_quic_migration.h @@ -26,9 +26,9 @@ ngx_int_t ngx_quic_handle_path_challenge_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f); + ngx_quic_path_challenge_frame_t *f); ngx_int_t ngx_quic_handle_path_response_frame(ngx_connection_t *c, - ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f); + ngx_quic_path_challenge_frame_t *f); ngx_quic_path_t *ngx_quic_add_path(ngx_connection_t *c, struct sockaddr *sockaddr, socklen_t socklen);