@@ -497,6 +497,15 @@ local function get_property(self, name)
497497end
498498
499499
500+ local function derive_aes_key (ikm , sid , remember_safety )
501+ if remember_safety then
502+ return derive_aes_gcm_256_key_and_iv (ikm , sid , remember_safety )
503+ else
504+ return derive_aes_gcm_256_key_and_iv (ikm , sid )
505+ end
506+ end
507+
508+
500509local function open (self , remember , meta_only )
501510 local storage = self .storage
502511 local current_time = time ()
@@ -817,13 +826,7 @@ local function open(self, remember, meta_only)
817826 return true
818827 end
819828
820- local aes_key , err , iv
821- if remember then
822- aes_key , err , iv = derive_aes_gcm_256_key_and_iv (ikm , sid , self .remember_safety )
823- else
824- aes_key , err , iv = derive_aes_gcm_256_key_and_iv (ikm , sid )
825- end
826-
829+ local aes_key , err , iv = derive_aes_key (ikm , sid , remember and self .remember_safety )
827830 if not aes_key then
828831 return nil , errmsg (err , " unable to derive session decryption key" )
829832 end
@@ -997,13 +1000,8 @@ local function save(self, state, remember)
9971000 HEADER_BUFFER :put (COOKIE_TYPE , packed_flags , sid , packed_creation_time , packed_rolling_offset , packed_data_size )
9981001
9991002 local ikm = self .ikm
1000- local aes_key , iv
1001- if remember then
1002- aes_key , err , iv = derive_aes_gcm_256_key_and_iv (ikm , sid , self .remember_safety )
1003- else
1004- aes_key , err , iv = derive_aes_gcm_256_key_and_iv (ikm , sid )
1005- end
10061003
1004+ local aes_key , err , iv = derive_aes_key (ikm , sid , remember and self .remember_safety )
10071005 if not aes_key then
10081006 return nil , errmsg (err , " unable to derive session encryption key" )
10091007 end
0 commit comments