This allows us to generate different keys, so that we can test that
rekey is using the correct one.

v3: update for newly added tests
v4: update for newly added tests

Signed-off-by: Sabrina Dubroca <[email protected]>
---
 tools/testing/selftests/net/tls.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/tools/testing/selftests/net/tls.c 
b/tools/testing/selftests/net/tls.c
index 1a706d03bb6b..b1f52d2bb096 100644
--- a/tools/testing/selftests/net/tls.c
+++ b/tools/testing/selftests/net/tls.c
@@ -44,9 +44,11 @@ struct tls_crypto_info_keys {
 };
 
 static void tls_crypto_info_init(uint16_t tls_version, uint16_t cipher_type,
-                                struct tls_crypto_info_keys *tls12)
+                                struct tls_crypto_info_keys *tls12,
+                                char key_generation)
 {
-       memset(tls12, 0, sizeof(*tls12));
+       memset(tls12, key_generation, sizeof(*tls12));
+       memset(tls12, 0, sizeof(struct tls_crypto_info));
 
        switch (cipher_type) {
        case TLS_CIPHER_CHACHA20_POLY1305:
@@ -275,7 +277,7 @@ TEST_F(tls_basic, recseq_wrap)
        if (self->notls)
                SKIP(return, "no TLS support");
 
-       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_128, &tls12);
+       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_128, &tls12, 
0);
        memset(&tls12.aes128.rec_seq, 0xff, sizeof(tls12.aes128.rec_seq));
 
        ASSERT_EQ(setsockopt(self->fd, SOL_TLS, TLS_TX, &tls12, tls12.len), 0);
@@ -391,7 +393,7 @@ FIXTURE_SETUP(tls)
                SKIP(return, "Unsupported cipher in FIPS mode");
 
        tls_crypto_info_init(variant->tls_version, variant->cipher_type,
-                            &tls12);
+                            &tls12, 0);
 
        ulp_sock_pair(_metadata, &self->fd, &self->cfd, &self->notls);
 
@@ -1175,7 +1177,7 @@ TEST_F(tls, bidir)
                struct tls_crypto_info_keys tls12;
 
                tls_crypto_info_init(variant->tls_version, variant->cipher_type,
-                                    &tls12);
+                                    &tls12, 0);
 
                ret = setsockopt(self->fd, SOL_TLS, TLS_RX, &tls12,
                                 tls12.len);
@@ -1614,7 +1616,7 @@ TEST_F(tls, getsockopt)
        EXPECT_EQ(get.crypto_info.cipher_type, variant->cipher_type);
 
        /* get the full crypto_info */
-       tls_crypto_info_init(variant->tls_version, variant->cipher_type, 
&expect);
+       tls_crypto_info_init(variant->tls_version, variant->cipher_type, 
&expect, 0);
        len = expect.len;
        memrnd(&get, sizeof(get));
        EXPECT_EQ(getsockopt(self->fd, SOL_TLS, TLS_TX, &get, &len), 0);
@@ -1696,7 +1698,7 @@ FIXTURE_SETUP(tls_err)
        int ret;
 
        tls_crypto_info_init(variant->tls_version, TLS_CIPHER_AES_GCM_128,
-                            &tls12);
+                            &tls12, 0);
 
        ulp_sock_pair(_metadata, &self->fd, &self->cfd, &self->notls);
        ulp_sock_pair(_metadata, &self->fd2, &self->cfd2, &self->notls);
@@ -2118,7 +2120,7 @@ TEST(tls_v6ops) {
        int sfd, ret, fd;
        socklen_t len, len2;
 
-       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_128, &tls12);
+       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_128, &tls12, 
0);
 
        addr.sin6_family = AF_INET6;
        addr.sin6_addr = in6addr_any;
@@ -2177,7 +2179,7 @@ TEST(prequeue) {
        len = sizeof(addr);
        memrnd(buf, sizeof(buf));
 
-       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_256, &tls12);
+       tls_crypto_info_init(TLS_1_2_VERSION, TLS_CIPHER_AES_GCM_256, &tls12, 
0);
 
        addr.sin_family = AF_INET;
        addr.sin_addr.s_addr = htonl(INADDR_ANY);
-- 
2.47.0


Reply via email to