Commit 2bf61726 authored by Sabrina Dubroca's avatar Sabrina Dubroca Committed by Jakub Kicinski
Browse files

selftests: tls: add test for peeking past a record of a different type



If we queue 3 records:
 - record 1, type DATA
 - record 2, some other type
 - record 3, type DATA
the current code can look past the 2nd record and merge the 2 data
records.

Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
Link: https://lore.kernel.org/r/4623550f8617c239581030c13402d3262f2bd14f.1708007371.git.sd@queasysnail.net


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 7b2a4c2a
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -1511,6 +1511,25 @@ TEST_F(tls, control_msg_nomerge)
	EXPECT_EQ(memcmp(buf, rec2, send_len), 0);
}

TEST_F(tls, data_control_data)
{
	char *rec1 = "1111";
	char *rec2 = "2222";
	char *rec3 = "3333";
	int send_len = 5;
	char buf[15];

	if (self->notls)
		SKIP(return, "no TLS support");

	EXPECT_EQ(send(self->fd, rec1, send_len, 0), send_len);
	EXPECT_EQ(tls_send_cmsg(self->fd, 100, rec2, send_len, 0), send_len);
	EXPECT_EQ(send(self->fd, rec3, send_len, 0), send_len);

	EXPECT_EQ(recv(self->cfd, buf, sizeof(buf), MSG_PEEK), send_len);
	EXPECT_EQ(recv(self->cfd, buf, sizeof(buf), MSG_PEEK), send_len);
}

TEST_F(tls, shutdown)
{
	char const *test_str = "test_read";