ClamAV - Documentation is here: https://docs.clamav.net https://www.clamav.net/
Find a file
Micah Snyder 0bd2ae26bc Scanners: Remove allmatch checks + significant code cleanup
Also fixed a number of conditions where magic_scan() critical errors may
be ignored.

To ensure that the scan truly aborts for signature matches (not in
allmatch mode) and for timeouts, the `ctx->abort` option is now set in
these two conditions, and checked in several spots in magic_scan().

Additionally, I've consolidated some of the "scan must halt" type of
checks (mostly large switch statements) into a function so that we can
use the exact same logic in a few places in magic_scan().

I've also fixed a few minor warnings and code format issues.
2022-10-19 13:13:57 -07:00
.github GH Actions: Newer version of run-vcpkg, older version of Windows 2022-06-17 15:14:49 -07:00
clamav-milter Add explicit log level parameter to application logging API 2022-02-15 15:13:55 -08:00
clambc Scanners: Remove allmatch checks + significant code cleanup 2022-10-19 13:13:57 -07:00
clamconf CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
clamd CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
clamdscan CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
clamdtop CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
clamonacc Minor fixes: remove a couple of unused variables 2022-04-13 08:53:58 -07:00
clamscan CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
clamsubmit CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
cmake Fix mmap() C API detection on macOS 2022-09-26 12:10:29 -07:00
common Fix certificate load x509 -> PEM result check 2022-10-19 13:13:57 -07:00
COPYING CMake: CPack generate Windows installer with WIX 2021-02-25 11:41:27 -08:00
dockerfiles Revert "Moved the PID and socket file location to /tmp so the container can run as clamav user." 2022-09-22 15:42:05 -07:00
docs Correct short flag of watch-list 2022-09-29 16:21:14 -07:00
etc Fix default BytecodeTimeout value in sample config 2022-07-11 12:10:42 -07:00
examples Rename example programs for readability 2022-10-13 08:57:44 -07:00
freshclam CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
fuzz fuzz: stability of parallel fuzz testing 2022-03-30 13:17:02 -07:00
libclamav Scanners: Remove allmatch checks + significant code cleanup 2022-10-19 13:13:57 -07:00
libclamav_rust Fix issue reporting all Heuristic/PUA matches in allmatch mode 2022-10-19 13:13:57 -07:00
libclammspack CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
libclamunrar CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
libclamunrar_iface CMake Windows: Install debug symbol files for debug builds 2022-08-12 13:08:34 -07:00
libfreshclam Scanners: Remove allmatch checks + significant code cleanup 2022-10-19 13:13:57 -07:00
sigtool Matcher: Remove allmatch checks and significantly tidy code 2022-10-19 13:13:57 -07:00
unit_tests Scanners: Remove allmatch checks + significant code cleanup 2022-10-19 13:13:57 -07:00
win32 Fix default BytecodeTimeout value in sample config 2022-07-11 12:10:42 -07:00
.clang-format Code cleanup: Refactor to clean up formatting issues 2022-03-22 10:42:46 -07:00
.dockerignore Docker: Fix build after CMake/CPack changes 2021-09-02 03:22:48 -07:00
.gitattributes Fix Windows text file EOL conversion issues 2021-02-25 11:41:28 -08:00
.gitignore Rust bindgen: Only generate if CMake MAINTAINER_MODE is ON 2022-01-14 11:50:07 -07:00
Cargo.toml cdiff: Replace cdiff-apply feature with Rust implementation 2022-01-10 12:18:33 -07:00
ChangeLog.md Documentation update and cleanup. Transition to MarkDown files for improved rendering on GitHub.com 2018-03-06 17:43:54 -05:00
clam-format clang-format: c++ bytecode source 2021-07-05 15:19:02 -07:00
clamav-config.h.cmake.in CMake: Support external TomsFastMath library (libtfm) 2022-02-10 12:54:23 -07:00
clamav-config.in remove old CVS-stuff and make the repository look more like SVN 2007-02-17 19:02:20 +00:00
clamav-types.h.in Bump copyright for 2022 2022-01-09 14:23:25 -07:00
clamav-version.h.in Bump copyright for 2022 2022-01-09 14:23:25 -07:00
CMakeLists.txt Code cleanup: More accurate variable types in bytecode modules 2022-10-19 13:13:57 -07:00
CMakeOptions.cmake ccmake: make the values of BYTECODE_RUNTIME enumeratable by ENTER 2022-09-07 10:15:05 -07:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-05-21 10:05:52 -07:00
COPYING.txt CMake: CPack generate Windows installer with WIX 2021-02-25 11:41:27 -08:00
Dockerfile Revert "Moved the PID and socket file location to /tmp so the container can run as clamav user." 2022-09-22 15:42:05 -07:00
INSTALL.md 0.105 release prep: Update NEWS.md release notes 2022-03-10 14:13:19 -08:00
Jenkinsfile Bumped version from 0.105.0 -> 1.0.0-devel 2022-05-10 10:24:20 -07:00
libclamav.pc.in Improve pkgconfig. Patch supplied by Andreas Cadhalpun. 2015-09-09 17:58:04 -04:00
logo.png GitHub Actions testing on Ubuntu, Mac, & Windows 2021-02-25 11:41:28 -08:00
NEWS.md Bumped version from 0.105.0 -> 1.0.0-devel 2022-05-10 10:24:20 -07:00
platform.h.in Add CMake build tooling 2020-08-13 00:25:34 -07:00
README.Docker.md docker: Set default timezone for the runtime container 2022-02-17 16:32:20 -07:00
README.md Readme: Describe the new install packages 2021-08-27 15:24:10 -07:00
SECURITY.md Adds SECURITY.md policy file 2021-06-09 14:17:59 -07:00
target.h.cmake.in Add CMake build tooling 2020-08-13 00:25:34 -07:00

