@@ -44,9 +44,11 @@ struct tls_crypto_info_keys {
4444};
4545
4646static void tls_crypto_info_init (uint16_t tls_version , uint16_t cipher_type ,
47- struct tls_crypto_info_keys * tls12 )
47+ struct tls_crypto_info_keys * tls12 ,
48+ char key_generation )
4849{
49- memset (tls12 , 0 , sizeof (* tls12 ));
50+ memset (tls12 , key_generation , sizeof (* tls12 ));
51+ memset (tls12 , 0 , sizeof (struct tls_crypto_info ));
5052
5153 switch (cipher_type ) {
5254 case TLS_CIPHER_CHACHA20_POLY1305 :
@@ -275,7 +277,7 @@ TEST_F(tls_basic, recseq_wrap)
275277 if (self -> notls )
276278 SKIP (return , "no TLS support" );
277279
278- tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_128 , & tls12 );
280+ tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_128 , & tls12 , 0 );
279281 memset (& tls12 .aes128 .rec_seq , 0xff , sizeof (tls12 .aes128 .rec_seq ));
280282
281283 ASSERT_EQ (setsockopt (self -> fd , SOL_TLS , TLS_TX , & tls12 , tls12 .len ), 0 );
@@ -391,7 +393,7 @@ FIXTURE_SETUP(tls)
391393 SKIP (return , "Unsupported cipher in FIPS mode" );
392394
393395 tls_crypto_info_init (variant -> tls_version , variant -> cipher_type ,
394- & tls12 );
396+ & tls12 , 0 );
395397
396398 ulp_sock_pair (_metadata , & self -> fd , & self -> cfd , & self -> notls );
397399
@@ -1175,7 +1177,7 @@ TEST_F(tls, bidir)
11751177 struct tls_crypto_info_keys tls12 ;
11761178
11771179 tls_crypto_info_init (variant -> tls_version , variant -> cipher_type ,
1178- & tls12 );
1180+ & tls12 , 0 );
11791181
11801182 ret = setsockopt (self -> fd , SOL_TLS , TLS_RX , & tls12 ,
11811183 tls12 .len );
@@ -1614,7 +1616,7 @@ TEST_F(tls, getsockopt)
16141616 EXPECT_EQ (get .crypto_info .cipher_type , variant -> cipher_type );
16151617
16161618 /* get the full crypto_info */
1617- tls_crypto_info_init (variant -> tls_version , variant -> cipher_type , & expect );
1619+ tls_crypto_info_init (variant -> tls_version , variant -> cipher_type , & expect , 0 );
16181620 len = expect .len ;
16191621 memrnd (& get , sizeof (get ));
16201622 EXPECT_EQ (getsockopt (self -> fd , SOL_TLS , TLS_TX , & get , & len ), 0 );
@@ -1696,7 +1698,7 @@ FIXTURE_SETUP(tls_err)
16961698 int ret ;
16971699
16981700 tls_crypto_info_init (variant -> tls_version , TLS_CIPHER_AES_GCM_128 ,
1699- & tls12 );
1701+ & tls12 , 0 );
17001702
17011703 ulp_sock_pair (_metadata , & self -> fd , & self -> cfd , & self -> notls );
17021704 ulp_sock_pair (_metadata , & self -> fd2 , & self -> cfd2 , & self -> notls );
@@ -2118,7 +2120,7 @@ TEST(tls_v6ops) {
21182120 int sfd , ret , fd ;
21192121 socklen_t len , len2 ;
21202122
2121- tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_128 , & tls12 );
2123+ tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_128 , & tls12 , 0 );
21222124
21232125 addr .sin6_family = AF_INET6 ;
21242126 addr .sin6_addr = in6addr_any ;
@@ -2177,7 +2179,7 @@ TEST(prequeue) {
21772179 len = sizeof (addr );
21782180 memrnd (buf , sizeof (buf ));
21792181
2180- tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_256 , & tls12 );
2182+ tls_crypto_info_init (TLS_1_2_VERSION , TLS_CIPHER_AES_GCM_256 , & tls12 , 0 );
21812183
21822184 addr .sin_family = AF_INET ;
21832185 addr .sin_addr .s_addr = htonl (INADDR_ANY );
0 commit comments