From 0ebde2d4e548de31bc198a9e8765eaa7bf1857f5 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Thu, 11 Jun 2020 18:09:32 +0900 Subject: [PATCH] Use NGTCP2_ERR_TRANSPORT_PARAM if cid validation in TP fails --- lib/ngtcp2_conn.c | 16 +++++----------- tests/ngtcp2_conn_test.c | 8 ++++---- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/lib/ngtcp2_conn.c b/lib/ngtcp2_conn.c index d70d4dcf..c7c5f30a 100644 --- a/lib/ngtcp2_conn.c +++ b/lib/ngtcp2_conn.c @@ -8188,24 +8188,18 @@ static int conn_client_validate_transport_params(ngtcp2_conn *conn, const ngtcp2_transport_params *params) { if (!ngtcp2_cid_eq(&conn->rcid, ¶ms->original_dcid)) { - return NGTCP2_ERR_PROTO; + return NGTCP2_ERR_TRANSPORT_PARAM; } if (conn->flags & NGTCP2_CONN_FLAG_RECV_RETRY) { if (!params->retry_scid_present) { - /* draft explicitly specifies that this is - PROTOCOL_VIOLATION. */ - return NGTCP2_ERR_PROTO; + return NGTCP2_ERR_TRANSPORT_PARAM; } if (!ngtcp2_cid_eq(&conn->retry_scid, ¶ms->retry_scid)) { - /* draft explicitly specifies that this is - PROTOCOL_VIOLATION. */ - return NGTCP2_ERR_PROTO; + return NGTCP2_ERR_TRANSPORT_PARAM; } } else if (params->retry_scid_present) { - /* draft explicitly specifies that this is - PROTOCOL_VIOLATION. */ - return NGTCP2_ERR_PROTO; + return NGTCP2_ERR_TRANSPORT_PARAM; } if (params->preferred_address_present && @@ -8233,7 +8227,7 @@ int ngtcp2_conn_set_remote_transport_params( This requires that transport parameter must be fed into ngtcp2_conn as early as possible. */ if (!ngtcp2_cid_eq(&conn->dcid.current.cid, ¶ms->initial_scid)) { - return NGTCP2_ERR_PROTO; + return NGTCP2_ERR_TRANSPORT_PARAM; } if (!conn->server) { diff --git a/tests/ngtcp2_conn_test.c b/tests/ngtcp2_conn_test.c index 5218323e..b501cd1b 100644 --- a/tests/ngtcp2_conn_test.c +++ b/tests/ngtcp2_conn_test.c @@ -5164,7 +5164,7 @@ void test_ngtcp2_conn_set_remote_transport_params(void) { rv = ngtcp2_conn_set_remote_transport_params(conn, ¶ms); - CU_ASSERT(NGTCP2_ERR_PROTO == rv); + CU_ASSERT(NGTCP2_ERR_TRANSPORT_PARAM == rv); ngtcp2_conn_del(conn); @@ -5177,7 +5177,7 @@ void test_ngtcp2_conn_set_remote_transport_params(void) { rv = ngtcp2_conn_set_remote_transport_params(conn, ¶ms); - CU_ASSERT(NGTCP2_ERR_PROTO == rv); + CU_ASSERT(NGTCP2_ERR_TRANSPORT_PARAM == rv); ngtcp2_conn_del(conn); @@ -5192,7 +5192,7 @@ void test_ngtcp2_conn_set_remote_transport_params(void) { rv = ngtcp2_conn_set_remote_transport_params(conn, ¶ms); - CU_ASSERT(NGTCP2_ERR_PROTO == rv); + CU_ASSERT(NGTCP2_ERR_TRANSPORT_PARAM == rv); ngtcp2_conn_del(conn); @@ -5228,7 +5228,7 @@ void test_ngtcp2_conn_set_remote_transport_params(void) { rv = ngtcp2_conn_set_remote_transport_params(conn, ¶ms); - CU_ASSERT(NGTCP2_ERR_PROTO == rv); + CU_ASSERT(NGTCP2_ERR_TRANSPORT_PARAM == rv); ngtcp2_conn_del(conn); } -- GitLab