Merge pull request #1029 from wickles/patch-1

Prevent Accessibility access for macOS >= 10.12
This commit is contained in:
Josh Hagins 2016-09-23 11:17:36 -05:00 committed by GitHub
commit 8e1169085d
2 changed files with 28 additions and 8 deletions

View File

@ -236,19 +236,24 @@ class Hbc::Installer
"INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','#{bundle_identifier}',0,1,1,NULL);",
],
sudo: true)
else
elsif MacOS.version <= :el_capitan
@command.run!("/usr/bin/sqlite3",
args: [
Hbc.tcc_db,
"INSERT OR REPLACE INTO access VALUES('kTCCServiceAccessibility','#{bundle_identifier}',0,1,1,NULL,NULL);",
],
sudo: true)
else
opoo <<-EOS.undent
Accessibility access cannot be enabled automatically on this version of macOS.
See System Preferences to enable it manually.
EOS
end
end
def disable_accessibility_access
return unless @cask.accessibility_access
if MacOS.version >= :mavericks
if MacOS.version >= :mavericks && MacOS.version <= :el_capitan
ohai "Disabling accessibility access"
@command.run!("/usr/bin/sqlite3",
args: [
@ -258,8 +263,8 @@ class Hbc::Installer
sudo: true)
else
opoo <<-EOS.undent
Accessibility access was enabled for #{@cask}, but it is not safe to disable
automatically on this version of macOS. See System Preferences.
Accessibility access cannot be disabled automatically on this version of macOS.
See System Preferences to disable it manually.
EOS
end
end

View File

@ -22,8 +22,7 @@ describe "Accessibility Access" do
@installer.enable_accessibility_access
end
end
it "can enable accessibility access in OS X releases prior to Mavericks" do
it "can enable accessibility access in macOS releases prior to Mavericks" do
MacOS.stubs(version: MacOS::Version.new("10.8"))
Hbc::FakeSystemCommand.expects_command(
@ -33,6 +32,14 @@ describe "Accessibility Access" do
@installer.enable_accessibility_access
end
end
it "warns about enabling accessibility access on new macOS releases" do
MacOS.stubs(version: MacOS::Version.new("10.12"))
@installer.stubs(bundle_identifier: "com.example.BasicCask")
capture_io { @installer.enable_accessibility_access }[1]
.must_match("Warning: Accessibility access cannot be enabled automatically on this version of macOS.")
end
end
describe "uninstall" do
@ -48,13 +55,21 @@ describe "Accessibility Access" do
@installer.disable_accessibility_access
end
end
it "warns about disabling accessibility access on old OS X releases" do
it "warns about disabling accessibility access on old macOS releases" do
MacOS.stubs(version: MacOS::Version.new("10.8"))
@installer.stubs(bundle_identifier: "com.example.BasicCask")
capture_io { @installer.disable_accessibility_access }[1]
.must_match("Warning: Accessibility access was enabled for with-accessibility-access, but it is not safe to disable")
.must_match("Warning: Accessibility access cannot be disabled automatically on this version of macOS.")
end
it "warns about disabling accessibility access on new macOS releases" do
MacOS.stubs(version: MacOS::Version.new("10.12"))
@installer.stubs(bundle_identifier: "com.example.BasicCask")
capture_io { @installer.disable_accessibility_access }[1]
.must_match("Warning: Accessibility access cannot be disabled automatically on this version of macOS.")
end
end
end