Skip to content

Commit 48a7d23

Browse files
committed
Unexpected PATH_xx frames is protocol violation.
1 parent e86620e commit 48a7d23

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

picoquic/frames.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5319,7 +5319,7 @@ const uint8_t* picoquic_decode_immediate_ack_frame(const uint8_t* bytes, const u
53195319
/* This code assumes that the frame type is already skipped */
53205320
if (bytes != NULL && bytes < bytes_max){
53215321
if (!cnx->is_ack_frequency_negotiated) {
5322-
picoquic_connection_error(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5322+
picoquic_connection_error(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
53235323
picoquic_frame_type_immediate_ack);
53245324
bytes = NULL;
53255325
}
@@ -5434,7 +5434,7 @@ const uint8_t* picoquic_decode_path_abandon_frame(const uint8_t* bytes, const ui
54345434

54355435
if (!cnx->is_multipath_enabled) {
54365436
/* Frame is unexpected */
5437-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5437+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
54385438
picoquic_frame_type_path_abandon, "multipath not negotiated");
54395439
}
54405440
else if ((bytes = picoquic_parse_path_abandon_frame(bytes, bytes_max, &unique_path_id, &reason)) == NULL) {
@@ -5604,7 +5604,7 @@ const uint8_t* picoquic_decode_path_available_or_backup_frame(const uint8_t* byt
56045604

56055605
if (!cnx->is_multipath_enabled) {
56065606
/* Frame is unexpected */
5607-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5607+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
56085608
frame_id64, "multipath not negotiated");
56095609
}
56105610
else if ((bytes = picoquic_parse_path_available_or_backup_frame(bytes, bytes_max, &path_id, &sequence)) == NULL) {
@@ -5715,7 +5715,7 @@ const uint8_t* picoquic_decode_max_path_id_frame(const uint8_t* bytes, const uin
57155715

57165716
if (!cnx->is_multipath_enabled) {
57175717
/* Frame is unexpected */
5718-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5718+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
57195719
picoquic_frame_type_max_path_id, "unique path_id not negotiated");
57205720
}
57215721
else if ((bytes = picoquic_parse_max_path_id_frame(bytes, bytes_max, &max_path_id)) == NULL) {
@@ -5831,7 +5831,7 @@ const uint8_t* picoquic_decode_paths_blocked_frame(const uint8_t* bytes, const u
58315831

58325832
if (!cnx->is_multipath_enabled) {
58335833
/* Frame is unexpected */
5834-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5834+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
58355835
picoquic_frame_type_paths_blocked, "multipath extension not negotiated");
58365836
}
58375837
else if ((bytes = picoquic_parse_paths_blocked_frame(bytes, bytes_max, &max_path_id)) == NULL) {
@@ -5970,7 +5970,7 @@ const uint8_t* picoquic_decode_path_cid_blocked_frame(const uint8_t* bytes, cons
59705970

59715971
if (!cnx->is_multipath_enabled) {
59725972
/* Frame is unexpected */
5973-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
5973+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
59745974
picoquic_frame_type_path_cid_blocked, "multipath extension not negotiated");
59755975
}
59765976
else if ((bytes = picoquic_parse_path_cid_blocked_frame(bytes, bytes_max, &unique_path_id, &next_sequence_number)) == NULL) {
@@ -6166,7 +6166,7 @@ const uint8_t* picoquic_decode_observed_address_frame(picoquic_cnx_t* cnx, const
61666166

61676167
if (!cnx->is_address_discovery_receiver) {
61686168
/* Frame is unexpected */
6169-
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR,
6169+
picoquic_connection_error_ex(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION,
61706170
ftype, "address discovery not negotiated as receiver");
61716171
}
61726172
else if ((bytes = picoquic_parse_observed_address_frame(bytes, bytes_max, ftype, &sequence, &addr, &port)) == NULL) {
@@ -6615,7 +6615,7 @@ int picoquic_decode_frames(picoquic_cnx_t* cnx, picoquic_path_t * path_x, const
66156615
break;
66166616
default:
66176617
/* Not implemented yet! */
6618-
picoquic_connection_error(cnx, PICOQUIC_TRANSPORT_FRAME_FORMAT_ERROR, frame_id64);
6618+
picoquic_connection_error(cnx, PICOQUIC_TRANSPORT_PROTOCOL_VIOLATION, frame_id64);
66196619
bytes = NULL;
66206620
break;
66216621
}

0 commit comments

Comments
 (0)