antivirusDetection.vbs | 19 +++++++++++++++++++ configure.ac | 15 +++++++++++++++ 2 files changed, 34 insertions(+)
New commits: commit c16969b9bc73fdd77e763299d6aea7b614e203e2 Author: Michel Thomas <[email protected]> AuthorDate: Sun Feb 2 01:03:20 2020 +0530 Commit: Mike Kaganski <[email protected]> CommitDate: Sat Feb 8 06:17:03 2020 +0100 tdf#84553 Detect and warn of Windows Antivirus. Change-Id: I7731cb316306c153ad14bb3d27f39600a44ed9ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87811 Reviewed-by: Julien Nabet <[email protected]> Tested-by: Jenkins diff --git a/antivirusDetection.vbs b/antivirusDetection.vbs new file mode 100755 index 000000000000..a4e76731f0b6 --- /dev/null +++ b/antivirusDetection.vbs @@ -0,0 +1,19 @@ +Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\SecurityCenter2") +Set installedAntiviruses = objWMIService.ExecQuery("Select * from AntivirusProduct") +'Iterates through all the antivirus software,retrieved by the WMI query,present on the system and prints only the ones that are active +'this is done by checking the 12th bit of the productState property of the antivirus +'if 12th bit is on then it means that the antivirus is in active state +'if 12th bit is off then it is inactive. +'see http://neophob.com/2010/03/wmi-query-windows-securitycenter2/ +count=0 +list="" +For Each antivirus in installedAntiviruses + If antivirus.productState And &h01000 Then 'checking the state of the 12th bit of productState property of the antivirus + count=count+1 + list=list & VBNewLine & VBtab & "*" & antivirus.displayName + End if +Next +If count = 0 Then + Wscript.StdOut.Write "NOT_FOUND" +Else Wscript.Echo list +End if diff --git a/configure.ac b/configure.ac index d4a737aeaeb1..1bccce3578c8 100644 --- a/configure.ac +++ b/configure.ac @@ -12973,6 +12973,21 @@ fi AC_SUBST(ENABLE_FORMULA_LOGGER) +dnl =================================================================== +dnl Checking for active Antivirus software. +dnl =================================================================== + +if test $_os = WINNT ; then + AC_MSG_CHECKING([for active Antivirus software]) + ANTIVIRUS_LIST=`cscript.exe //Nologo $SRC_ROOT/antivirusDetection.vbs` + if [ [ "$ANTIVIRUS_LIST" != "NOT_FOUND" ] ]; then + AC_MSG_RESULT([found]) + add_warning "To speed up builds and avoid failures in unit tests, it is highly recommended that you exclude the build directories associated with LibreOffice in the following Antivirus software: $ANTIVIRUS_LIST" + else + AC_MSG_RESULT([not found]) + fi +fi + dnl =================================================================== dnl Setting up the environment. dnl =================================================================== _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
