From 518ea68cd05942fe1345450e0cddbdaf9949a611 Mon Sep 17 00:00:00 2001 From: John-Michael Mulesa Date: Wed, 10 Apr 2024 16:34:53 -0700 Subject: [PATCH] Limit Cabbie reboot action to Windows updates. PiperOrigin-RevId: 623640336 --- cablib/cablib_windows.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/cablib/cablib_windows.go b/cablib/cablib_windows.go index 98db92f..015b2c8 100644 --- a/cablib/cablib_windows.go +++ b/cablib/cablib_windows.go @@ -149,7 +149,22 @@ func RebootRequired() (bool, error) { } defer r.Clear() - return r.Value().(bool), nil + registryReboot := false + k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired`, registry.QUERY_VALUE|registry.ENUMERATE_SUB_KEYS) + if err != nil { + if err == registry.ErrNotExist { + registryReboot = true + } else { + return false, err + } + } + defer k.Close() + + if r.Value().(bool) && registryReboot { + return true, nil + } + + return false, nil } // GetUpdateTitles loops through an update collection and returns a list of titles.