Skip to content

Commit 4f336e8

Browse files
vvfedorenkokuba-moo
authored andcommitted
selftests/tls: add CHACHA20-POLY1305 to tls selftests
Add new cipher as a variant of standard tls selftests Signed-off-by: Vadim Fedorenko <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 74ea610 commit 4f336e8

File tree

1 file changed

+33
-7
lines changed
  • tools/testing/selftests/net

1 file changed

+33
-7
lines changed

tools/testing/selftests/net/tls.c

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,32 +103,58 @@ FIXTURE(tls)
103103

104104
FIXTURE_VARIANT(tls)
105105
{
106-
unsigned int tls_version;
106+
u16 tls_version;
107+
u16 cipher_type;
107108
};
108109

109-
FIXTURE_VARIANT_ADD(tls, 12)
110+
FIXTURE_VARIANT_ADD(tls, 12_gcm)
110111
{
111112
.tls_version = TLS_1_2_VERSION,
113+
.cipher_type = TLS_CIPHER_AES_GCM_128,
112114
};
113115

114-
FIXTURE_VARIANT_ADD(tls, 13)
116+
FIXTURE_VARIANT_ADD(tls, 13_gcm)
115117
{
116118
.tls_version = TLS_1_3_VERSION,
119+
.cipher_type = TLS_CIPHER_AES_GCM_128,
120+
};
121+
122+
FIXTURE_VARIANT_ADD(tls, 12_chacha)
123+
{
124+
.tls_version = TLS_1_2_VERSION,
125+
.cipher_type = TLS_CIPHER_CHACHA20_POLY1305,
126+
};
127+
128+
FIXTURE_VARIANT_ADD(tls, 13_chacha)
129+
{
130+
.tls_version = TLS_1_3_VERSION,
131+
.cipher_type = TLS_CIPHER_CHACHA20_POLY1305,
117132
};
118133

119134
FIXTURE_SETUP(tls)
120135
{
121-
struct tls12_crypto_info_aes_gcm_128 tls12;
136+
union tls_crypto_context tls12;
122137
struct sockaddr_in addr;
123138
socklen_t len;
124139
int sfd, ret;
140+
size_t tls12_sz;
125141

126142
self->notls = false;
127143
len = sizeof(addr);
128144

129145
memset(&tls12, 0, sizeof(tls12));
130146
tls12.info.version = variant->tls_version;
131-
tls12.info.cipher_type = TLS_CIPHER_AES_GCM_128;
147+
tls12.info.cipher_type = variant->cipher_type;
148+
switch (variant->cipher_type) {
149+
case TLS_CIPHER_CHACHA20_POLY1305:
150+
tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305);
151+
break;
152+
case TLS_CIPHER_AES_GCM_128:
153+
tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128);
154+
break;
155+
default:
156+
tls12_sz = 0;
157+
}
132158

133159
addr.sin_family = AF_INET;
134160
addr.sin_addr.s_addr = htonl(INADDR_ANY);
@@ -156,7 +182,7 @@ FIXTURE_SETUP(tls)
156182

157183
if (!self->notls) {
158184
ret = setsockopt(self->fd, SOL_TLS, TLS_TX, &tls12,
159-
sizeof(tls12));
185+
tls12_sz);
160186
ASSERT_EQ(ret, 0);
161187
}
162188

@@ -169,7 +195,7 @@ FIXTURE_SETUP(tls)
169195
ASSERT_EQ(ret, 0);
170196

171197
ret = setsockopt(self->cfd, SOL_TLS, TLS_RX, &tls12,
172-
sizeof(tls12));
198+
tls12_sz);
173199
ASSERT_EQ(ret, 0);
174200
}
175201

0 commit comments

Comments
 (0)