selftests/tls: add a litmus test for the socket reuse through shutdown
Make sure that shutdown never works, and at the same time document how I tested to came to the conclusion that currently reuse is not possible. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5d92e631b8
commit
cd114d2e81
@ -984,6 +984,30 @@ TEST_F(tls, shutdown_unsent)
|
|||||||
shutdown(self->cfd, SHUT_RDWR);
|
shutdown(self->cfd, SHUT_RDWR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(tls, shutdown_reuse)
|
||||||
|
{
|
||||||
|
struct sockaddr_in addr;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
shutdown(self->fd, SHUT_RDWR);
|
||||||
|
shutdown(self->cfd, SHUT_RDWR);
|
||||||
|
close(self->cfd);
|
||||||
|
|
||||||
|
addr.sin_family = AF_INET;
|
||||||
|
addr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||||
|
addr.sin_port = 0;
|
||||||
|
|
||||||
|
ret = bind(self->fd, &addr, sizeof(addr));
|
||||||
|
EXPECT_EQ(ret, 0);
|
||||||
|
ret = listen(self->fd, 10);
|
||||||
|
EXPECT_EQ(ret, -1);
|
||||||
|
EXPECT_EQ(errno, EINVAL);
|
||||||
|
|
||||||
|
ret = connect(self->fd, &addr, sizeof(addr));
|
||||||
|
EXPECT_EQ(ret, -1);
|
||||||
|
EXPECT_EQ(errno, EISCONN);
|
||||||
|
}
|
||||||
|
|
||||||
TEST(non_established) {
|
TEST(non_established) {
|
||||||
struct tls12_crypto_info_aes_gcm_256 tls12;
|
struct tls12_crypto_info_aes_gcm_256 tls12;
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
|
Loading…
Reference in New Issue
Block a user