return NGX_ERROR;
}
- rc = ngx_quic_parse_long_header(pkt);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_long_header(pkt) != NGX_OK) {
+ return NGX_ERROR;
}
if (pkt->version != NGX_QUIC_VERSION) {
static ngx_int_t
ngx_quic_retry_input(ngx_connection_t *c, ngx_quic_header_t *pkt)
{
- ngx_int_t rc;
ngx_quic_secrets_t *keys;
ngx_quic_send_ctx_t *ctx;
ngx_quic_connection_t *qc;
return NGX_OK;
}
- rc = ngx_quic_parse_long_header(pkt);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_long_header(pkt) != NGX_OK) {
+ return NGX_DECLINED;
}
if (pkt->version != NGX_QUIC_VERSION) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic unsupported version: 0x%xD", pkt->version);
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_pkt_zrtt(pkt->flags)) {
if (!ngx_quic_pkt_in(pkt->flags)) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic invalid initial packet: 0x%xd", pkt->flags);
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_parse_initial_header(pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_new_dcid(c, &pkt->dcid) != NGX_OK) {
static ngx_int_t
ngx_quic_initial_input(ngx_connection_t *c, ngx_quic_header_t *pkt)
{
- ngx_int_t rc;
ngx_ssl_conn_t *ssl_conn;
ngx_quic_secrets_t *keys;
ngx_quic_send_ctx_t *ctx;
ssl_conn = c->ssl->connection;
- rc = ngx_quic_parse_long_header(pkt);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_long_header(pkt) != NGX_OK) {
+ return NGX_DECLINED;
}
if (pkt->version != NGX_QUIC_VERSION) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic unsupported version: 0x%xD", pkt->version);
- return NGX_ERROR;
+ return NGX_DECLINED;
+ }
+
+ if (ngx_quic_check_peer(c->quic, pkt) != NGX_OK) {
+ return NGX_DECLINED;
}
if (ngx_quic_parse_initial_header(pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
keys = &c->quic->keys[ssl_encryption_initial];
static ngx_int_t
ngx_quic_handshake_input(ngx_connection_t *c, ngx_quic_header_t *pkt)
{
- ngx_int_t rc;
ngx_queue_t *q;
ngx_quic_frame_t *f;
ngx_quic_secrets_t *keys;
}
/* extract cleartext data into pkt */
- rc = ngx_quic_parse_long_header(pkt);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_long_header(pkt) != NGX_OK) {
+ return NGX_DECLINED;
}
if (pkt->version != NGX_QUIC_VERSION) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic unsupported version: 0x%xD", pkt->version);
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_check_peer(qc, pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_parse_handshake_header(pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
pkt->secret = &keys->client;
static ngx_int_t
ngx_quic_early_input(ngx_connection_t *c, ngx_quic_header_t *pkt)
{
- ngx_int_t rc;
ngx_quic_secrets_t *keys;
ngx_quic_send_ctx_t *ctx;
ngx_quic_connection_t *qc;
qc = c->quic;
/* extract cleartext data into pkt */
- rc = ngx_quic_parse_long_header(pkt);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_long_header(pkt) != NGX_OK) {
+ return NGX_DECLINED;
}
if (pkt->version != NGX_QUIC_VERSION) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic unsupported version: 0x%xD", pkt->version);
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_check_peer(qc, pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
if (ngx_quic_parse_handshake_header(pkt) != NGX_OK) {
- return NGX_ERROR;
+ return NGX_DECLINED;
}
keys = &c->quic->keys[ssl_encryption_early_data];
return NGX_DECLINED;
}
- rc = ngx_quic_parse_short_header(pkt, &qc->dcid);
- if (rc != NGX_OK) {
- return rc;
+ if (ngx_quic_parse_short_header(pkt, &qc->dcid) != NGX_OK) {
+ return NGX_DECLINED;
}
pkt->secret = &keys->client;