Skip to content
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.

Commit

Permalink
QUIC: ngx_quic_send_alert() callback moved to its place.
Browse files Browse the repository at this point in the history
  • Loading branch information
pluknet authored and morf committed Dec 7, 2021
1 parent 779e793 commit b9f1785
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 29 deletions.
26 changes: 0 additions & 26 deletions src/event/quic/ngx_event_quic_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -1106,32 +1106,6 @@ ngx_quic_negotiate_version(ngx_connection_t *c, ngx_quic_header_t *inpkt)
}


int
ngx_quic_send_alert(ngx_ssl_conn_t *ssl_conn, enum ssl_encryption_level_t level,
uint8_t alert)
{
ngx_connection_t *c;
ngx_quic_connection_t *qc;

c = ngx_ssl_get_connection((ngx_ssl_conn_t *) ssl_conn);

ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0,
"quic ngx_quic_send_alert() level:%s alert:%d",
ngx_quic_level_name(level), (int) alert);

/* already closed on regular shutdown */

qc = ngx_quic_get_connection(c);
if (qc == NULL) {
return 1;
}

qc->error = NGX_QUIC_ERR_CRYPTO(alert);

return 1;
}


ngx_int_t
ngx_quic_send_stateless_reset(ngx_connection_t *c, ngx_quic_conf_t *conf,
ngx_quic_header_t *pkt)
Expand Down
3 changes: 0 additions & 3 deletions src/event/quic/ngx_event_quic_output.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ ngx_int_t ngx_quic_output(ngx_connection_t *c);
ngx_int_t ngx_quic_negotiate_version(ngx_connection_t *c,
ngx_quic_header_t *inpkt);

int ngx_quic_send_alert(ngx_ssl_conn_t *ssl_conn,
enum ssl_encryption_level_t level, uint8_t alert);

ngx_int_t ngx_quic_send_stateless_reset(ngx_connection_t *c,
ngx_quic_conf_t *conf, ngx_quic_header_t *pkt);
ngx_int_t ngx_quic_send_cc(ngx_connection_t *c);
Expand Down
28 changes: 28 additions & 0 deletions src/event/quic/ngx_event_quic_ssl.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ static int ngx_quic_set_encryption_secrets(ngx_ssl_conn_t *ssl_conn,
static int ngx_quic_add_handshake_data(ngx_ssl_conn_t *ssl_conn,
enum ssl_encryption_level_t level, const uint8_t *data, size_t len);
static int ngx_quic_flush_flight(ngx_ssl_conn_t *ssl_conn);
static int ngx_quic_send_alert(ngx_ssl_conn_t *ssl_conn,
enum ssl_encryption_level_t level, uint8_t alert);
static ngx_int_t ngx_quic_crypto_input(ngx_connection_t *c, ngx_chain_t *data);


Expand Down Expand Up @@ -287,6 +289,32 @@ ngx_quic_flush_flight(ngx_ssl_conn_t *ssl_conn)
}


static int
ngx_quic_send_alert(ngx_ssl_conn_t *ssl_conn, enum ssl_encryption_level_t level,
uint8_t alert)
{
ngx_connection_t *c;
ngx_quic_connection_t *qc;

c = ngx_ssl_get_connection((ngx_ssl_conn_t *) ssl_conn);

ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0,
"quic ngx_quic_send_alert() level:%s alert:%d",
ngx_quic_level_name(level), (int) alert);

/* already closed on regular shutdown */

qc = ngx_quic_get_connection(c);
if (qc == NULL) {
return 1;
}

qc->error = NGX_QUIC_ERR_CRYPTO(alert);

return 1;
}


ngx_int_t
ngx_quic_handle_crypto_frame(ngx_connection_t *c, ngx_quic_header_t *pkt,
ngx_quic_frame_t *frame)
Expand Down

0 comments on commit b9f1785

Please sign in to comment.