@@ -165,6 +165,7 @@ func (s *sealSuite) TestSealKeyToModeenv(c *C) {
165165 myKey2 := secboot .CreateMockBootstrappedContainer ()
166166 // and volumes authentication options
167167 myVolumesAuth := & device.VolumesAuthOptions {Mode : device .AuthModePassphrase , Passphrase : "test" }
168+ myCheckResult := & secboot.PreinstallCheckResult {}
168169
169170 // set a mock recovery kernel
170171 readSystemEssentialCalls := 0
@@ -175,7 +176,7 @@ func (s *sealSuite) TestSealKeyToModeenv(c *C) {
175176 defer restore ()
176177
177178 sealKeyForBootChainsCalled := 0
178- restore = boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , params * boot.SealKeyForBootChainsParams ) error {
179+ restore = boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , checkResult * secboot. PreinstallCheckResult , params * boot.SealKeyForBootChainsParams ) error {
179180 sealKeyForBootChainsCalled ++
180181
181182 for _ , d := range []string {boot .InitramfsSeedEncryptionKeyDir , filepath .Join (dirs .GlobalRootDir , "/run/mnt/ubuntu-data/system-data/var/lib/snapd/device/fde" )} {
@@ -187,6 +188,7 @@ func (s *sealSuite) TestSealKeyToModeenv(c *C) {
187188 c .Check (key , DeepEquals , myKey )
188189 c .Check (saveKey , DeepEquals , myKey2 )
189190 c .Check (volumesAuth , Equals , myVolumesAuth )
191+ c .Check (checkResult , Equals , myCheckResult )
190192
191193 recoveryBootLoader , hasRecovery := params .RoleToBlName [bootloader .RoleRecovery ]
192194 c .Assert (hasRecovery , Equals , true )
@@ -236,7 +238,7 @@ func (s *sealSuite) TestSealKeyToModeenv(c *C) {
236238 defer restore ()
237239
238240 u := mockUnlocker {}
239- err = boot .SealKeyToModeenv (myKey , myKey2 , nil , myVolumesAuth , model , modeenv , boot.MockSealKeyToModeenvFlags {
241+ err = boot .SealKeyToModeenv (myKey , myKey2 , nil , myVolumesAuth , myCheckResult , model , modeenv , boot.MockSealKeyToModeenvFlags {
240242 FactoryReset : tc .factoryReset ,
241243 StateUnlocker : u .unlocker ,
242244 UseTokens : ! tc .disableTokens ,
@@ -1611,7 +1613,7 @@ func (s *sealSuite) TestSealToModeenvWithSecbootProtectorHappy(c *C) {
16111613 myKey2 := secboot .CreateMockBootstrappedContainer ()
16121614
16131615 sealKeyForBootChainsCalled := 0
1614- restore = boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , params * boot.SealKeyForBootChainsParams ) error {
1616+ restore = boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , checkResult * secboot. PreinstallCheckResult , params * boot.SealKeyForBootChainsParams ) error {
16151617 sealKeyForBootChainsCalled ++
16161618 c .Check (method , Equals , device .SealingMethodFDESetupHook )
16171619 c .Check (key , DeepEquals , myKey )
@@ -1640,7 +1642,7 @@ func (s *sealSuite) TestSealToModeenvWithSecbootProtectorHappy(c *C) {
16401642
16411643 defer boot .MockSealModeenvLocked ()()
16421644
1643- err := boot .SealKeyToModeenv (myKey , myKey2 , nil , nil , model , modeenv , boot.MockSealKeyToModeenvFlags {HookKeyProtectorFactory : & fakeProtectorFactory {}, UseTokens : true })
1645+ err := boot .SealKeyToModeenv (myKey , myKey2 , nil , nil , nil , model , modeenv , boot.MockSealKeyToModeenvFlags {HookKeyProtectorFactory : & fakeProtectorFactory {}, UseTokens : true })
16441646 c .Assert (err , IsNil )
16451647 c .Check (sealKeyForBootChainsCalled , Equals , 1 )
16461648}
@@ -1653,7 +1655,7 @@ func (s *sealSuite) TestSealToModeenvWithSecbootProtectorSad(c *C) {
16531655 model := boottest .MakeMockUC20Model ()
16541656
16551657 sealKeyForBootChainsCalled := 0
1656- restore := boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , params * boot.SealKeyForBootChainsParams ) error {
1658+ restore := boot .MockSealKeyForBootChains (func (method device.SealingMethod , key , saveKey secboot.BootstrappedContainer , primaryKey []byte , volumesAuth * device.VolumesAuthOptions , checkResult * secboot. PreinstallCheckResult , params * boot.SealKeyForBootChainsParams ) error {
16571659 sealKeyForBootChainsCalled ++
16581660
16591661 return fmt .Errorf ("seal key failed" )
@@ -1673,7 +1675,7 @@ func (s *sealSuite) TestSealToModeenvWithSecbootProtectorSad(c *C) {
16731675
16741676 defer boot .MockSealModeenvLocked ()()
16751677
1676- err := boot .SealKeyToModeenv (key , saveKey , nil , nil , model , modeenv , boot.MockSealKeyToModeenvFlags {HookKeyProtectorFactory : & fakeProtectorFactory {}})
1678+ err := boot .SealKeyToModeenv (key , saveKey , nil , nil , nil , model , modeenv , boot.MockSealKeyToModeenvFlags {HookKeyProtectorFactory : & fakeProtectorFactory {}})
16771679 c .Assert (err , ErrorMatches , `seal key failed` )
16781680 c .Check (sealKeyForBootChainsCalled , Equals , 1 )
16791681}
0 commit comments