Mickey Sola 7df8437a87 Single commit to add clam mods to regex code
Changes include:
	* Change include of system regex headers to internal
	* Add cli prefix to regex functions
	* Change cli_regcomp to cli_regcomp_real to work with the
	  others_common.c regex interface
	* Optimize re_guts struct:
	  - Reordering fields allows the struct to fit within 16 bytes vs 20
	    bytes. This helps to fix a bug on legacy 64-bit systems where
	    there was a behaviour difference between 32 and 64 systems.
	  - see bb 474 for further details
	* Fix out of memory condition
	  - see bb 849 for further details
	  - reported by Gianluigi Tiesi <sherpya*netfarm.it>
	* Remove duplicate nomem check
	* Avoid passing out-of-range values to isalnum
	  - reported by Nigel
	* Avoid name collisions on AIX
	* Fix compiler warnings
	* Fix error path leak in regex/engine.c
	* Fix regex when sizeof(void*) != sizeof(long) for 64bit Windows
	  - see bb 2232 for further Details
	  - reported by Martin Olsen
	* Add error case safety checks and cleanups
	* Add patch for 'possible' heap overflow
	  - see bb11264 for further details
	  - patch submitted by the Debian team
	* Use clam internal allocation functions
	* Replace bounds check asserts with if checks (asserts are compiled
	  out of production builds)

Contributors to the above include:
	* Nigel Horne
	* aCaB
	* Török Edvin
	* David Raynor
	* Shawn Webb
	* Steven Morgan
	* Micah Snyder
	* Mickey Sola
2022-05-01 12:24:19 -07:00
2022-01-09 14:23:25 -07:00
2022-01-09 14:23:25 -07:00
2022-03-09 16:47:44 -08:00
2022-03-09 16:47:44 -08:00
2022-01-09 14:23:25 -07:00
2022-03-09 16:47:44 -08:00
2021-07-05 15:19:02 -07:00
2022-01-09 14:23:25 -07:00
2022-01-09 14:23:25 -07:00
2021-05-21 10:05:52 -07:00
2020-08-13 00:25:34 -07:00
2021-06-09 14:17:59 -07:00
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

Description
No description provided
Readme 213 MiB
Languages
C 80.4%
C++ 9.1%
Rust 3.6%
Python 3%
CMake 2.3%
Other 1.4%