]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
selftests: tls: add key_generation argument to tls_crypto_info_init
authorSabrina Dubroca <sd@queasysnail.net>
Thu, 12 Dec 2024 15:36:08 +0000 (16:36 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Dec 2024 12:47:30 +0000 (12:47 +0000)
This allows us to generate different keys, so that we can test that
rekey is using the correct one.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/tls.c

index 1a706d03bb6bb8902878d376762069fdbb28ad9d..b1f52d2bb096536ab6fbef390fc5ac8f134e2b4b 100644 (file)
@@ -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);