clamav/win32
Joel Esler 00fb0d9118 Fixed broken links.
Across the whole of the product.
2014-09-02 11:29:35 -04:00
..
3rdparty move libxml2 config.h to include/libxml for windows build. 2013-10-14 12:10:22 -04:00
clamav-for-windows Fixed broken links. 2014-09-02 11:29:35 -04:00
compat Move all the crypto API to clamav.h 2014-07-01 19:38:01 -04:00
llvmbuild win32 llvm-config.h, and .def 2010-11-06 15:50:58 +02:00
res bump win32 ver 2011-04-14 13:54:16 +03:00
Setup-x64 Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
Setup-x86 Build on Win32 2014-02-11 17:11:37 -05:00
.gitignore Add missing build/ 2010-10-29 12:59:47 +03:00
clamav-config.h win32: fixed an issue with llvm version macro 2014-07-25 19:14:58 -04:00
ClamAV.sln Add MSI projects. 2012-06-14 16:05:53 -04:00
clambc.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
clambc.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
clamconf.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
clamconf.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
clamd.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
clamd.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
clamdscan.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
clamdscan.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
clamscan.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
clamscan.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
configure.bat win32: configure.js 2009-11-01 21:27:15 +01:00
configure.js win32: properly handle release versions 2011-06-09 14:19:01 +02:00
freshclam.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
freshclam.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
libclamav.def win32: fixed additional OS specific build issues 2014-07-25 20:10:23 -04:00
libclamav.vcxproj Add XDP-related files to the Windows project and fix the Windows build. 2014-08-04 12:57:43 -04:00
libclamav.vcxproj.filters Add XDP-related files to the Windows project and fix the Windows build. 2014-08-04 12:57:43 -04:00
libclamavcxx.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
libclamavcxx.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
libclamunrar.def win32: add unrar s'port 2009-10-14 01:28:02 +02:00
libclamunrar.vcxproj Fix Windows build 2014-07-11 11:14:27 -04:00
libclamunrar.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
libclamunrar_iface.def win32: add unrar s'port 2009-10-14 01:28:02 +02:00
libclamunrar_iface.vcxproj Fix Windows build 2014-07-11 11:14:27 -04:00
libclamunrar_iface.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
LLVMcodegen.vcxproj Update win32 proj files. 2010-11-06 15:50:57 +02:00
LLVMcodegen.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
LLVMjit.vcxproj Update win32 proj files. 2010-11-06 15:50:57 +02:00
LLVMjit.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
LLVMsystem.vcxproj Update win32 proj files. 2010-11-06 15:50:57 +02:00
LLVMsystem.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 2010-07-24 04:14:56 +02:00
LLVMx86codegen.vcxproj win32: suppress some warns 2011-04-09 13:34:31 +02:00
LLVMx86codegen.vcxproj.filters win32: vs10 done 2010-07-24 17:50:04 +02:00
platform.h attempt to fix win32 build 2011-05-06 21:26:55 +03:00
README win32: UTF #6 - clamd proto 2011-04-18 17:25:23 +02:00
sigtool.vcxproj Add OpenSSL linkage to Win64 builds. 2014-02-12 12:43:20 -05:00
sigtool.vcxproj.filters Build on Win32 2014-02-11 17:11:37 -05:00
target.h win32 fixes: bb#2152 and bb#2153 2010-08-05 12:08:13 +02:00
update-win32.pl Dynamic fpu endian detection for remaining unit tests and removal of fpu_words_bigendian configuration option and artifacts. 2013-11-11 18:00:58 -05:00

ClamAV for Win32
----------------

--- News ---

Starting from version 0.98 the windows version of ClamAV requires all the
input to be UTF-8 encoded.
This affects:
- the API, notably the cl_scanfile() function
- clamd socket input, e.g. the commands SCAN, CONTSCAN, MUTLISCAN, etc.
- clamd socket output, i.e replies to the above queries

For legacy reasons ANSI (i.e. CP_ACP) input will still be accepted and
processed as before, but with two important remarks:
First, socket replies to ANSI queries will still be UTF-8 encoded.
Second, ANSI sequences which are also valid UTF-8 sequences will be handled
as UTF-8.

As a side note, console output (stdin and stderr) will always be OEM encoded,
even when redirected to a file.


--- Requirements ---

To build the source code you will need:
- Git for windows with a git "shell"
- Microsoft Visual Studio 2010 SP1: the express version builds the 32bit
target just fine but it requires a decent amount of fiddling in order to
compile the 64bit target; this configuration is therefore not supported.

To run the binaries at least Windows XP is required.


--- Getting the code ---

The win32 source code is merged in the ClamAV repository and is available
via git.
Clone the repository with: git clone git://git.clamav.net/git/clamav-devel
See http://www.clamav.net/download/sources for more info.


--- Code configuration ---

After downloading the source code, minimal configuration is required:
just run the win32/configure.bat script *from within the git shell*.
Skip this step if you are building from an official release tarball.


--- Compilation ---

Open win32/ClamAV.sln in Visual Studio and build all.
The output directory for the binaries is either /win32/(Win32|x64)/Debug or
/win32/(Win32|x64)/Release depending on the configuration you pick.

Note: at the time of writing Batch Build is broken in VS10:
https://connect.microsoft.com/VisualStudio/feedback/details/556158
Use MSBuild instead.


--- Special notes ---

The ClamAV tools in win32 are the same as in unix, so refer to their respective
manpage for general usage.
The major differences are listed below:
- Config files path search order:
  1- The content of the registry key
     "HKEY_LOCAL_MACHINE/Software/ClamAV/ConfDir"
  2- The directory where libclamav.dll is located
  3- "C:\ClamAV"

- Database files path search order:
  1- The content of the registry key
     "HKEY_LOCAL_MACHINE/Software/ClamAV/DataDir"
  2- The directory "database" inside the directory where libclamav.dll is
     located
  3- "C:\ClamAV\db"

- Globbing
Since the windows command prompt doesn't take care of wildcard expansion,
minimal emulation of unix glob() is performed internally.
It supports "*" and "?" only.

- File paths
Please always use the backslash as the path separator.
SMB Network shares and UNC paths are supported.

- Debug builds
Malloc in debug (as opposed to release) mode fails after allocating some 90k
chunks; such builds won't be able to handle large databases.
Just do yourself a favour and always build in release mode.


--- Special thanks ---

Special thanks to Gianluigi Tiesi and Mark Pizzolato for their valuable help in
coding and testing.