ClamAV

Maeve, the ClamAV mascot

ClamAV® is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats.

Documentation & FAQ

ClamAV documentation is hosted at docs.clamav.net. The source archive for each release also includes a copy of the documentation for offline reading.

You can contribute to the documentation by submitting improvements to Cisco-Talos/clamav-documentation

ClamAV News

For information about the features in this and prior releases, read the news.

Catch up on the latest about ClamAV by reading our blog and follow us on Twitter @clamav.

ClamAV Signatures

Anyone can learn to read and write ClamAV signatures. To get started, see our signature writing manual.

Installation Instructions

Using Docker

ClamAV can be run using Docker. For details, visit to the online manual under "Docker" and check out our images on Docker Hub.

Using a Package Manager

For help installing from a package manager, refer to the online manual under "Packages".

Using an Installer

The following install packages are available for download from clamav.net/downloads:

  • Linux - Debian and RPM packages for x86_64 and i686. New in v0.104.
  • macOS - PKG installer for x86_64 and arm64 (universal). New in v0.104.
  • Windows - MSI installers and portable ZIP packages for win32 and x64.

To learn how to use these packages, refer to the online manual under "Installing".

Build from Source

For step-by-step instructions, refer to the online manual:

The source archive for each release includes a copy of the documentation for offline reading.

A reference with all of the available build options can be found in the INSTALL.md file.

You can find additional advice for developers in the online manual under "For Developers".

Upgrading from a previous version

Visit the FAQ for tips on how to upgrade from a previous version.

Join the ClamAV Community

The best way to get in touch with the ClamAV community is to join our mailing lists.

You can also join the community on our ClamAV Discord chat server.

Want to make a contribution?

The ClamAV development team welcomes code contributions, improvements to our documentation, and also bug reports.

Thanks for joining us!

Licensing

ClamAV is licensed for public/open source use under the GNU General Public License, Version 2 (GPLv2).

See COPYING.txt for a copy of the license.

3rd Party Code

ClamAV contains a number of components that include code copied in part or in whole from 3rd party projects and whose code is not owned by Cisco and which are licensed differently than ClamAV. These include:

  • tomsfastmath: public domain
  • Yara: Apache 2.0 license
    • Yara has since switched to the BSD 3-Clause License; Our source is out-of-date and needs to be updated.
  • 7z / lzma: public domain
  • libclamav's NSIS/NulSoft parser includes:
    • zlib: permissive free software license
    • bzip2 / libbzip2: BSD-like license
  • OpenBSD's libc/regex: BSD license
  • file: BSD license
  • str.c: Contains BSD licensed modified-implementations of strtol(), stroul() functions, Copyright (c) 1990 The Regents of the University of California.
  • pngcheck (png.c): MIT/X11-style license
  • getopt.c: MIT license
  • Curl: license inspired by MIT/X, but not identical
  • libmspack: LGPL license
  • UnRAR (libclamunrar): a non-free/restricted open source license
    • Note: The UnRAR license is incompatible with GPLv2 because it contains a clause that prohibits reverse engineering a RAR compression algorithm from the UnRAR decompression code. For this reason, libclamunrar/libclamunrar_iface is not linked at all with libclamav. It is instead loaded at run-time. If it fails to load, ClamAV will continue running without RAR support.

See the COPYING directory for a copy of the 3rd party project licenses.

Acknowledgements

Credit for contributions to each release can be found in the News.

ClamAV is brought to you by the ClamAV Team