Initial revision

git-svn: trunk@4
This commit is contained in:
Luca Gibelli 2003-07-29 15:37:11 +00:00
parent 648a034697
commit 28e73e9511
113 changed files with 43908 additions and 0 deletions

40
clamav-devel/AUTHORS Normal file
View file

@ -0,0 +1,40 @@
Tomasz Kojm <zolw@konarski.edu.pl>
home page : http://www.konarski.edu.pl/~zolw
gpg key : http://www.konarski.edu.pl/~zolw/tkojm.gpg
GPG = 0DCA 5A08 407D 5288 279D B434 5482 2DC8 985A 444B
Nigel Horne <njh@bandsman.co.uk>
home page : http://bandsman.co.uk
Author of clamav-milter and the whole mbox code.
Database developers:
Diego D'Ambra <da@softcom.dk>
Jason Englander <jason@englanders.cc>
Tomasz Kojm <zolw@konarski.edu.pl>
TrashScan was written by Trashware <trashware@gmx.net>.
ClamAV patches were submitted by (in alphabetical order):
Kamil Andrusz <wizz@mniam.net>
Patrick Bihan-Faou <patrick@mindstep.com>
Damien Curtain <damien@pagefault.org>
Alejandro Dubrovsky <s328940@student.uq.edu.au>
Magnus Ekdahl <magnus@debian.org>
Jason Englander <jason@englanders.cc>
David Ford <david+cert@blue-labs.org>
Nigel Horne <njh@smsltd.demon.co.uk>
Hrvoje Habjanic <hrvoje.habjanic@zg.hinet.hr>
Robbert Kouprie <robbert@exx.nl>
Peter N Lewis <peter@stairways.com.au>
Arkadiusz Miskiewicz <misiek@pld.org.pl>
Hendrik Muhs <Hendrik.Muhs@student.uni-magdeburg.de>
Masaki Ogawa <proc@mac.com>
Ed Phillips <ed@UDel.Edu>
Andreas Piesk <Andreas.Piesk@heise.de>
Ant La Porte <ant@dvere.net>
Gernot Tenchio <g.tenchio@telco-tech.de>
Thomas Quinot <thomas@cuivre.fr.eu.org>
Andoni Zubimendi <andoni@lpsat.net>

10
clamav-devel/BUGS Normal file
View file

@ -0,0 +1,10 @@
If you want to help, compile clamav with:
./configure --enable-debug
and enable Foreground option in clamav.conf.
Known bugs:
-----------
-) unrarlib doesn't work on 64-bit systems
-) clamd stability problems on BSD
-) clamav-milter stability problems

340
clamav-devel/COPYING Normal file
View file

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

1099
clamav-devel/ChangeLog Normal file

File diff suppressed because it is too large Load diff

8
clamav-devel/FAQ Normal file
View file

@ -0,0 +1,8 @@
Q: Does ClamAV repair infected files ?
A: No. Due to the structure of used database, it can't repair infected files.
The database has no information about virus cleaning. However OLE2
(mainly Microsoft Office files) cleaning will be implemented !
Q: Is ClamAV a C port of OpenAntiVirus ?
A: No, but it has some common features with ScannerDaemon, such as a similar
pattern matching algorithm.

231
clamav-devel/INSTALL Normal file
View file

@ -0,0 +1,231 @@
Copyright 1994, 1995, 1996, 1999, 2000, 2001 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for variables by setting
them in the environment. You can do that on the command line like this:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it cannot guess the host type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the host
platform (i.e., that on which the generated programs will eventually be
run) with `--host=TYPE'. In this case, you should also specify the
build platform with `--build=TYPE', because, in this case, it may not
be possible to guess the build platform (it sometimes involves
compiling and running simple test programs, and this can't be done if
the compiler is a cross compiler).
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

19
clamav-devel/Makefile.am Normal file
View file

@ -0,0 +1,19 @@
#
# Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
SUBDIRS = libclamav clamscan freshclam database docs sigtool clamd clamdscan clamav-milter etc
EXTRA_DIST = FAQ contrib test examples BUGS

444
clamav-devel/Makefile.in Normal file
View file

@ -0,0 +1,444 @@
# Makefile.in generated by automake 1.6.1 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AS = @AS@
AWK = @AWK@
CC = @CC@
CFGDIR = @CFGDIR@
CLAMAVGROUP = @CLAMAVGROUP@
CLAMAVUSER = @CLAMAVUSER@
CLAMD_LIBS = @CLAMD_LIBS@
DBDIR = @DBDIR@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
FRESHCLAM_LIBS = @FRESHCLAM_LIBS@
GETENT = @GETENT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LIBCLAMAV_LIBS = @LIBCLAMAV_LIBS@
LIBCLAMAV_VERSION = @LIBCLAMAV_VERSION@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
STRIP = @STRIP@
TH_SAFE = @TH_SAFE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
SUBDIRS = libclamav clamscan freshclam database docs sigtool clamd clamdscan clamav-milter etc
EXTRA_DIST = FAQ contrib test examples BUGS
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS TODO acinclude.m4 aclocal.m4 config.guess \
config.sub configure configure.in depcomp install-sh ltmain.sh \
missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
@for file in $(DISTFILES); do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
find $$dc_install_base -type f -print ; \
exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f config.status config.cache config.log
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-libtool clean-recursive dist dist-all \
dist-gzip distcheck distclean distclean-generic \
distclean-libtool distclean-recursive distclean-tags \
distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
tags tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

588
clamav-devel/NEWS Normal file
View file

@ -0,0 +1,588 @@
Note: This README/NEWS file refers to the source tarball. Some things described
here may not be available in the binary packages.
--
0.60
----
Hello again...
This is a new, (very?) stable release of Clam AntiVirus. 0.60 was developed
and stabilized for over seven months and many people had contributed to the
final release. This version introduces many enhancements and a new program:
clamav-milter written by ClamAV developer Nigel Horne. This is a mail scanner
for Sendmail/milter written entirely in C, which uses clamd for virus scanning.
Clamav-milter and clamd duet is a powerful solution for systems where high
performance is required. Please check clamdoc for more detail.
Many people get confused with ClamAV database status because of
the OpenAntiVirus update information at:
http://openantivirus.org/latest.php
(last update at 17 October, 2002). The ClamAV virus database contains
the OAV database (with some signatures fixed or removed) but we
develop it independently of the OAV project. Our database is updated
frequently (on average 4-5 times a week). You can help (or join) us -
will find some basic but useful instructions at
http://clamav.elektrapro.com/doc/signatures.pdf
News from ClamAV world:
-) New email address for virus submitting: virus@clamav.elektrapro.com
You don't need to encrypt a virus sample, but if your system doesn't allow
you to send infected files just put it into an encrypted zip archive
(password: virus)
Special thanks to Nicholas Chua, Diego D'Ambra, Hrvoje Habjanic, Nigel Kukard
and Chris van Meerendonk for a big number of samples submitted.
-) New mailing list: virusdb@clamav.elektrapro.com
After each update an email with subject "[clamav-virusdb] Update" and a list
of viruses added is sent to it. You can set up a procmail rule for freshclam
to react on such a mails (and update the database just after an update).
-) New official mirrors:
+ clamav.ozforces.com: database mirror updated manually (thanks to
Andrew <andrew@ozforces.com>)
+ clamav.essentkabel.com: full (automatic) mirror of clamav.elektrapro.com
(thanks to Chris van Meerendonk <cvm@castel.nl>)
+ clamav.linux-sxs.org: database mirror - rsync from clamav.ozforces.com
(thanks to Douglas J Hunley <doug@hunley.homeip.net>)
Freshclam will automatically use them when the main server is not
accessible.
-) Official port in FreeBSD available ! (maintained by Masahiro Teramoto
<markun@onohara.to>)
-) Unofficial port for OpenBSD is available at:
http://www.activeintra.net/openbsd/article.php?id=5
(maintained by Flinn Mueller <flinn@activeintra.net>)
-) there are many new programs that use ClamAV, eg. mod_clamav (Apache
virus scanning filter), clamdmail or Sagator. You will find more
info in clamdoc.
Changes:
-) libclamav:
+ fixed buffer overflow in unrarlib (patch by Robbert Kouprie
<robbert@exx.nl>)
+ various mbox code updates (fixed memory leak; added support for decoding
viruses sent in message bodies, detection of viruses that put their
payloads after the end of message marker (thanks to Stephen White
<stephen@earth.li> for the bug report and useful CGI tools);
+ zziplib updated to 0.10.81 (some problems with older version were reported
by Martin Schitter)
+ direct scanning of mbox/maildir files (new directive CL_MAIL)
+ file scanner optimization (patch by Hendrik Muhs
<Hendrik.Muhs@student.uni-magdeburg.de>)
+ bzip2 support
+ faster detection of malformed Zip archives (eg. 'Zip of Death'), they are
reported as a viruses
+ fixed strcasecmp() compile problem in zziplib on Free/NetBSD and others
-) clamd:
+ fixed descriptor leak in directory scanner - it was causing random
clamd crashes and locks, especially on highly loaded servers. Reported
by Kristof Petr <Kristof.P@fce.vutbr.cz>.
+ fixed crash with archive scanning on BSD (increased thread stack size)
(Nigel Horne)
+ fixed CONTSCAN command (used by clamdscan) - it had archive support
disabled (hardcoded)
+ fixed SelfCheck option (there was a logic bug, and the option was
disabled) it now checks a databases time stamps and reloads them
if needed.
+ fixed possible writing to undefined descriptors (bug found by
Brian May <bam@debian.org>)
+ new STREAM command (scanning data on socket) and directives:
StreamSaveToDisk (save stream to disk to allow scanning within archives),
StreamMaxLength. This option allows scanning data on socket (might be
sent from another host), currently only clamav-milter uses this.
+ new ScanMail directive for scanning into mbox/Maildir files
+ new directive: ArchiveLimitMemoryUsage (limit memory usage with bzip2)
+ new directive: AllowSupplementaryGroups (feature requested by Exiscan
users)
+ syslog support (LogSyslog) (patch by Hrvoje Habjanic
<hrvoje.habjanic@zg.hinet.hr>)
+ fixed parser segfault with extra space between option and argument
in config file (Magnus Ekdahl <magnus@debian.org>)
-) clamscan:
+ fixed --remove option (didn't work when the file was scanned with an
internal unpacker) (patch by Damien Curtain <damien@pagefault.org>)
+ --move option for moving infected files into a specified directory
(by Damien Curtain <damien@pagefault.org>)
+ --mbox enables a direct support for mbox files
(ex. clamscan --mbox /var/spool/mail)
+ fixed --log (-l) option
+ fixed -i option (patch by Magnus Ekdahl <magnus@debian.org>)
+ enabled default archive limits (max-files = 500, max-size = 10M,
max-recursion = 5)
+ use arj instead of non-free unarj (patch by Magnus Ekdahl)
+ use unzoo instead of non-free zoo (patch by Magnus Ekdahl)
+ removed thread support
freshclam:
+ mirror support (implemented by Damien Curtain <damien@pagefault.org>)
+ --proxy-user: proxy authorization support (implemented by Gernot Tenchio
<g.tenchio@telco-tech.de>)
+ new options --on-error-execute, --on-update-execute
(ex. freshclam -d -c 6 --on-error-execute "sendsms 23332243 Can't
update virus database"). Idea by Douglas J Hunley <doug@hunley.homeip.net>
configure:
+ --disable-cr (don't link with C reentrant library (needed on some newer
versions of OpenBSD))
-) Enhanced AIX (thanks to Mike Loewen <mloewen@sturgeon.cac.psu.edu>) and
Tru64 support (thanks to Christophe Varoqui <ext.devoteam.varoqui@sncf.fr>)
-) documentation:
+ included how-to in Portugese by Alexandre de Jesus Marcolino
+ clamdoc.pdf and system manual updates
Many thanks to Luca 'NERvOus' Gibelli from ElektraPro for his support,
to Ken McKittrick from USA DataNet for a fully accessible FreeBSD box and
to mailing list subscribers for a constructive discussions.
--
Tomasz Kojm
June 21, 2003
0.54
----
Many major changes this time...
-) libclamav:
+ fixed segfault with some strange zip archives (there is a bug in zziplib,
libclamav contains a work around for it) (the problem was reported by
Oliver Paukstadt <pstadt@stud.fh-heilbronn.de>)
+ engine improvements (better support for a detection of new viruses,
limited memory usage (consumes ~ 5 Mb now))
+ mbox code updated and moved into the library: fixed core dump when an
embedded message includes a mime header with the line Content-Type:
without specifying the type of content, fixed (theoretical) memory leak,
support for multipart/report messages, fixed bug causing some formats to
fail to scan) (Nigel)
-) clamd:
+ new commands: CONTSCAN (it doesn't stop scanning even when virus is
found), VERSION
+ disable logging of a unnecessary time stamps with LogTime when
LogVerbose isn't used (patch by Ed Phillips <ed@UDel.Edu>)
-) freshclam:
+ "Cache-Control: no-cache" enabled by default
+ Cygwin support fix
-) clamdscan:
+ initial version
-) all tools:
+ removed huge printf() in help() (there was a buffer overflow problem with
--help option under Windows and SCO Unix (reported by Wojciech Noworyta
<wnow@konarski.edu.pl> and Nigel respectively)
-) configure:
+ allow configuration of the clamav user and group with --with-user and
--with-group (patch by Patrick Bihan-Faou <patrick@mindstep.com>)
+ --enable-id-check - it uses the check procedure from Jason Englander
<jason@englanders.cc>, currently it will fail on systems with getent
which doesn't detect clamav group.
+ do not overwrite the existing config file
There are initial packages for Windows available at:
http://clamav.elektrapro.com/binary
--tk
0.53
----
This release has removed the limit for a file name length in clamscan. Some
viruses (eg. W32/Yaha.E) are using very long file names, and they were
ignored in mbox mode. Users of AMaViS-ng and other wrappers were not
vulnerable to this problem, because that programs don't use original
attachement file names.
-) clamscan:
+ removed limit for a file name length (thanks to Odhiambo Washington
<wash@wananchi.com> for the test files and extensive mbox testing)
+ mbox: adapted to the new changes, enabled thread support (Nigel),
re-enabled temporary directory removing.
0.52
----
This version contains a portability fixes - it should compile on OpenBSD,
MacOSX and NetBSD (support for them was broken in 0.51).
-) clamd: various fixes:
+ drop supplementary groups (suggested by Enrico Scholz
<enrico.scholz@informatik.tu-chemnitz.de>) (this has been implemented
in freshclam, too)
+ work-around for the segmentation fault at QUIT under FreeBSD
+ check timeouts when waiting for threads in RELOAD mode
+ SelfCheck - internal integrity check (by default every 1 hour)
+ fixed problem with directory scanning on non typical file systems
(bug reported by Jason Englander <jason@englanders.cc>)
+ clamd is a system command (clamd.1 -> clamd.8, /usr/local/bin ->
/usr/local/sbin) (Magnus Ekdahl)
-) clamscan:
+ mbox code updates (Nigel Horne) - it fixes some problems on *BSD
systems (see mailing lists archives for the details)
+ enable core dumping (Nigel Horne) [ with --enable-debug ]
-) freshclam:
+ applied http-proxy patch from http://bugs.debian.org/clamav (by
Martin Lesser <admin-debian@bettercom.de>)
+ when configured with --disable-cache, freshclam forces 'no-cache'
option in proxy servers (patch by Ant La Porte <ant@dvere.net>)
-) HPUX (10.20/11.0 tested) support (thanks to Joe Oaks <joe.oaks@hp.com>)
-) fixed support for SCO Unix and BeOS (Nigel Horne)
-) support/mboxscan: new version with SpamAssassin support (Nigel Horne)
-) re-included TrashScan 0.08 (by Trashware <trashware@gmx.de>) - the security
issue has been fixed.
-) included "Installing qmail-scanner, Clam Antivirus and SpamAssassin under
FreeBSD" how-to by Paul Hoadley and Eric Parsonage
0.51
----
OAV database is up to date ! There was a problem with signature parsing,
because some hex strings were upper case. Anyway, I still recommend you
freshclam for a database updating.
-) support for the genuine OAV database
-) limited memory usage (at the cost of speed, increase CL_MIN_LENGTH in
libclamav/clamav.h to make it faster, it's safe to set it on 3-4 for
the OAV database)
-) fixed compile problem on TurboLinux 6.5 (probably others, too), the bug
was reported by Henk Kuipers <henk@opensourcesolutions.nl>.
-) clamd: fixed THREXIT (thanks to Piotr Gackiewicz <gacek@intertele.pl>)
-) clamd: fixed serious bug with thread argument type
-) clamscan: mbox: don't scan empty attachments (Nigel Horne)
-) configure: --with-db1, --with-db2 (suggested by Magnus Ekdahl)
0.50
----
Here it is...
Clam AntiVirus 0.50 contains an anti-virus library - libclamav, a fully
multi-threaded daemon clamd(1) and a quite long list of changes. The
documentation was rewritten and you _should_ review it. By courtesy of
NERvOus <nervous@nervous.it> and ElektraPro, there are three mailing lists
available - you can subscribe via www at http://clamav.elektrapro.com/ml.
Please check the manual for more information.
New software:
-) libclamav with RAR, Zip and Gzip support built-in. The library is thread
safe and should be very secure, also. It uses UniquE RAR File
Library by Christian Scheurer and Johannes Winkelmann (RAR 2.0 support only)
and zziplib library by Guido Draheim and Tomi Ollila. Both of them are
included and slightly modified in the clamav sources. You need the zlib
library for the Zip/Gzip support, though. The API is described with
examples in the clamdoc.
-) clamd: a modern anti-virus daemon. It uses configuration file clamav.conf
described in the clamav.conf(5) manual. The program was written with
security as a goal.
-) clamuko: on-access scanning under Linux. It utilizes Dazuko kernel module
(GPL, http://dazuko.org) and is clamd-based.
New features / improvements:
-) enhanced scanner engine (better detection of some complex polymorphic
viruses)
-) clamscan: Nigel Horne <njh@bandsman.co.uk> has added the ability to scan
mail attachments in a filter. For example:
$ clamscan -i --mbox - < /var/spool/mail/john
/tmp/aa6b9fc06bc477ae/setup.exe: Worm/Klez.H FOUND
Nigel is the author of the whole mbox code in clamscan. Currently it only
works in a filter mode, but there are plans to move the code into the
libclamav and allow clamd using it. Please check support/mboxscan, also.
-) clamscan: support for including and excluding multiple patterns with
--include and --exclude (patch by Alejandro Dubrovsky
<s328940@student.uq.edu.au>).
Example: clamscan --include .exe --include .obj --include .scr /mnt/windows
-) clamscan: don't scan /proc files (Linux, st_dev comparing). No more
/proc/kcore related mails :))
-) clamscan: use libclamav's archive support by default (it's enabled by default
and may be disabled with --disable-archive) and switch to the external
unpackers (if specified) in the case of libclamav archive code error.
-) freshclam: proxy support (via $http_proxy variable and --http-proxy).
I started implementing proxy support some time ago, but never finished.
Nigel Horne did the great job and has finished the proxy support !
-) freshclam: --daemon-notify. freshclam will send the RELOAD command to the
daemon after database update (supports both tcp and local sockets, it reads
clamav.conf to determine the socket type).
-) freshclam: support for viruses.db2
Bug fixes:
-) freshclam: log 'Database updated' message (thanks to Jeffrey Moskot
<jef@math.miami.edu> for the bug report). It now prints a number
of signatures in a database, also.
-) clamscan: fixed compile problem on Solaris 8 and some other systems -
#include <signal.h> lack in others.c (thanks Mike Loewen
<mloewen@sturgeon.cac.psu.edu> for the bug report)
Documentation:
-) included Japanese documentation by Masaki Ogawa <proc@mac.com>
-) updated Spanish "Sendmail + Amavis + ClamAv - Como" by Erick I. Lopez
Carreon <elopezc@technitrade.com>
-) rewritten clamdoc, included clamdoc-html, removed PostScript version (.ps)
-) Clam-Mutant ;) logo update by Michal Hajduczenia <michalis@mat.uni.torun.pl>
-) new man pages: clamd(1), clamav.conf(5); others updated
!!!
Please don't use the oav-update script with this version. It doesn't
update viruses.db2 and supports OpenAntiVirus.org site only (the last
update of the OAV database was 1 July !). Nicholas Chua <nicholas@ncmbox.net>
has generated over 200 new signatures, ClamAV's database is also frequently
updated (expecially when new wild virus/worm appears, eg. W32/BugBear.A).
This software is still in developement (new software == new bugs), however
clamscan should be very stable. You shouldn't use clamd/clamuko (well, clamd is
stable, clamuko isn't) on production systems, yet. Please wait for 0.51 at
least ;). ClamAV 0.50 was tested on Linux and Solaris and should work fine.
There is a problem with clamd on FreeBSD (tested on my FreeBSD 5.0-CURRENT) -
the daemon crashes with Zip/Gzip files (disabling ScanArchive should help).
Enjoy !
--
Tomasz Kojm
October 5, 2002
0.24
----
-) fixed threads deadlock in a critical error situation (bug found by David
Sanchez <dsanchez@veloxia.com>)
-) fixed sigtool bug (negative seeking)
-) fixed potential clamscan segfault in the case of memory allocation error
-) unpacker execution error is no longer treated as critical - few programs
(eg. Qmail-Scanner, TrashScan) have clamscan command hardcoded with all
archive options turned on. Now, if unpacker can't be executed, raw file is
scanned and scan process is continued.
-) reverted to pthread.h detection
-) TrashScan 0.07 (Trashware <trashware@gmx.net>)
-) --exclude (regular expressions are not supported !)
[ex: clamscan --exclude="/proc/kcore" /], but please use it with care.
-) included html documentation
IMPORTANT NOTE:
~~~~~~~~~~~~~~~
You will probably have a problem with a default Qmail-Scanner (1.13 or newer)
installation. You need to increase qmail-smtpd softlimit or disable it. You
can force clamscan to use only half of the memory which it uses by default, too.
Please change the following line in the clamscan/matcher.h file:
#define MIN_LENGTH 5
to:
#define MIN_LENGTH 3
and recompile the program. Unhappily, scanning may be a little slower in some
cases, but it shouldn't be significant. Then you can safely set the qmail
softlimit to 8 MB. I want to thank Doug Monroe <doug@planetconnect.com> for
his contribution in the problem analysis.
---
New ClamAV version is in a heavy development. It has currently built-in
support for RAR, Zip, Gzip and tar. The daemon will support only built-in
compression/archive support. Snapshot will be available for a few days.
0.23
----
-) fixed compile problem on FreeBSD (thanks to Wieslaw Glod <wkg@x2.pl> and
Ken McKittrick <klmac@usadatanet.com>)
-) clamscan reads all .db files from data directory, so you can put your
own databases there and they won't be overwrited by the updaters. viruses.db
is still the main database file (if --database isn't used).
-) --deb (debian binary packages scanning) by Magnus Ekdahl <magnus@debian.org>
-) --remove option, but be careful with it !
-) new clam logo ;) (GPL) by Michal Hajduczenia <michalis@mat.uni.torun.pl>.
-) TrashScan 0.06 (by Trashware <trashware@gmx.net>) - a script for scanning
mail with procmail. I recommend it. (support/trashscan)
-) documentation updates
0.30 release will contain a daemon and an anti-virus library (with simple API),
so you can use it directly in your projects. I want to build in zip and rar
support, also.
There are binary packages for AIX available. Please check the documentation.
0.22
----
This release fixes bug with scanning archives in unaccessible directories with
*superuser* priviledges (after dropping priviledges scanner wasn't able to
access the archive, although the same archive was accessible), thanks
for Sergei Pronin <sp@finndesign.fi> for the problem description. Now all
archives unaccessible directly by the clamav user are copied (with a respect to
--max-space) to the temporary directory. All old filesystem tricks were removed.
Other fixes / improvements:
-) better error handling, new error codes
-) improved -i (--infected) option
-) removed --strange-unzip option
-) removed eicar test files and logos from the documentation due to the GPL
(thanks for Magnus Ekdahl <magnus@debian.org>), ClamAV-Test-Signature is
used instead
-) removed Qmail-Scanner patch, ClamAV is supported by Q-S 1.13 (thanks guys!)
-) code cleanups
0.21 Release
------------
It fixes following problems:
-) database downloading in freshclam/0.20
-) malformed amavis-perl patch from 0.20
-) clamscan problems with some unzip versions, please try --strange-unzip
option
ClamAV 0.21 source package contains initial support for NetBSD
(thanks to Marc Baudoin <babafou@babafou.eu.org>, Jean-Edouard BABIN
<Jeb@jeb.com.fr>), better support for Mac OS X (Masaki Ogawa <proc@mac.com>),
and clamdoc documentation corrected by Dennis Leeuw <dleeuw@made-it.com>.
0.20 Release
------------
The most important change in this release is a new, linear pattern matching
algorithm. You will find more informations about it in clamscan/matcher.c -
in the sources and in clamdoc. Summary (since 0.15):
New features:
-) fast pattern matching algorithm
-) sigtool utility, check `man sigtool` and clamdoc
-) Linux: threads autodetection on various architectures
(Magnus Ekdahl <magnus@debian.org>)
-) -i, --infected: clamscan prints only infected files
-) 'Data scanned' in summary, size in megabytes with 16 Kb precision
-) configure: --with-dbdir sets the database location
-) support/sigmake shell script by Dennis Leeuw <leeuw@stone-it.com>
-) Spanish "Sendmail+Amavis+ClamAv installation how-to" by
Erick I. Lopez Carreon <elopezc@technitrade.com>
Updates:
-) "Debian GNU/Linux Mail Server v. 0.2.0" by Dennis Leeuw <leeuw@stone-it.com>
-) qmail-scanner patch from Kazuhiko <kazuhiko@fdiary.net>
-) general documentation cleanups / updates
-) freshclam / Internet database location
Fixes:
-) threads autodetection on not-x86 Linux systems
-) gcc 3.x support (David Ford <david+cert@blue-labs.org>)
-) data type fix on Mac OS X (Peter N Lewis <peter@stairways.com.au>)
-) removed -w, --whole-file, now clamscan scans whole files by default
-w is still supported by internal getopt(), because it is used in
various patches
-) removed --one-virus, still supported by getopt(); removed 'Found viruses'
from summary, clamscan stops file scanning after first virus
-) fixed old problem with scanning stdin
-) removed amavisd-patch - strange problems have been reported
OpenAntiVirus Update is a great tool written by Matthew A. Grant
<grantma@anathoth.gen.nz> and it will be the primary updater for ClamAV
in the near future. In contrast to freshclam it has proxy support and many
specific features. Please check clamdoc for more informations and how to
obtain it.
0.15 Notes
----------
This version contains minor bugfixes only, such as:
-) multiple fixes in freshclam (it has problems, when one of the
hosts wasn't accessible), there were logic flaws in the code
-) fixed problem with password protected archives (unpackers were waiting
for password)
New features:
-) OpenBSD support (thanks to Kamil Andrusz <wizz@mniam.net>)
-) added support for amavisd, qmail-scanner (see ./support)
There were no major bugs and I was very busy, that's why new version is
released just today. In the next 2 months, clamav development will be much
faster. Here are some of my plans:
~ 0.20 : New pattern-matching algorithm
~ 0.30 : clamlib; clamscan and the daemon based on it
There is a new homepage:
http://clamav.elektrapro.com
Thanks to ElektraPro.com for sponsoring this site (it's very fast).
Thanks to NERvOus <nervous@nervous.it>.
If you are interested in current development versions, please check
snapshots link.
Resource usage limits in 0.14
-----------------------------
Two new features: --max-files, --max-space have been implemented. If you have
enabled one of this options, clamscan monitors resource usage (number of
created files and used space) and stops extractor when it has exceeded
the limit. You should use these options to protect your machine against
Denial of Service attacks. In the near future --max-levels (limit for
recursive archives extracting) and --max-time (spent on checking/extracting
files) will be implemented.
FreeBSD: AMaViS compile problems
--------------------------------
Please check FAQ.
!!! Strange signatures in VirusSignatures-2002.04.15.10.51.zip !!!
------------------------------------------------------------------
Last version of signatures was ~90 kb, this version is ~474 kb.
But I don't understand, why some signatures are mega-huge. When I decoded
them, they looked like regular files. In CA they were removed from the
database and I probably add them later, in normal sizes.
Installation :
--------------
Please view documentation in ./docs. There are several formats - pdf, ps
and plain latex, if you want to compile it yourself.
You need GNU make (on Solaris you should have gmake).
It was tested only with gcc 2.9x compilers.

588
clamav-devel/README Normal file
View file

@ -0,0 +1,588 @@
Note: This README/NEWS file refers to the source tarball. Some things described
here may not be available in the binary packages.
--
0.60
----
Hello again...
This is a new, (very?) stable release of Clam AntiVirus. 0.60 was developed
and stabilized for over seven months and many people had contributed to the
final release. This version introduces many enhancements and a new program:
clamav-milter written by ClamAV developer Nigel Horne. This is a mail scanner
for Sendmail/milter written entirely in C, which uses clamd for virus scanning.
Clamav-milter and clamd duet is a powerful solution for systems where high
performance is required. Please check clamdoc for more detail.
Many people get confused with ClamAV database status because of
the OpenAntiVirus update information at:
http://openantivirus.org/latest.php
(last update at 17 October, 2002). The ClamAV virus database contains
the OAV database (with some signatures fixed or removed) but we
develop it independently of the OAV project. Our database is updated
frequently (on average 4-5 times a week). You can help (or join) us -
will find some basic but useful instructions at
http://clamav.elektrapro.com/doc/signatures.pdf
News from ClamAV world:
-) New email address for virus submitting: virus@clamav.elektrapro.com
You don't need to encrypt a virus sample, but if your system doesn't allow
you to send infected files just put it into an encrypted zip archive
(password: virus)
Special thanks to Nicholas Chua, Diego D'Ambra, Hrvoje Habjanic, Nigel Kukard
and Chris van Meerendonk for a big number of samples submitted.
-) New mailing list: virusdb@clamav.elektrapro.com
After each update an email with subject "[clamav-virusdb] Update" and a list
of viruses added is sent to it. You can set up a procmail rule for freshclam
to react on such a mails (and update the database just after an update).
-) New official mirrors:
+ clamav.ozforces.com: database mirror updated manually (thanks to
Andrew <andrew@ozforces.com>)
+ clamav.essentkabel.com: full (automatic) mirror of clamav.elektrapro.com
(thanks to Chris van Meerendonk <cvm@castel.nl>)
+ clamav.linux-sxs.org: database mirror - rsync from clamav.ozforces.com
(thanks to Douglas J Hunley <doug@hunley.homeip.net>)
Freshclam will automatically use them when the main server is not
accessible.
-) Official port in FreeBSD available ! (maintained by Masahiro Teramoto
<markun@onohara.to>)
-) Unofficial port for OpenBSD is available at:
http://www.activeintra.net/openbsd/article.php?id=5
(maintained by Flinn Mueller <flinn@activeintra.net>)
-) there are many new programs that use ClamAV, eg. mod_clamav (Apache
virus scanning filter), clamdmail or Sagator. You will find more
info in clamdoc.
Changes:
-) libclamav:
+ fixed buffer overflow in unrarlib (patch by Robbert Kouprie
<robbert@exx.nl>)
+ various mbox code updates (fixed memory leak; added support for decoding
viruses sent in message bodies, detection of viruses that put their
payloads after the end of message marker (thanks to Stephen White
<stephen@earth.li> for the bug report and useful CGI tools);
+ zziplib updated to 0.10.81 (some problems with older version were reported
by Martin Schitter)
+ direct scanning of mbox/maildir files (new directive CL_MAIL)
+ file scanner optimization (patch by Hendrik Muhs
<Hendrik.Muhs@student.uni-magdeburg.de>)
+ bzip2 support
+ faster detection of malformed Zip archives (eg. 'Zip of Death'), they are
reported as a viruses
+ fixed strcasecmp() compile problem in zziplib on Free/NetBSD and others
-) clamd:
+ fixed descriptor leak in directory scanner - it was causing random
clamd crashes and locks, especially on highly loaded servers. Reported
by Kristof Petr <Kristof.P@fce.vutbr.cz>.
+ fixed crash with archive scanning on BSD (increased thread stack size)
(Nigel Horne)
+ fixed CONTSCAN command (used by clamdscan) - it had archive support
disabled (hardcoded)
+ fixed SelfCheck option (there was a logic bug, and the option was
disabled) it now checks a databases time stamps and reloads them
if needed.
+ fixed possible writing to undefined descriptors (bug found by
Brian May <bam@debian.org>)
+ new STREAM command (scanning data on socket) and directives:
StreamSaveToDisk (save stream to disk to allow scanning within archives),
StreamMaxLength. This option allows scanning data on socket (might be
sent from another host), currently only clamav-milter uses this.
+ new ScanMail directive for scanning into mbox/Maildir files
+ new directive: ArchiveLimitMemoryUsage (limit memory usage with bzip2)
+ new directive: AllowSupplementaryGroups (feature requested by Exiscan
users)
+ syslog support (LogSyslog) (patch by Hrvoje Habjanic
<hrvoje.habjanic@zg.hinet.hr>)
+ fixed parser segfault with extra space between option and argument
in config file (Magnus Ekdahl <magnus@debian.org>)
-) clamscan:
+ fixed --remove option (didn't work when the file was scanned with an
internal unpacker) (patch by Damien Curtain <damien@pagefault.org>)
+ --move option for moving infected files into a specified directory
(by Damien Curtain <damien@pagefault.org>)
+ --mbox enables a direct support for mbox files
(ex. clamscan --mbox /var/spool/mail)
+ fixed --log (-l) option
+ fixed -i option (patch by Magnus Ekdahl <magnus@debian.org>)
+ enabled default archive limits (max-files = 500, max-size = 10M,
max-recursion = 5)
+ use arj instead of non-free unarj (patch by Magnus Ekdahl)
+ use unzoo instead of non-free zoo (patch by Magnus Ekdahl)
+ removed thread support
freshclam:
+ mirror support (implemented by Damien Curtain <damien@pagefault.org>)
+ --proxy-user: proxy authorization support (implemented by Gernot Tenchio
<g.tenchio@telco-tech.de>)
+ new options --on-error-execute, --on-update-execute
(ex. freshclam -d -c 6 --on-error-execute "sendsms 23332243 Can't
update virus database"). Idea by Douglas J Hunley <doug@hunley.homeip.net>
configure:
+ --disable-cr (don't link with C reentrant library (needed on some newer
versions of OpenBSD))
-) Enhanced AIX (thanks to Mike Loewen <mloewen@sturgeon.cac.psu.edu>) and
Tru64 support (thanks to Christophe Varoqui <ext.devoteam.varoqui@sncf.fr>)
-) documentation:
+ included how-to in Portugese by Alexandre de Jesus Marcolino
+ clamdoc.pdf and system manual updates
Many thanks to Luca 'NERvOus' Gibelli from ElektraPro for his support,
to Ken McKittrick from USA DataNet for a fully accessible FreeBSD box and
to mailing list subscribers for a constructive discussions.
--
Tomasz Kojm
June 21, 2003
0.54
----
Many major changes this time...
-) libclamav:
+ fixed segfault with some strange zip archives (there is a bug in zziplib,
libclamav contains a work around for it) (the problem was reported by
Oliver Paukstadt <pstadt@stud.fh-heilbronn.de>)
+ engine improvements (better support for a detection of new viruses,
limited memory usage (consumes ~ 5 Mb now))
+ mbox code updated and moved into the library: fixed core dump when an
embedded message includes a mime header with the line Content-Type:
without specifying the type of content, fixed (theoretical) memory leak,
support for multipart/report messages, fixed bug causing some formats to
fail to scan) (Nigel)
-) clamd:
+ new commands: CONTSCAN (it doesn't stop scanning even when virus is
found), VERSION
+ disable logging of a unnecessary time stamps with LogTime when
LogVerbose isn't used (patch by Ed Phillips <ed@UDel.Edu>)
-) freshclam:
+ "Cache-Control: no-cache" enabled by default
+ Cygwin support fix
-) clamdscan:
+ initial version
-) all tools:
+ removed huge printf() in help() (there was a buffer overflow problem with
--help option under Windows and SCO Unix (reported by Wojciech Noworyta
<wnow@konarski.edu.pl> and Nigel respectively)
-) configure:
+ allow configuration of the clamav user and group with --with-user and
--with-group (patch by Patrick Bihan-Faou <patrick@mindstep.com>)
+ --enable-id-check - it uses the check procedure from Jason Englander
<jason@englanders.cc>, currently it will fail on systems with getent
which doesn't detect clamav group.
+ do not overwrite the existing config file
There are initial packages for Windows available at:
http://clamav.elektrapro.com/binary
--tk
0.53
----
This release has removed the limit for a file name length in clamscan. Some
viruses (eg. W32/Yaha.E) are using very long file names, and they were
ignored in mbox mode. Users of AMaViS-ng and other wrappers were not
vulnerable to this problem, because that programs don't use original
attachement file names.
-) clamscan:
+ removed limit for a file name length (thanks to Odhiambo Washington
<wash@wananchi.com> for the test files and extensive mbox testing)
+ mbox: adapted to the new changes, enabled thread support (Nigel),
re-enabled temporary directory removing.
0.52
----
This version contains a portability fixes - it should compile on OpenBSD,
MacOSX and NetBSD (support for them was broken in 0.51).
-) clamd: various fixes:
+ drop supplementary groups (suggested by Enrico Scholz
<enrico.scholz@informatik.tu-chemnitz.de>) (this has been implemented
in freshclam, too)
+ work-around for the segmentation fault at QUIT under FreeBSD
+ check timeouts when waiting for threads in RELOAD mode
+ SelfCheck - internal integrity check (by default every 1 hour)
+ fixed problem with directory scanning on non typical file systems
(bug reported by Jason Englander <jason@englanders.cc>)
+ clamd is a system command (clamd.1 -> clamd.8, /usr/local/bin ->
/usr/local/sbin) (Magnus Ekdahl)
-) clamscan:
+ mbox code updates (Nigel Horne) - it fixes some problems on *BSD
systems (see mailing lists archives for the details)
+ enable core dumping (Nigel Horne) [ with --enable-debug ]
-) freshclam:
+ applied http-proxy patch from http://bugs.debian.org/clamav (by
Martin Lesser <admin-debian@bettercom.de>)
+ when configured with --disable-cache, freshclam forces 'no-cache'
option in proxy servers (patch by Ant La Porte <ant@dvere.net>)
-) HPUX (10.20/11.0 tested) support (thanks to Joe Oaks <joe.oaks@hp.com>)
-) fixed support for SCO Unix and BeOS (Nigel Horne)
-) support/mboxscan: new version with SpamAssassin support (Nigel Horne)
-) re-included TrashScan 0.08 (by Trashware <trashware@gmx.de>) - the security
issue has been fixed.
-) included "Installing qmail-scanner, Clam Antivirus and SpamAssassin under
FreeBSD" how-to by Paul Hoadley and Eric Parsonage
0.51
----
OAV database is up to date ! There was a problem with signature parsing,
because some hex strings were upper case. Anyway, I still recommend you
freshclam for a database updating.
-) support for the genuine OAV database
-) limited memory usage (at the cost of speed, increase CL_MIN_LENGTH in
libclamav/clamav.h to make it faster, it's safe to set it on 3-4 for
the OAV database)
-) fixed compile problem on TurboLinux 6.5 (probably others, too), the bug
was reported by Henk Kuipers <henk@opensourcesolutions.nl>.
-) clamd: fixed THREXIT (thanks to Piotr Gackiewicz <gacek@intertele.pl>)
-) clamd: fixed serious bug with thread argument type
-) clamscan: mbox: don't scan empty attachments (Nigel Horne)
-) configure: --with-db1, --with-db2 (suggested by Magnus Ekdahl)
0.50
----
Here it is...
Clam AntiVirus 0.50 contains an anti-virus library - libclamav, a fully
multi-threaded daemon clamd(1) and a quite long list of changes. The
documentation was rewritten and you _should_ review it. By courtesy of
NERvOus <nervous@nervous.it> and ElektraPro, there are three mailing lists
available - you can subscribe via www at http://clamav.elektrapro.com/ml.
Please check the manual for more information.
New software:
-) libclamav with RAR, Zip and Gzip support built-in. The library is thread
safe and should be very secure, also. It uses UniquE RAR File
Library by Christian Scheurer and Johannes Winkelmann (RAR 2.0 support only)
and zziplib library by Guido Draheim and Tomi Ollila. Both of them are
included and slightly modified in the clamav sources. You need the zlib
library for the Zip/Gzip support, though. The API is described with
examples in the clamdoc.
-) clamd: a modern anti-virus daemon. It uses configuration file clamav.conf
described in the clamav.conf(5) manual. The program was written with
security as a goal.
-) clamuko: on-access scanning under Linux. It utilizes Dazuko kernel module
(GPL, http://dazuko.org) and is clamd-based.
New features / improvements:
-) enhanced scanner engine (better detection of some complex polymorphic
viruses)
-) clamscan: Nigel Horne <njh@bandsman.co.uk> has added the ability to scan
mail attachments in a filter. For example:
$ clamscan -i --mbox - < /var/spool/mail/john
/tmp/aa6b9fc06bc477ae/setup.exe: Worm/Klez.H FOUND
Nigel is the author of the whole mbox code in clamscan. Currently it only
works in a filter mode, but there are plans to move the code into the
libclamav and allow clamd using it. Please check support/mboxscan, also.
-) clamscan: support for including and excluding multiple patterns with
--include and --exclude (patch by Alejandro Dubrovsky
<s328940@student.uq.edu.au>).
Example: clamscan --include .exe --include .obj --include .scr /mnt/windows
-) clamscan: don't scan /proc files (Linux, st_dev comparing). No more
/proc/kcore related mails :))
-) clamscan: use libclamav's archive support by default (it's enabled by default
and may be disabled with --disable-archive) and switch to the external
unpackers (if specified) in the case of libclamav archive code error.
-) freshclam: proxy support (via $http_proxy variable and --http-proxy).
I started implementing proxy support some time ago, but never finished.
Nigel Horne did the great job and has finished the proxy support !
-) freshclam: --daemon-notify. freshclam will send the RELOAD command to the
daemon after database update (supports both tcp and local sockets, it reads
clamav.conf to determine the socket type).
-) freshclam: support for viruses.db2
Bug fixes:
-) freshclam: log 'Database updated' message (thanks to Jeffrey Moskot
<jef@math.miami.edu> for the bug report). It now prints a number
of signatures in a database, also.
-) clamscan: fixed compile problem on Solaris 8 and some other systems -
#include <signal.h> lack in others.c (thanks Mike Loewen
<mloewen@sturgeon.cac.psu.edu> for the bug report)
Documentation:
-) included Japanese documentation by Masaki Ogawa <proc@mac.com>
-) updated Spanish "Sendmail + Amavis + ClamAv - Como" by Erick I. Lopez
Carreon <elopezc@technitrade.com>
-) rewritten clamdoc, included clamdoc-html, removed PostScript version (.ps)
-) Clam-Mutant ;) logo update by Michal Hajduczenia <michalis@mat.uni.torun.pl>
-) new man pages: clamd(1), clamav.conf(5); others updated
!!!
Please don't use the oav-update script with this version. It doesn't
update viruses.db2 and supports OpenAntiVirus.org site only (the last
update of the OAV database was 1 July !). Nicholas Chua <nicholas@ncmbox.net>
has generated over 200 new signatures, ClamAV's database is also frequently
updated (expecially when new wild virus/worm appears, eg. W32/BugBear.A).
This software is still in developement (new software == new bugs), however
clamscan should be very stable. You shouldn't use clamd/clamuko (well, clamd is
stable, clamuko isn't) on production systems, yet. Please wait for 0.51 at
least ;). ClamAV 0.50 was tested on Linux and Solaris and should work fine.
There is a problem with clamd on FreeBSD (tested on my FreeBSD 5.0-CURRENT) -
the daemon crashes with Zip/Gzip files (disabling ScanArchive should help).
Enjoy !
--
Tomasz Kojm
October 5, 2002
0.24
----
-) fixed threads deadlock in a critical error situation (bug found by David
Sanchez <dsanchez@veloxia.com>)
-) fixed sigtool bug (negative seeking)
-) fixed potential clamscan segfault in the case of memory allocation error
-) unpacker execution error is no longer treated as critical - few programs
(eg. Qmail-Scanner, TrashScan) have clamscan command hardcoded with all
archive options turned on. Now, if unpacker can't be executed, raw file is
scanned and scan process is continued.
-) reverted to pthread.h detection
-) TrashScan 0.07 (Trashware <trashware@gmx.net>)
-) --exclude (regular expressions are not supported !)
[ex: clamscan --exclude="/proc/kcore" /], but please use it with care.
-) included html documentation
IMPORTANT NOTE:
~~~~~~~~~~~~~~~
You will probably have a problem with a default Qmail-Scanner (1.13 or newer)
installation. You need to increase qmail-smtpd softlimit or disable it. You
can force clamscan to use only half of the memory which it uses by default, too.
Please change the following line in the clamscan/matcher.h file:
#define MIN_LENGTH 5
to:
#define MIN_LENGTH 3
and recompile the program. Unhappily, scanning may be a little slower in some
cases, but it shouldn't be significant. Then you can safely set the qmail
softlimit to 8 MB. I want to thank Doug Monroe <doug@planetconnect.com> for
his contribution in the problem analysis.
---
New ClamAV version is in a heavy development. It has currently built-in
support for RAR, Zip, Gzip and tar. The daemon will support only built-in
compression/archive support. Snapshot will be available for a few days.
0.23
----
-) fixed compile problem on FreeBSD (thanks to Wieslaw Glod <wkg@x2.pl> and
Ken McKittrick <klmac@usadatanet.com>)
-) clamscan reads all .db files from data directory, so you can put your
own databases there and they won't be overwrited by the updaters. viruses.db
is still the main database file (if --database isn't used).
-) --deb (debian binary packages scanning) by Magnus Ekdahl <magnus@debian.org>
-) --remove option, but be careful with it !
-) new clam logo ;) (GPL) by Michal Hajduczenia <michalis@mat.uni.torun.pl>.
-) TrashScan 0.06 (by Trashware <trashware@gmx.net>) - a script for scanning
mail with procmail. I recommend it. (support/trashscan)
-) documentation updates
0.30 release will contain a daemon and an anti-virus library (with simple API),
so you can use it directly in your projects. I want to build in zip and rar
support, also.
There are binary packages for AIX available. Please check the documentation.
0.22
----
This release fixes bug with scanning archives in unaccessible directories with
*superuser* priviledges (after dropping priviledges scanner wasn't able to
access the archive, although the same archive was accessible), thanks
for Sergei Pronin <sp@finndesign.fi> for the problem description. Now all
archives unaccessible directly by the clamav user are copied (with a respect to
--max-space) to the temporary directory. All old filesystem tricks were removed.
Other fixes / improvements:
-) better error handling, new error codes
-) improved -i (--infected) option
-) removed --strange-unzip option
-) removed eicar test files and logos from the documentation due to the GPL
(thanks for Magnus Ekdahl <magnus@debian.org>), ClamAV-Test-Signature is
used instead
-) removed Qmail-Scanner patch, ClamAV is supported by Q-S 1.13 (thanks guys!)
-) code cleanups
0.21 Release
------------
It fixes following problems:
-) database downloading in freshclam/0.20
-) malformed amavis-perl patch from 0.20
-) clamscan problems with some unzip versions, please try --strange-unzip
option
ClamAV 0.21 source package contains initial support for NetBSD
(thanks to Marc Baudoin <babafou@babafou.eu.org>, Jean-Edouard BABIN
<Jeb@jeb.com.fr>), better support for Mac OS X (Masaki Ogawa <proc@mac.com>),
and clamdoc documentation corrected by Dennis Leeuw <dleeuw@made-it.com>.
0.20 Release
------------
The most important change in this release is a new, linear pattern matching
algorithm. You will find more informations about it in clamscan/matcher.c -
in the sources and in clamdoc. Summary (since 0.15):
New features:
-) fast pattern matching algorithm
-) sigtool utility, check `man sigtool` and clamdoc
-) Linux: threads autodetection on various architectures
(Magnus Ekdahl <magnus@debian.org>)
-) -i, --infected: clamscan prints only infected files
-) 'Data scanned' in summary, size in megabytes with 16 Kb precision
-) configure: --with-dbdir sets the database location
-) support/sigmake shell script by Dennis Leeuw <leeuw@stone-it.com>
-) Spanish "Sendmail+Amavis+ClamAv installation how-to" by
Erick I. Lopez Carreon <elopezc@technitrade.com>
Updates:
-) "Debian GNU/Linux Mail Server v. 0.2.0" by Dennis Leeuw <leeuw@stone-it.com>
-) qmail-scanner patch from Kazuhiko <kazuhiko@fdiary.net>
-) general documentation cleanups / updates
-) freshclam / Internet database location
Fixes:
-) threads autodetection on not-x86 Linux systems
-) gcc 3.x support (David Ford <david+cert@blue-labs.org>)
-) data type fix on Mac OS X (Peter N Lewis <peter@stairways.com.au>)
-) removed -w, --whole-file, now clamscan scans whole files by default
-w is still supported by internal getopt(), because it is used in
various patches
-) removed --one-virus, still supported by getopt(); removed 'Found viruses'
from summary, clamscan stops file scanning after first virus
-) fixed old problem with scanning stdin
-) removed amavisd-patch - strange problems have been reported
OpenAntiVirus Update is a great tool written by Matthew A. Grant
<grantma@anathoth.gen.nz> and it will be the primary updater for ClamAV
in the near future. In contrast to freshclam it has proxy support and many
specific features. Please check clamdoc for more informations and how to
obtain it.
0.15 Notes
----------
This version contains minor bugfixes only, such as:
-) multiple fixes in freshclam (it has problems, when one of the
hosts wasn't accessible), there were logic flaws in the code
-) fixed problem with password protected archives (unpackers were waiting
for password)
New features:
-) OpenBSD support (thanks to Kamil Andrusz <wizz@mniam.net>)
-) added support for amavisd, qmail-scanner (see ./support)
There were no major bugs and I was very busy, that's why new version is
released just today. In the next 2 months, clamav development will be much
faster. Here are some of my plans:
~ 0.20 : New pattern-matching algorithm
~ 0.30 : clamlib; clamscan and the daemon based on it
There is a new homepage:
http://clamav.elektrapro.com
Thanks to ElektraPro.com for sponsoring this site (it's very fast).
Thanks to NERvOus <nervous@nervous.it>.
If you are interested in current development versions, please check
snapshots link.
Resource usage limits in 0.14
-----------------------------
Two new features: --max-files, --max-space have been implemented. If you have
enabled one of this options, clamscan monitors resource usage (number of
created files and used space) and stops extractor when it has exceeded
the limit. You should use these options to protect your machine against
Denial of Service attacks. In the near future --max-levels (limit for
recursive archives extracting) and --max-time (spent on checking/extracting
files) will be implemented.
FreeBSD: AMaViS compile problems
--------------------------------
Please check FAQ.
!!! Strange signatures in VirusSignatures-2002.04.15.10.51.zip !!!
------------------------------------------------------------------
Last version of signatures was ~90 kb, this version is ~474 kb.
But I don't understand, why some signatures are mega-huge. When I decoded
them, they looked like regular files. In CA they were removed from the
database and I probably add them later, in normal sizes.
Installation :
--------------
Please view documentation in ./docs. There are several formats - pdf, ps
and plain latex, if you want to compile it yourself.
You need GNU make (on Solaris you should have gmake).
It was tested only with gcc 2.9x compilers.

2
clamav-devel/TODO Normal file
View file

@ -0,0 +1,2 @@
* add compression (zlib based) to freshclam
* sigtool: must be more intelligent

4140
clamav-devel/acinclude.m4 Normal file

File diff suppressed because it is too large Load diff

4811
clamav-devel/aclocal.m4 vendored Normal file

File diff suppressed because it is too large Load diff

1321
clamav-devel/config.guess vendored Executable file

File diff suppressed because it is too large Load diff

1443
clamav-devel/config.sub vendored Executable file

File diff suppressed because it is too large Load diff

10804
clamav-devel/configure vendored Executable file

File diff suppressed because it is too large Load diff

392
clamav-devel/configure.in Normal file
View file

@ -0,0 +1,392 @@
dnl
dnl Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
AC_INIT(clamscan/clamscan.c)
AC_CREATE_TARGET_H(target.h)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE(clamav, 20030720)
dnl AM_INIT_AUTOMAKE(clamav, `date +%Y%m%d`)
LC_CURRENT=1
LC_REVISION=3
LC_AGE=0
LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
AC_SUBST(LIBCLAMAV_VERSION)
AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
dnl Version numbers for libtool
dnl LT_RELEASE=$CLAMAV_MAJOR_VERSION.$CLAMAV_MINOR_VERSION
dnl LT_CURRENT=$CLAMAV_MINOR_VERSION
dnl LT_REVISION=1
dnl LT_AGE=2
dnl AC_SUBST(LT_RELEASE)
dnl AC_SUBST(LT_CURRENT)
dnl AC_SUBST(LT_REVISION)
dnl AC_SUBST(LT_AGE)
dnl BUFFSIZE must be at least 16 kb !!!
AC_DEFINE(BUFFSIZE, 131072)
AC_DEFINE(FBUFFSIZE, 16384)
AC_HEADER_STDC
AC_CHECK_HEADERS(stdint.h unistd.h sys/int_types.h dlfcn.h inttypes.h sys/inttypes.h memory.h ndir.h stdlib.h strings.h string.h sys/mman.h sys/param.h sys/stat.h sys/types.h malloc.h)
AC_TYPE_OFF_T
AC_COMPILE_CHECK_SIZEOF(short)
AC_COMPILE_CHECK_SIZEOF(int)
AC_COMPILE_CHECK_SIZEOF(long)
have_pthreads=no
AC_CHECK_HEADER(pthread.h,[have_pthreads=yes],)
AC_CHECK_HEADER(zlib.h,[LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lz"; AC_DEFINE(HAVE_ZLIB_H)],[echo "Please install zlib and zlib-devel packages."; exit 1])
want_bzip2="yes"
AC_ARG_ENABLE(bzip2,
[ --disable-bzip2 Disable bzip2 support.],
want_bzip2="no",)
if test "$want_bzip2" = "yes"
then
AC_CHECK_HEADER(bzlib.h,[LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lbz2"; AC_DEFINE(HAVE_BZLIB_H)],)
AC_CHECK_LIB(bz2, bzReadOpen, AC_DEFINE(NOBZ2PREFIX),)
fi
have_milter="no"
AC_CHECK_HEADER(libmilter/mfapi.h,have_milter="yes",)
AC_ARG_ENABLE(milter,
[ --enable-milter Build clamav-milter (if milter library found)],
,have_milter="no")
AC_CHECK_HEADER(syslog.h,AC_DEFINE(CLAMD_USE_SYSLOG),)
dnl AC_CHECK_LIB(c, strtok_r,, AC_DEFINE(NO_STRTOK_R))
dnl AC_CHECK_LIB(c, mkstemp, AC_DEFINE(HAVE_MKSTEMP),)
AC_ARG_ENABLE(pthreads,
[ --disable-pthreads Disable POSIX threads support],
have_pthreads=no,)
AC_ARG_ENABLE(cr,
[ --disable-cr Don't link with C reentrant library (BSD) ],
disable_cr=yes,)
test_urandom=yes
AC_ARG_ENABLE(urandom,
[ --disable-urandom Disable test for /dev/urandom],
test_urandom=no,)
AC_ARG_ENABLE(id-check,
[ --enable-id-check Use id utility instead of /etc/passwd parsing],
use_id="yes", use_id="no")
dnl clamav user
AC_ARG_WITH(user,
[ --with-user=uid name of the clamav user (default=clamav).],
clamav_user="$withval", clamav_user="clamav")
dnl clamav group
AC_ARG_WITH(group,
[ --with-group=gid name of the clamav group (default=clamav).],
clamav_group="$withval", clamav_group="clamav")
AC_DEFINE_UNQUOTED(CLAMAVUSER,"$clamav_user",)
AC_DEFINE_UNQUOTED(CLAMAVGROUP,"$clamav_group",)
test_clamav=yes
AC_ARG_ENABLE(clamav,
[ --disable-clamav Disable test for clamav user/group],
test_clamav=no,)
want_clamuko=yes
AC_ARG_ENABLE(clamuko,
[ --disable-clamuko Don't include Clamuko code /Linux/],
want_clamuko=no,)
AC_ARG_ENABLE(debug,
[ --enable-debug Enable debug messages.],
AC_DEFINE(CL_DEBUG),)
AC_ARG_ENABLE(bigstack,
[ --enable-bigstack Increase thread stack size.],
AC_DEFINE(C_BIGSTACK),)
dnl database directory
AC_ARG_WITH(dbdir,
[ --with-dbdir=path Path to virus database directory.],
db_dir="$withval", db_dir="_default_")
dnl viruses.db
AC_ARG_WITH(db1,
[ --with-db1=name Name of the main database (viruses.db).],
AC_DEFINE_UNQUOTED(DB1NAME,"$withval",), AC_DEFINE(DB1NAME, "viruses.db"))
dnl viruses.db2
AC_ARG_WITH(db2,
[ --with-db2=name Name of the new format database (viruses.db2).],
AC_DEFINE_UNQUOTED(DB2NAME,"$withval",), AC_DEFINE(DB2NAME, "viruses.db2"))
dnl I had problems with $pkgdatadir, that's why I'm using these funny checks
if test "$db_dir" = "_default_"
then
if test "$prefix" = "NONE"
then
db_dir="$ac_default_prefix/share/clamav"
else
db_dir="$prefix/share/clamav"
fi
fi
AC_DEFINE_UNQUOTED(DATADIR,"$db_dir", [Path to virus database directory.])
DBDIR="$db_dir"
AC_SUBST(DBDIR)
# config file
cfg_dir=`echo $sysconfdir | grep prefix`
if test -n "$cfg_dir"; then
cfg_dir="$ac_default_prefix/etc"
else
cfg_dir="$sysconfdir"
fi
CFGDIR=$cfg_dir
AC_SUBST(CFGDIR)
AC_DEFINE_UNQUOTED(CONFDIR,"$cfg_dir",)
dnl Do not overwrite the current config file
AM_CONDITIONAL(INSTALL_CONF, test ! -r "$cfg_dir/clamav.conf")
if test "$test_urandom" = "yes"
then
if test -r /dev/urandom ; then
AC_MSG_RESULT(/dev/(u)random detected.)
AC_DEFINE(C_URANDOM)
else
AC_MSG_RESULT(/dev/(u)random not detected - using weak software rand())
fi
fi
dnl CLAMSCAN_LIBS=""
dnl FRESHCLAM_LIBS=""
dnl CLAMD_LIBS=""
dnl TH_SAFE=""
case "$target_os" in
linux*)
AC_DEFINE(C_LINUX)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
CLAMD_LIBS="-lpthread"
if test "$want_clamuko" = "yes"; then
AC_DEFINE(CLAMUKO)
fi
CLAMSCAN_LIBS="-lpthread"
fi
;;
cygwin*)
dnl It probably won't work.
AC_DEFINE(C_CYGWIN)
if test "$test_clamav" = "yes"; then
if test ! -r /etc/passwd; then
test_clamav="no"
fi
fi
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
;;
solaris*)
FRESHCLAM_LIBS="-lsocket -lnsl"
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
CLAMD_LIBS="-lpthread -lsocket -lnsl"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_SOLARIS)
;;
freebsd*)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread -lc_r"
CLAMD_LIBS="-pthread -lc_r"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_BSD)
;;
openbsd*)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread"
if test "$disable_cr" = "yes"; then
CLAMD_LIBS="-pthread"
else
CLAMD_LIBS="-pthread -lc_r"
fi
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_BSD)
;;
netbsd*)
AC_MSG_RESULT(NetBSD detected. Disabling thread support.)
have_pthreads="no"
AC_DEFINE(C_BSD)
;;
bsd*)
AC_MSG_RESULT(Unknown BSD detected. Disabling thread support.)
have_pthreads="no"
AC_DEFINE(C_BSD)
;;
beos*)
AC_MSG_RESULT(BeOS detected. Disabling thread support.)
have_pthreads="no"
AC_DEFINE(C_BEOS)
;;
darwin*)
AC_DEFINE(C_BSD)
AC_DEFINE(C_DARWIN)
use_netinfo="yes"
dnl have_pthreads="no"
dnl AC_MSG_RESULT(Darwin detected. Disabling thread support.)
;;
sco*)
dnl njh@bandsman.sco.uk: SCO Unix port
FRESHCLAM_LIBS="-lsocket"
CLAMD_LIBS="-lsocket"
AC_DEFINE(NO_SNPRINTF)
;;
hpux*)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
CLAMD_LIBS="-lpthread"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_HPUX)
;;
aix*)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
CLAMD_LIBS="-lpthread"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_AIX)
;;
irix*)
if test "$have_pthreads" = "yes"; then
LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lpthread"
CLAMD_LIBS="-lpthread"
TH_SAFE="-thread-safe"
AC_DEFINE(CL_THREAD_SAFE)
fi
AC_DEFINE(C_IRIX)
AC_DEFINE(NO_SNPRINTF)
;;
*)
;;
esac
AC_SUBST(LIBCLAMAV_LIBS)
AC_SUBST(CLAMD_LIBS)
AC_SUBST(FRESHCLAM_LIBS)
AC_SUBST(TH_SAFE)
AM_CONDITIONAL(USE_PTHREAD, test "$have_pthreads" = "yes")
AM_CONDITIONAL(HAVE_MILTER, test "$have_milter" = "yes")
dnl Check for clamav in /etc/passwd
if test "$test_clamav" = "yes"
then
# parse /etc/passwd
if test "$use_id" = no
then
AC_MSG_RESULT(Checking /etc/passwd...)
if test -r /etc/passwd; then
clamavuser=`cat /etc/passwd|grep ${clamav_user}`
clamavgroup=`cat /etc/group|grep ${clamav_group}`
fi
else
AC_MSG_RESULT(Checking id output...)
id $clamav_user > /dev/null 2>&1
if test "$?" = 0 ; then
clamavuser=1
AC_PATH_PROG(GETENT, getent)
if test -n "$GETENT" ; then
clamavgroup=`$GETENT group | grep "^${clamav_group}:"`
else
clamavgroup=`cat /etc/group|grep $clamav_group`
fi
fi
fi
if test "$use_netinfo" = "yes"
then
clamavuser=`/usr/bin/nidump passwd . |grep ${clamav_user}`
clamavgroup=`/usr/bin/nidump group . |grep ${clamav_group}`
fi
if test -z "$clamavuser" || test -z "$clamavgroup"
then
echo "ERROR: User \"$clamav_user\" (and/or group \"$clamav_group\") doesn't exist. Please create it. You can omit this check with the --disable-clamav option."
exit 1
else
CLAMAVUSER="${clamav_user}"
CLAMAVGROUP="${clamav_group}"
AC_SUBST(CLAMAVUSER)
AC_SUBST(CLAMAVGROUP)
fi
fi
AC_C_CONST
AC_C_BIGENDIAN
if test $ac_cv_c_bigendian = yes; then
AC_DEFINE(WORDS_BIGENDIAN)
else
AC_DEFINE(WORDS_LITTLEENDIAN)
fi
AC_OUTPUT([
libclamav/Makefile
clamscan/Makefile
database/Makefile
docs/Makefile
clamd/Makefile
clamdscan/Makefile
clamav-milter/Makefile
freshclam/Makefile
sigtool/Makefile
etc/Makefile
Makefile
])

Binary file not shown.

View file

@ -0,0 +1,85 @@
#! /bin/bash
#
# crond Start/Stop the clam antivirus daemon.
#
# chkconfig: 2345 90 60
# description: clamdis a standard UNIX program that scans for Viruses.
# processname: clamd
# config: /usr/local/etc/clamd.conf
# pidfile: /var/lock/subsys/clamd
# Source function library.
. /etc/init.d/functions
RETVAL=0
# See how we were called.
prog="clamd"
progdir="/usr/local/sbin"
# Source configuration
if [ -f /etc/sysconfig/$prog ] ; then
. /etc/sysconfig/$prog
fi
start() {
echo -n $"Starting $prog: "
daemon $progdir/$prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamd
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamd
return $RETVAL
}
rhstatus() {
status clamd
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading clam daemon configuration: "
killproc clamd -HUP
retval=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/clamd ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac
exit $?

View file

@ -0,0 +1,96 @@
#! /bin/sh
# -- ntw2007:/etc/init.d/clamd, 17.06.2003 shw --
### BEGIN INIT INFO
# Provides: clamd
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 5
# Default-Stop: 0 1 2 6
# Description: Control clamav daemon.
### END INIT INFO
# -- variables --
_what="Clam AntiVirus"
# -- see whether we are installed --
_cnf="/etc/clamav.conf"
_pid="$(awk '/^PidFile/ {print $2}' ${_cnf})"
_port="$(awk '/^TCPSocket/ {print $2}' ${_cnf})"
if [ -s "${_cnf}" -a -r "${_cnf}" ]
then
_srv="$(\which clamd | sed -e 's+/*+/+' | head -1)"
test -x "${_srv}" || exit 5
_clnt="$(\which clamdscan | sed -e 's+/*+/+' | head -1)"
test -x "${_clnt}" || exit 5
_cnf="-c ${_cnf}"
else
exit 6
fi
# -- fetch LSB compliant functions (hope they get our environment) --
. /lib/lsb/init-functions
# -- first reset status of this service --
rc_reset
# -- process request --
case "${1}" in
start)
echo -n "Starting ${_what} ${_cnf}."
"${_srv}" "${_cfg}"
rc_status -v
;;
stop)
echo -n "Shutting down ${_what}: "
"${_clnt}" +QUIT
rc_status -v
;;
try-restart)
${0} status 1>/dev/null && ${0} restart
rc_status
;;
restart)
${0} stop; sleep 3
${0} start
rc_status
;;
status)
echo -n "Checking ${_what}: "
"${_clnt}" +VERSION
rc_status -v
test -s "${_pid}" && echo "ProcessID claims to be: $(cat ${_pid})."
;;
*)
(echo; echo "Usage: ${0} {start|stop|status|try-restart|restart}") 2>&1
exit 1
;;
esac
# -- inform caller --
rc_exit
# -- end of clamd --

Binary file not shown.

View file

@ -0,0 +1,43 @@
#
# Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
# Fixes by Arkadiusz Miskiewicz <misiek@pld.org.pl>
# Masaki Ogawa <proc@mac.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
EXTRA_DIST = viruses.db viruses.db2 mirrors.txt
DBINST = @DBDIR@
CLAMAVUSER = @CLAMAVUSER@
CLAMAVGROUP = @CLAMAVGROUP@
install:
$(mkinstalldirs) $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) viruses.db $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) viruses.db2 $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) mirrors.txt $(DESTDIR)$(DBINST)
@if test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \
chmod 775 $(DESTDIR)$(DBINST); \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST); \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST); \
chmod 664 $(DESTDIR)$(DBINST)/viruses.db; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/viruses.db; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/viruses.db; \
chmod 664 $(DESTDIR)$(DBINST)/viruses.db2; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/viruses.db2; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/viruses.db2; \
chmod 664 $(DESTDIR)$(DBINST)/mirrors.txt; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/mirrors.txt; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/mirrors.txt; \
fi

View file

@ -0,0 +1,268 @@
# Makefile.in generated by automake 1.6.1 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
# Fixes by Arkadiusz Miskiewicz <misiek@pld.org.pl>
# Masaki Ogawa <proc@mac.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AS = @AS@
AWK = @AWK@
CC = @CC@
CFGDIR = @CFGDIR@
CLAMAVGROUP = @CLAMAVGROUP@
CLAMAVUSER = @CLAMAVUSER@
CLAMD_LIBS = @CLAMD_LIBS@
DBDIR = @DBDIR@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
FRESHCLAM_LIBS = @FRESHCLAM_LIBS@
GETENT = @GETENT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LIBCLAMAV_LIBS = @LIBCLAMAV_LIBS@
LIBCLAMAV_VERSION = @LIBCLAMAV_VERSION@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
STRIP = @STRIP@
TH_SAFE = @TH_SAFE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
EXTRA_DIST = viruses.db viruses.db2 mirrors.txt
DBINST = @DBDIR@
subdir = database
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu database/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool uninstall uninstall-am uninstall-info-am
install:
$(mkinstalldirs) $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) viruses.db $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) viruses.db2 $(DESTDIR)$(DBINST)
@$(INSTALL_DATA) mirrors.txt $(DESTDIR)$(DBINST)
@if test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \
chmod 775 $(DESTDIR)$(DBINST); \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST); \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST); \
chmod 664 $(DESTDIR)$(DBINST)/viruses.db; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/viruses.db; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/viruses.db; \
chmod 664 $(DESTDIR)$(DBINST)/viruses.db2; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/viruses.db2; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/viruses.db2; \
chmod 664 $(DESTDIR)$(DBINST)/mirrors.txt; \
chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/mirrors.txt; \
chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/mirrors.txt; \
fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,6 @@
clamav.elektrapro.com
clamav.ozforces.com
clamav.essentkabel.com
clamav.linux-sxs.org
clamav.rulez.pl
clamav.org

436
clamav-devel/depcomp Executable file
View file

@ -0,0 +1,436 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
base=`echo "$object" | sed -e 's/\.o$//' -e 's/\.lo$//'`
tmpdepfile1="$base.o.d"
tmpdepfile2="$base.d"
if test "$libtool" = yes; then
"$@" -Wc,-MD
else
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
test -z "$dashmflag" && dashmflag=-M
( IFS=" "
case " $* " in
*" --mode=compile "*) # this is libtool, let us make it quiet
for arg
do # cycle over the arguments
case "$arg" in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
# X makedepend
(
shift
cleared=no
for arg in "$@"; do
case $cleared in no)
set ""; shift
cleared=yes
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift;;
-*)
;;
*)
set fnord "$@" "$arg"; shift;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

View file

@ -0,0 +1,549 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Debian GNU/Linux Mail Server</TITLE>
<META NAME="description" CONTENT="Debian GNU/Linux Mail Server">
<META NAME="keywords" CONTENT="Debian_Mail_server">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
</HEAD>
<BODY >
<P>
<P>
<P>
<P>
<H1 ALIGN="CENTER">Debian GNU/Linux Mail Server</H1>
<P ALIGN="CENTER"><STRONG>Dennis Leeuw</STRONG></P>
<P ALIGN="CENTER"><STRONG>Versie 0.2.0</STRONG></P>
<P>
<H1><A NAME="SECTION00100000000000000000">
1. Mail User Agent</A>
</H1>
<P>
The MUA is the program that a user uses to read his or her mail. Some
examples: pine, mutt or Netscape (on Windows Outlook). The MUA can
use several protocols to fetch the mail. The most used services are
POP3, IMAP, but SMTP is also possible.
<P>
<H1><A NAME="SECTION00110000000000000000">
1.1 popping mail:</A>
</H1>
<P>
All incoming mail for a user is stored in one file in /var/spool/mail/&lt;username&gt;.
You could read your mail with more or less, but that is not very comfortable.
The most secure way of using pop3 is by using pop3 over SSL. This
way you get a SSH like pop3 system.
<P>
<H3><A NAME="SECTION00110100000000000000">
1.1.0.1 Installation</A>
</H3>
<P>
<DL COMPACT>
<DT>
<DD>apt-get&nbsp;install&nbsp;courier-pop-ssl
</DD>
</DL>
<P>
<H3><A NAME="SECTION00110200000000000000">
1.1.0.2 Configuration</A>
</H3>
<P>
The configuration can be found in /etc/courier/.
<P>
[META] needs more docu about interfaces to run on and protocols/ports
to use.
<P>
<H1><A NAME="SECTION00200000000000000000">
2. Mail Transfer Agent</A>
</H1>
<P>
The MTA is a program that sends mail from one server to another. This
is done through the SMTP protocol. On Debian the default MTA is Exim,
however there are several GNU/Linux servers that contain this functionality
like: sendmail, postfix and qmail.
<P>
I like postfix so let's start with that one.
<P>
<H1><A NAME="SECTION00210000000000000000">
2.1 postfix</A>
</H1>
<P>
<H2><A NAME="SECTION00211000000000000000">
2.1.1 Installation</A>
</H2>
<P>
<DL COMPACT>
<DT>
<DD>apt-get&nbsp;install&nbsp;postfix
</DD>
</DL>Choose no configuration when asked for configuration.
<P>
<H2><A NAME="SECTION00212000000000000000">
2.1.2 configuration</A>
</H2>
<P>
The postfix configuration files can be found in /etc/postfix/.
<P>
The most important file is main.cf. Elements in this file that need
special attention:
<P>
<DL COMPACT>
<DT>
<DD>myhostname&nbsp;=&nbsp;mail.domain.com
<P>
mydestination&nbsp;=&nbsp;$myhostname,&nbsp;localhost.$mydomain,&nbsp;$mydomain
<P>
mynetworks&nbsp;=&nbsp;192.168.1.0/24,&nbsp;127.0.0.0/8
<P>
relay_domains&nbsp;=&nbsp;$mydomain
<P>
home_mailbox&nbsp;=&nbsp;Maildir/
</DD>
</DL>
<P>
<H2><A NAME="SECTION00213000000000000000">
2.1.3 Test</A>
</H2>
<P>
Test the configuration with telnet:
<P>
<DL COMPACT>
<DT>
<DD>telnet&nbsp;localhost&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;from&nbsp;the&nbsp;local&nbsp;machine
<P>
telnet&nbsp;smtp.domein.nl&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;from&nbsp;a&nbsp;Internet&nbsp;machine
<P>
telnet&nbsp;192.168.1.1&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;from&nbsp;an&nbsp;internal&nbsp;machine
</DD>
</DL>Use the following procedure:
<P>
<DL COMPACT>
<DT>
<DD>helo&nbsp;domein.org
<P>
mail&nbsp;from:&nbsp;user@domein.org
<P>
rcpt&nbsp;to:&nbsp;user@domein.nl
<P>
data
<P>
.
<P>
quit
</DD>
</DL>
<P>
<H1><A NAME="SECTION00300000000000000000">
3. Mail Delivery Agent</A>
</H1>
<P>
The MDA is a program that incoming mail from the MTA accepts and it
stores in the users mailbox, Local Delivery. The program is on almost
any GNU/Linux systeem procmail. We use the functionality within postfix.
<P>
<H1><A NAME="SECTION00320000000000000000">
3.2 Fetchmail</A>
</H1>
<P>
It might be that you have some pop3 mail accounts on other servers
or providers. To get that mail on your local system you could use
fetchmail.
<P>
<H2><A NAME="SECTION00321000000000000000">
3.2.1 Installation</A>
</H2>
<P>
<DL COMPACT>
<DT>
<DD>apt-get&nbsp;install&nbsp;fetchmail
</DD>
</DL>
<P>
<H2><A NAME="SECTION00322000000000000000">
3.2.2 Configuration</A>
</H2>
<P>
A sample configuration file:
<P>
<DL COMPACT>
<DT>
<DD>poll&nbsp;pop.provider.net&nbsp;proto&nbsp;pop3
<P>
&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;&#34;jsmith&#34;,&nbsp;with&nbsp;password&nbsp;secret1,&nbsp;is&nbsp;&#34;johans&#34;&nbsp;here;
</DD>
</DL>
<P>
<H1><A NAME="SECTION00400000000000000000">
4. Virus checking</A>
</H1>
<P>
<H1><A NAME="SECTION00410000000000000000">
4.1 Clam Antivirus</A>
</H1>
<P>
<H2><A NAME="SECTION00411000000000000000">
4.1.1 Installation</A>
</H2>
<P>
Get the source from http://www.konarski.edu.pl/~zolw.
Read the documentation, which is very good, or do:
<P>
<DL COMPACT>
<DT>
<DD>groupadd&nbsp;clamav
<P>
useradd&nbsp;-g&nbsp;clamav&nbsp;-s&nbsp;/bin/false&nbsp;-c&nbsp;``Clam&nbsp;Antivirus''&nbsp;clamav
</DD>
</DL>To build the software do:
<P>
<DL COMPACT>
<DT>
<DD>./configure&nbsp;-prefix=/usr/local
<P>
make
<P>
make&nbsp;install
</DD>
</DL>
<P>
<H2><A NAME="SECTION00412000000000000000">
4.1.2 Help Out!</h2>
<p>The biggest challenge for an open source virus scanner is the virus signature database. The Clamav writer has written een great tool called sigtool. It is able to create a signature from a virus file with the help of another anti-virus program that detects the virus.</p>
<p>If you find a virus that is not detected by clamscan, but is detected by another virus scanner, do the following:<br>
<tt>
sigtool -s &lt;string of virus-scanner that finds the virus, when it detects it&gt; -f &lt;file that contains the virus&gt; -c &lt;how the virus-scanner should be executed&gt;</tt>
<P>This creates a signature file. Which should be added to the clamav database. And the next time a virus passes by it will be detected by clamscan.</p>
<P>
<H1><A NAME="SECTION00420000000000000000">
4.2 AMAVIS</A>
</H1>
<P>
<H2><A NAME="SECTION00421000000000000000">
4.2.1 Installation</A>
</H2>
<P>
<DL COMPACT>
<DT>
<DD>groupadd&nbsp;vscan
<P>
useradd&nbsp;-g&nbsp;vscan&nbsp;-s&nbsp;/bin/false&nbsp;-c&nbsp;``Amavis''&nbsp;vscan
</DD>
</DL>Compile this from source http://www.amavis.org/. Use amavis-perl-11.tar.gz
<P>
Before you can use AMAVIS you first need a couple of perl modules:
<P>
<DL COMPACT>
<DT>
<DD>apt-get&nbsp;install&nbsp;libmime-perl&nbsp;libunix-syslog-perl&nbsp;&#92;
<P>
libemail-valid-perl&nbsp;libconvert-uulib-perl&nbsp;&#92;
<P>
libconvert-tnef-perl&nbsp;libarchive-tar-perl&nbsp;&#92;
<P>
libarchive-zip-perl&nbsp;libcompress-zlib-perl
</DD>
</DL>And some tools:
<P>
<DL COMPACT>
<DT>
<DD>apt-get&nbsp;install&nbsp;file&nbsp;bzip2&nbsp;lha&nbsp;unarj&nbsp;unrar&nbsp;unzoo
</DD>
</DL>
<P>
<H3><A NAME="SECTION00421100000000000000">
4.2.1.1 Arc521</A>
</H3>
<P>
Then there is arc, which is not GNU/Linux ready yet. So download the
source and do the following:
<P>
<DL COMPACT>
<DT>
<DD>mkdir&nbsp;temp
<P>
cd&nbsp;temp
<P>
tar&nbsp;zxvf&nbsp;../arc521.tar.Z
</DD>
</DL>Edit arcdos.c and comment the struct timeval (don't do this on RH6.2 machines):
<P>
<DL COMPACT>
<DT>
<DD>/*struct&nbsp;timeval&nbsp;{&nbsp;/*&nbsp;man&nbsp;page&nbsp;said&nbsp;&lt;sys/types.h&gt;,&nbsp;but&nbsp;it&nbsp;*/&nbsp;
<P>
/*&nbsp;long&nbsp;tv_sec;&nbsp;/*&nbsp;really&nbsp;seems&nbsp;to&nbsp;be&nbsp;in&nbsp;&lt;sys/time.h&gt;,&nbsp;*/&nbsp;
<P>
/*&nbsp;long&nbsp;tv_usec;&nbsp;/*&nbsp;but&nbsp;why&nbsp;bother...&nbsp;*/&nbsp;
<P>
/*};*/
</DD>
</DL>Edit tmclock.c to look like this:
<P>
<DL COMPACT>
<DT>
<DD>#if&nbsp;BSD
<P>
#include&nbsp;&lt;sys/time.h&gt;
<P>
#include&nbsp;&lt;time.h&gt;
<P>
int&nbsp;daylight;
<P>
#else
<P>
#include&nbsp;&lt;time.h&gt;
<P>
#endif
</DD>
</DL>I have send these changes to the maintainer of arc, so the next release
might show better GNU/Linux support.
<P>
<DL COMPACT>
<DT>
<DD>make
<P>
cp&nbsp;arc&nbsp;/usr/local/bin
<p>
cp&nbsp;arc.1&nbsp;/usr/local/man/man1/
</DD>
</DL>
<P>
<H3><A NAME="SECTION00421200000000000000">
4.2.1.2 Compile AMAVIS</A>
</H3>
<P>
Compile AMAVIS:
<P>
<DL COMPACT>
<DT>
<DD>patch&nbsp;-p1&nbsp;&lt;&nbsp;../clamav-<I>&lt;version&gt;</I>/support/amavis/clamavis.patch
<P>
find&nbsp;.&nbsp;-exec&nbsp;touch&nbsp;01010000&nbsp;{}&nbsp;&#92;;
<P>
./configure --enable-smtp --with-smtp-port=10025 --enable-postfix
<P>
make
<P>
make&nbsp;install
</DD>
</DL>
<P>
<H2><A NAME="SECTION00422000000000000000">
4.2.2 AMAVIS and Postfix</A>
</H2>
<P>
Add to /etc/postfix/main.cf:
<P>
<DL COMPACT>
<DT>
<DD>content_filter&nbsp;=&nbsp;vscan:
</DD>
</DL>Adjust /etc/postfix/master.cf:
<P>
<DL COMPACT>
<DT>
<DD>vscan&nbsp;unix&nbsp;-&nbsp;n&nbsp;n&nbsp;-&nbsp;10&nbsp;pipe&nbsp;user=vscan
<DL COMPACT>
<DT>
<DD>argv=/usr/sbin/amavis&nbsp;${sender}&nbsp;${recipient}
</DD>
</DL>localhost:10025&nbsp;inet&nbsp;n&nbsp;-&nbsp;n&nbsp;-&nbsp;-&nbsp;smtpd&nbsp;-o&nbsp;content_filter=
</DD>
</DL>
<P>
<H2><A NAME="SECTION00423000000000000000">
4.2.3 Test</A>
</H2>
<P>
Send an e-mail with the Eicar string to test the anti-virus functionality.
<P>
<DL COMPACT>
<DT>
<DD>X5O!P%@AP[4&#92;PZX54(P)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
<P>
</DD>
</DL>
<P>
<H1><A NAME="SECTION00500000000000000000">
About this document ...</A>
</H1>
<STRONG>Debian GNU/Linux Mail Server</STRONG><P>
This document was generated using the
<A HREF="http://www-texdev.mpce.mq.edu.au/l2h/docs/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.48)
<P>
Copyright &#169; 1993, 1994, 1995, 1996,
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
Computer Based Learning Unit, University of Leeds.
<BR>
Copyright &#169; 1997, 1998, 1999,
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir30758nJeXv/lyx_tmpbuf3075QAkyC5/Debian_Mail_server.tex</TT>
<P>
The translation was initiated by Dennis Leeuw on 2002-05-28<HR>
<!--Navigation Panel-->
<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive"
SRC="/usr/share/latex2html/icons/nx_grp_g.png">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev_g.png">
<BR>
<!--End of Navigation Panel-->
<ADDRESS>
Dennis Leeuw
2002-05-28
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,757 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<title>System-wide virus and spam scanning</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.73 ">
<link rel="STYLESHEET" type="text/css" href="docbook-jade.css">
</head>
<body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link="#0000FF"
vlink="#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2">System-wide virus and spam
scanning</a></h1>
<h2 class="SUBTITLE">Installing <span class=
"APPLICATION">qmail-scanner</span>, <span class="APPLICATION">Clam
Antivirus</span> and <span class="APPLICATION">SpamAssassin</span>
under <span class="SYSTEMITEM">FreeBSD</span></h2>
<div class="AUTHORGROUP">
<a name="AEN9"></a>
<h3 class="AUTHOR"><a name="AEN10">Paul Hoadley</a></h3>
<h3 class="AUTHOR"><a name="AEN13">Eric Parsonage</a></h3>
</div>
<p class="COPYRIGHT">Copyright &copy; 2002 by Paul Hoadley and
Eric Parsonage</p>
<p class="PUBDATE">$Date: 2003/07/29 15:42:40 $<br>
</p>
<div>
<div class="ABSTRACT">
<a name="AEN21"></a>
<p>This document describes how to effect system-wide virus and
spam scanning of incoming email. The approach is based on the
<a href="http://www.qmail.org" target="_top"><span class=
"APPLICATION">qmail</span></a> mail transport agent, and is
not applicable to sites running <a href=
"http://www.sendmail.org" target="_top"><span class=
"APPLICATION">sendmail</span></a>. This document describes how
to install <a href="http://qmail-scanner.sourceforge.net"
target="_top"><span class=
"APPLICATION">qmail-scanner</span></a>, an enhancement for
<span class="APPLICATION">qmail</span> that allows incoming
mail to be passed through third-party filters prior to normal
local delivery. The two filters described in this document are
<a href="http://clamav.elektrapro.com/" target="_top"><span
class="APPLICATION">Clam AntiVirus</span></a>, an open source
virus scanning package, and <a href=
"http://spamassassin.taint.org" target="_top"><span class=
"APPLICATION">SpamAssassin</span></a>, an open source spam
detector.</p>
</div>
</div>
<hr>
</div>
<div class="TOC">
<dl>
<dt><b>Table of Contents</b></dt>
<dt>1. <a href="#AEN34">Pre-requisites</a></dt>
<dt>2. <a href="#AEN65">Installing <span class=
"APPLICATION">Clam AntiVirus</span></a></dt>
<dt>3. <a href="#AEN120">Installing <span class=
"APPLICATION">SpamAssassin</span></a></dt>
<dt>4. <a href="#AEN214">Installing <span class=
"APPLICATION">qmail-scanner</span></a></dt>
<dt>A. <a href="#PERL">Fetching and installing Perl modules from
CPAN</a></dt>
<dt>B. <a href="#AEN292">Contacting the authors</a></dt>
</dl>
</div>
<div class="SECT1">
<hr>
<h1 class="SECT1"><a name="AEN34">1. Pre-requisites</a></h1>
<p>The following instructions are intended to be comprehensive,
but there are at least these pre-requisites:</p>
<ul>
<li>
<p>The system should be running <span class=
"APPLICATION">qmail</span> as its mail transport agent. <span
class="emphasis"><i class="EMPHASIS">The following
instructions are targetted specifically at a <span class=
"APPLICATION">qmail</span> installation and will not work with
<span class="APPLICATION">sendmail</span></i></span>.
Instructions for installing <span class=
"APPLICATION">qmail</span> as a replacement for <span class=
"APPLICATION">sendmail</span> can be found in the document <a
href="qmail-how-to.html" target="_top">Installing <span class=
"APPLICATION">qmail</span> under FreeBSD</a>.</p>
</li>
<li>
<p><span class="APPLICATION">qmail</span> must be compiled
with the <tt class="OPTION">WITH_QMAILQUEUE_PATCH</tt> option
by specifying <span class="emphasis"><i class="EMPHASIS">at
least</i></span>:</p>
<pre class="SCREEN">
# make WITH_QMAILQUEUE_PATCH=yes
</pre>
<p>at the build stage. If <span class=
"APPLICATION">qmail</span> was built using the instructions in
the <a href="qmail-how-to.html" target="_top">Installing <span
class="APPLICATION">qmail</span> under FreeBSD</a> document,
this patch will have been applied.</p>
</li>
</ul>
<p>It is necessary to install <span class="APPLICATION">Clam
AntiVirus</span> and <span class="APPLICATION">SpamAssassin</span>
<span class="emphasis"><i class="EMPHASIS">prior</i></span> to
installing <span class="APPLICATION">qmail-scanner</span>, as the
latter tries to automatically detect available third-party
scanners at installation time. There are no dependencies between
<span class="APPLICATION">Clam AntiVirus</span> and <span class=
"APPLICATION">SpamAssassin</span> in the following approach
&mdash; installation of either can be omitted if that
functionality is not required.</p>
</div>
<div class="SECT1">
<hr>
<h1 class="SECT1"><a name="AEN65">2. Installing <span class=
"APPLICATION">Clam AntiVirus</span></a></h1>
<div class="SECT2">
<h2 class="SECT2"><a name="AEN68">2.1. Building and installing
from source</a></h2>
<p>There is no <span class="SYSTEMITEM">FreeBSD</span> Port for
<span class="APPLICATION">Clam AntiVirus</span>, so it needs to
be built by hand from the source. Firstly, obtain and unpack the
source:</p>
<pre class="SCREEN">
# cd /usr/local
# mkdir clamav
# cd clamav
# fetch http://clamav.elektrapro.com/stable/clamav-0.51.tar.gz
# gunzip clamav-0.51.tar.gz
# tar -xvf clamav-0.51.tar.gz
</pre>
<p>Create new user and group names for <span class=
"APPLICATION">Clam AntiVirus</span>:</p>
<pre class="SCREEN">
# pw groupadd clamav
# pw useradd clamav -g clamav -d /nonexistent -c "Clam Antivirus" \
-s /sbin/nologin
</pre>
<p>Now configure and install <span class="APPLICATION">Clam
AntiVirus</span>:</p>
<pre class="SCREEN">
# cd clamav-0.51
# ./configure
# make install
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN80">2.2. Testing the
installation</a></h2>
<p>You should now read the documentation for <b class=
"COMMAND">clamscan</b> (<b class="COMMAND">man clamscan</b>, or
read the <a href="http://clamav.elektrapro.com/doc/html" target=
"_top">online documentation</a>). You can test the scanner by
running:</p>
<pre class="SCREEN">
# clamscan --recursive --log=/tmp/clamscan.log /usr/home
</pre>
<p>Obviously this can be run on the base directory of your
choice, and the log file location is also arbitrary. Next, use
the <b class="COMMAND">freshclam</b> command to update your
databases:</p>
<pre class="SCREEN">
# freshclam --verbose
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN90">2.3. Running <b class=
"COMMAND">freshclam</b> as a daemon</a></h2>
<p>The <b class="COMMAND">freshclam</b> database updater can be
run as a daemon. Firstly, create a log file for <b class=
"COMMAND">freshclam</b>:</p>
<pre class="SCREEN">
# touch /var/log/freshclam.log
# chmod 644 /var/log/freshclam.log
# chown clamav:clamav /var/log/freshclam.log
</pre>
<p>Create following script as <tt class=
"FILENAME">/usr/local/etc/rc.d/clamav.sh</tt> to start up <b
class="COMMAND">freshclam</b> as a daemon at boot time, and
cause it to die gracefully at shutdown:</p>
<pre class="PROGRAMLISTING">
#!/bin/sh
#
# Startup / shutdown script for Clam Antivirus
case "$1" in
start)
/usr/local/bin/freshclam -d -c 2 -l /var/log/freshclam.log
echo -n ' freshclam'
;;
stop)
/usr/bin/killall freshclam &gt; /dev/null 2&gt;&amp;1 \
&amp;&amp; echo -n ' freshclam'
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
</pre>
<p>Ensure that the script is executable:</p>
<pre class="SCREEN">
# chmod 744 /usr/local/etc/rc.d/clamav.sh
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN103">2.4. Running <b class=
"COMMAND">clamscan</b> on a regular basis</a></h2>
<p>If you have a filesystem directory tree that you think would
benefit from regular virus scanning (anything accessible from
any <span class="SYSTEMITEM">Microsoft Windows</span> machines
on your LAN would probably be candidates), you can set up a <b
class="COMMAND">cron</b> job to run <b class=
"COMMAND">clamscan</b> on a regular basis. Read the <span class=
"APPLICATION">Clam AntiVirus</span> documentation and decide
which options to <b class="COMMAND">clamscan</b> are appropriate
for your site. For example, you may not wish to specify the <tt
class="OPTION">--remove</tt> option, and you may wish to <tt
class="OPTION">--exclude</tt> any number of files or directories
from scanning. As an example, the following entry appended to
<tt class="FILENAME">/etc/crontab</tt> will scan <tt class=
"FILENAME">/usr</tt> daily at 6.00am:</p>
<pre class="PROGRAMLISTING">
0 6 * * * root /usr/local/bin/clamscan --recursive
--infected
--exclude /usr/local/share/clamav/viruses.db
--exclude /usr/local/share/clamav/viruses.db2
--log=/var/log/clamscan.log
/usr/home
</pre>
<div class="NOTE">
<table class="NOTE" width="100%" border="0">
<tr>
<td width="25" align="CENTER" valign="TOP"><img src=
"./images/note.gif" hspace="5" alt="Note"></td>
<td align="LEFT" valign="TOP">
<p>The line in <tt class="FILENAME">/etc/crontab</tt> is
shown broken here to improve readability, but should
appear as a single line in the file.</p>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="SECT1">
<hr>
<h1 class="SECT1"><a name="AEN120">3. Installing <span class=
"APPLICATION">SpamAssassin</span></a></h1>
<div class="SECT2">
<h2 class="SECT2"><a name="AEN123">3.1. Building and installing
from source</a></h2>
<p>There is a <span class="SYSTEMITEM">FreeBSD</span> Port for
<span class="APPLICATION">SpamAssassin</span>, though it will
build an old version (2.41). Either build that port with:</p>
<pre class="SCREEN">
# cd /usr/ports/mail/p5-Mail-SpamAssassin
# make
# make install
</pre>
<p>or build the latest version by hand from the source as
follows. Firstly, obtain and unpack the source:</p>
<pre class="SCREEN">
# cd /usr/local
# mkdir spamassassin
# cd spamassassin
# fetch http://spamassassin.taint.org/released/Mail-SpamAssassin-2.43.tar.gz
# gunzip Mail-SpamAssassin-2.43.tar.gz
# tar -xvf Mail-SpamAssassin-2.43.tar
# cd Mail-SpamAssassin-2.43
</pre>
<p>Now, build the <tt class="FILENAME">Makefile</tt> with <b
class="COMMAND">perl</b>:</p>
<pre class="SCREEN">
# perl Makefile.PL
</pre>
<div class="NOTE">
<table class="NOTE" width="100%" border="0">
<tr>
<td width="25" align="CENTER" valign="TOP"><img src=
"./images/note.gif" hspace="5" alt="Note"></td>
<td align="LEFT" valign="TOP">
<p>At this point, <b class="COMMAND">perl</b> will warn
you of any dependencies on Perl packages your system is
missing. Fetching and installing Perl packages is
described in an <a href="#PERL">Appendix</a> below.
Fetch and install any packages required before
proceeding.</p>
</td>
</tr>
</table>
</div>
<p>Now build <span class="APPLICATION">SpamAssassin</span>:</p>
<pre class="SCREEN">
# make
# make install
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN142">3.2. Testing the
installation</a></h2>
<p>You should now test <span class=
"APPLICATION">SpamAssassin</span> on the sample files provided.
Firstly, test some known spam:</p>
<pre class="SCREEN">
# spamassassin -t &lt; sample-spam.txt &gt; spam.out
</pre>
<p>View the resulting file, <tt class="FILENAME">spam.out</tt>.
<span class="APPLICATION">SpamAssassin</span> should add the
following headers to the message:</p>
<pre class="PROGRAMLISTING">
X-Spam-Status: Yes, hits=14.7 required=5.0
tests=ALL_CAPS_HEADER,CALL_FREE,DATE_IN_PAST_24_48,
DRASTIC_REDUCED,FROM_HAS_MIXED_NUMS,HOME_EMPLOYMENT,
INVALID_DATE,INVALID_MSGID,LINES_OF_YELLING,
MSGID_HAS_NO_AT,NO_REAL_NAME,ONCE_IN_LIFETIME,REMOVE_SUBJ,
SMTPD_IN_RCVD,SPAM_PHRASE_21_34,UNDISC_RECIPS
version=2.43
X-Spam-Flag: YES
X-Spam-Level: **************
X-Spam-Checker-Version: SpamAssassin 2.43 (1.115.2.20-2002-10-15-exp)
</pre>
<p>Additionally, there will be a banner explaining in detail
what tests were failed.</p>
<p>Next, test <span class="APPLICATION">SpamAssassin</span> with
a piece of genuine email:</p>
<pre class="SCREEN">
# spamassassin -t &lt; sample-nonspam.txt &gt; nonspam.out
</pre>
<p>This should add only the following headers to the mail,
indiciating the message is not considered spam:</p>
<pre class="PROGRAMLISTING">
X-Spam-Status: No, hits=0.9 required=5.0
tests=GAPPY_TEXT,LINES_OF_YELLING,PGP_SIGNATURE,
SPAM_PHRASE_02_03,TO_BE_REMOVED_REPLY
version=2.43
X-Spam-Level:
</pre>
<div class="NOTE">
<table class="NOTE" width="100%" border="0">
<tr>
<td width="25" align="CENTER" valign="TOP"><img src=
"./images/note.gif" hspace="5" alt="Note"></td>
<td align="LEFT" valign="TOP">
<p><span class="APPLICATION">SpamAssassin</span>'s only
action is to mark mail that it considers spam with the
<tt class="OPTION">X-Spam-</tt> headers. It does not
delete or even remove spam. Another agent is required in
the chain to move the spam once detected. Instructions
are given <a href="#PROCMAIL">below</a> for a simple
per-user <a href="www.procmail.org" target="_top"><span
class="APPLICATION">procmail</span></a> recipe for
moving spam to a separate folder.</p>
</td>
</tr>
</table>
</div>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN164">3.3. Running <span class=
"APPLICATION">SpamAssassin</span> as a daemon: <b class=
"COMMAND">spamd</b></a></h2>
<p>If <span class="APPLICATION">SpamAssassin</span> was
installed from the Ports System, a startup script for <b class=
"COMMAND">spamd</b> will have been placed in <tt class=
"FILENAME">/usr/local/etc/rc.d/spamd.sh</tt>. If <span class=
"APPLICATION">SpamAssassin</span> was installed by hand, you
should now create a startup script for <b class=
"COMMAND">spamd</b> (the daemon version of <span class=
"APPLICATION">SpamAssassin</span>), similar to the one created
above for <b class="COMMAND">freshclam</b>. Create the following
script as <tt class=
"FILENAME">/usr/local/etc/rc.d/spamd.sh</tt>:</p>
<pre class="PROGRAMLISTING">
#!/bin/sh
#
# Startup / shutdown script for SpamAssassin daemon
case "$1" in
start)
/usr/bin/spamd -a -d &amp;&amp; echo -n ' spamd'
;;
stop)
spamdpid=`ps -ax | grep spamd | grep -v grep | grep -v sh | awk '{ print $1 }'`
if [ "$spamdpid" != "" ]; then
kill $spamdpid &gt; /dev/null 2&gt;&amp;1
echo -n " spamd"
fi
;;
*)
echo "Usage: `basename $0` {start|stop}" &gt;&amp;2
;;
esac
exit 0
</pre>
<p>Remember to make the script executable, then use it to start
<b class="COMMAND">spamd</b> &mdash; <b class=
"COMMAND">qmail-scanner</b> will only find the <span class=
"APPLICATION">SpamAssassin</span> daemon if it is running at the
time of install:</p>
<pre class="SCREEN">
# chmod 744 /usr/local/etc/rc.d/spamd.sh
# /usr/local/etc/rc.d/spamd.sh start
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="PROCMAIL">3.4. Using <span class=
"APPLICATION">procmail</span> to filter the spam</a></h2>
<p>As noted above, <span class="APPLICATION">SpamAssassin</span>
only tags spam with <tt class="OPTION">X-Spam-</tt> headers. If
you don't do anything else, you'll still receive spam in your
mailbox &mdash; it will just be identified as spam by those
headers. One common solution is to use <span class=
"APPLICATION">procmail</span> as a mail delivery agent and
instruct it to place the spam in a Maildir of its own. There is
a lot of good documentation on installing and running <span
class="APPLICATION">procmail</span>, and a thorough treatment of
that complex program is beyond the scope of this document. If
you have <span class="APPLICATION">procmail</span> installed at
your site already, though, or even if you are prepared to
install it from the Ports System <span class="emphasis"><i
class="EMPHASIS">just to redirect <span class=
"APPLICATION">SpamAssassin</span>-tagged spam</i></span>, the
following is a minimal procmail recipe to redirect spam to the
Maildir <tt class="FILENAME">$HOME/Maildir/.Spam/</tt>:</p>
<pre class="PROGRAMLISTING">
:0:
* ^X-Spam-Status: Yes
$HOME/Maildir/.Spam/
</pre>
<p>This recipe would be placed in each user's <tt class=
"FILENAME">.procmailrc</tt> file. In addition, placing it in the
file <tt class="FILENAME">/usr/share/skel/dot.procmailrc</tt>
will ensure that any newly created users will have a <tt class=
"FILENAME">.procmailrc</tt> file generated in their home
directory. Each user will also need to have a <tt class=
"FILENAME">.Spam</tt> Maildir created for them. For example, to
create the Maildir for <span class="SYSTEMITEM">paulh</span>,
enter:</p>
<pre class="SCREEN">
# su paulh
# cd $HOME
# /var/qmail/bin/maildirmake Maildir/.Spam
# exit
</pre>
<p>In order to get <span class="APPLICATION">qmail</span> to
call <span class="APPLICATION">procmail</span>, each user's <tt
class="FILENAME">.qmail</tt> file should contain the
following:</p>
<pre class="PROGRAMLISTING">
|IFS=' ' &amp;&amp; exec /usr/local/bin/procmail -f- || exit 75
</pre>
<p>Again, to ensure all new users have this <tt class=
"FILENAME">.qmail</tt> created for them, replace the contents of
<tt class="FILENAME">/usr/share/skel/dot.qmail</tt> with the
line above.</p>
<div class="NOTE">
<table class="NOTE" width="100%" border="0">
<tr>
<td width="25" align="CENTER" valign="TOP"><img src=
"./images/note.gif" hspace="5" alt="Note"></td>
<td align="LEFT" valign="TOP">
<p>Installing and running <span class=
"APPLICATION">procmail</span> is non-trivial. Read the
documentation and the numerous FAQs and How-Tos if you
plan to do this.</p>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="SECT1">
<hr>
<h1 class="SECT1"><a name="AEN214">4. Installing <span class=
"APPLICATION">qmail-scanner</span></a></h1>
<div class="SECT2">
<h2 class="SECT2"><a name="AEN217">4.1. Installing <span class=
"APPLICATION">maildrop</span></a></h2>
<p><span class="APPLICATION">qmail-scanner</span> depends on the
<b class="COMMAND">reformime</b> command, available as part of
the <span class="APPLICATION">maildrop</span> package. <span
class="APPLICATION">maildrop</span> is available in the <span
class="SYSTEMITEM">FreeBSD</span> Ports System, and is easily
installed:</p>
<pre class="SCREEN">
# cd /usr/ports/mail/maildrop
# make
# make install
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN227">4.2. Installing and building
from source</a></h2>
<p>There is no <span class="SYSTEMITEM">FreeBSD</span> Port for
<span class="APPLICATION">qmail-scanner</span>, so it needs to
be built by hand from the source. Firstly, obtain and unpack the
source:</p>
<pre class="SCREEN">
# cd /usr/local
# mkdir qmail-scanner
# fetch http://telia.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.14.tgz
# gunzip qmail-scanner-1.14.tgz
# tar -xvf qmail-scanner-1.14.tar
# cd qmail-scanner-1.14
</pre>
<p>Now run the configure script in help mode to view the
options:</p>
<pre class="SCREEN">
# ./configure --help
</pre>
<p>You may wish to explicitly specify some of the options for
which the defaults are unsuitable at your site. For example, you
may wish to change <tt class="OPTION">--admin</tt> and <tt
class="OPTION">--notify</tt> at a minimum. The run the configure
script using your options and the <tt class=
"OPTION">--install</tt> option. For example:</p>
<pre class="SCREEN">
# ./configure --admin postmaster --notify "recips,admin" --install
</pre>
<p>You need to set the SUID bit on the <b class=
"COMMAND">suidperl</b> command:</p>
<pre class="SCREEN">
# chmod 4511 /usr/bin/suidperl
</pre>
<div class="NOTE">
<table class="NOTE" width="100%" border="0">
<tr>
<td width="25" align="CENTER" valign="TOP"><img src=
"./images/note.gif" hspace="5" alt="Note"></td>
<td align="LEFT" valign="TOP">
<p><span class="emphasis"><i class="EMPHASIS">This may
be a security risk.</i></span> You need to evaluate this
action based on the security policy at your site. <b
class="COMMAND">qmail-scanner</b> will not operate
without this change, however.</p>
</td>
</tr>
</table>
</div>
<p><b class="COMMAND">qmail-smtpd</b> needs to be instructed to
use the <b class="COMMAND">qmail-scanner-queue.pl</b> script in
<tt class="FILENAME">/var/qmail/bin</tt> instead of the standard
<b class="COMMAND">qmail-queue</b> binary. If your site uses <b
class="COMMAND">tcpserver</b> to handle connections to <b class=
"COMMAND">qmail-smtpd</b> (as described in <a href=
"qmail-how-to.html" target="_top">Installing <span class=
"APPLICATION">qmail</span> under FreeBSD</a>), <tt class=
"FILENAME">/etc/tcp.smtp</tt> should be updated to set the <tt
class="ENVAR">QMAILQUEUE</tt> environment variable. The precise
contents of this file will vary between sites depending on you
LAN configuration. The <tt class="FILENAME">/etc/tcp.smtp</tt>
file constructed in <a href="qmail-how-to.html" target=
"_top">Installing <span class="APPLICATION">qmail</span> under
FreeBSD</a> would be modified as follows:</p>
<pre class="PROGRAMLISTING">
192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
:allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
</pre>
<p>Now rebuild the ruleset for <b class=
"COMMAND">tcpserver</b>:</p>
<pre class="SCREEN">
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp &lt; /etc/tcp.smtp
</pre>
<p>Finally, stop and restart the <span class=
"APPLICATION">qmail</span> binaries:</p>
<pre class="SCREEN">
# /usr/local/etc/rc.d/qmail.sh stop
# /usr/local/etc/rc.d/qmail.sh start
</pre>
</div>
<div class="SECT2">
<hr>
<h2 class="SECT2"><a name="AEN268">4.3. Testing the
installation</a></h2>
<p>The <span class="APPLICATION">qmail-scanner</span>
distribution provides a script and some test files containing
virus signatures to test the virus scanner. Run these through
<span class="APPLICATION">qmail-scanner</span> now:</p>
<pre class="SCREEN">
# cd /usr/local/qmail-scanner/qmail-scanner-1.14
# ./contrib/test_installation.sh -doit
</pre>
<p>This will send three emails to the address you specified as
<tt class="OPTION">--admin</tt> during the <span class=
"APPLICATION">qmail-scanner</span> installation. The first
should arrive unmodified (though it will have an X-Spam-Status:
header if you have set up <span class=
"APPLICATION">SpamAssassin</span>), but the second and third
should be caught by either the internal (simple) virus scanner
of <span class="APPLICATION">qmail-scanner</span> or by <span
class="APPLICATION">Clam AntiVirus</span>. Email caught by <span
class="APPLICATION">qmail-scanner</span> is deposited in <tt
class="FILENAME">/var/spool/qmailscan/quarantine</tt> in Maildir
format.</p>
</div>
</div>
<div class="APPENDIX">
<hr>
<h1 class="APPENDIX"><a name="PERL">A. Fetching and installing
Perl modules from CPAN</a></h1>
<p>At several points during the installation of the Perl-based
applications, <b class="COMMAND">perl</b> may complain about
dependencies on packages not present on your system. This is
easily solved by installing the packages it requires from CPAN.
The easiest way is to use a CPAN shell:</p>
<pre class="SCREEN">
# perl -MCPAN -e shell
</pre>
<p>If you are running the CPAN module for the first time, there
may be some setup required &mdash; just follow the prompts. When
you get the <tt class="PROMPT">cpan&gt;</tt> prompt, install the
packages required. For example, to install <tt class=
"FILENAME">Time::HiRes</tt>, simply enter:</p>
<pre class="SCREEN">
cpan&gt; install Time::HiRes
</pre>
<p>You can instruct the shell to install as many packages as you
need in this manner.</p>
</div>
<div class="APPENDIX">
<hr>
<h1 class="APPENDIX"><a name="AEN292">B. Contacting the
authors</a></h1>
<p>This document was written by <a href=
"mailto:paulh@logicsquad.net" target="_top">Paul Hoadley</a> and
<a href="mailto:eric@eparsonage.com" target="_top">Eric
Parsonage</a>. This document describes what we did to get <span
class="APPLICATION">qmail-scanner</span> co-operating with <span
class="APPLICATION">Clam AntiVirus</span> and <span class=
"APPLICATION">SpamAssassin</span> on two FreeBSD 4.7 systems. Your
mileage may vary. If you notice any errors in this document, or
your experience with the software used was vastly different,
please <a href="mailto:paulh@logicsquad.net" target="_top">let us
know</a>.</p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,304 @@
<?xml version~"1.0" encoding="EUC-JP" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.DTD">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<title>Clam Antivirusに関するメモ</title>
</head>
<body>
<h1>Clam Antivirusに関するメモ</h1>
<p>作成日: 2002年8月16日</p>
<p>作成者: 小川真樹</p>
<h2>1. Clam Antivirus</h2>
<h3>1.1 Clam Antivirusについて</h3>
<p>
Clam AntivirusはTomasz Kojmによる、各種UNIX系のシステム(MacOSXも含む)で動作するアンチウィルスソフトです。WindowsでもCygwin上で動作するようです。オープンソースで、GPLライセンスに基づいて利用することができます。また、同じくフリーの<a href="http://www.openantivirus.org/">OpenAntiVirus</a>(http://www.openantivirus.org/)プロジェクトのウィルスデータベースを利用しています。
</p>
<h3>1.2 ホームページ</h3>
<p>
Clam Antivirusについての最新かつ正確な情報、ソースコードは<a href="http://clamav.elektrapro.com/">http://clamav.elektrapro.com/</a>にあります。
</p>
<h2>2. Clam AntiVirusのインストール</h2>
<h3>2.1 Clam AntiVirusの入手</h3>
<p>
ソースコードは<a href="http://clamav.elektrapro.com/">http://clamav.elektrapro.com/</a>から入手することができます。2002年8月16日時点での最新のバージョンは0.23のようです。
</p>
<h3>2.2 clamavユーザの作成</h3>
<p>
Clam Antivirusをインストールする前に'clamav'というユーザとグループを作成する必要があります。(Cygwinではこの作業は必要ありません。)
</p>
<pre><code>
LinuxやSolarisの例
# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav
MacOSXの例(この例ではuidとgidを402で作成しています)
$ sudo niutil -create / /groups/clamav
$ sudo niutil -createprop / /groups/clamav gid 402
$ sudo niutil -createprop / /groups/clamav passwd '*'
$ sudo niutil -create / /users/clamav
$ sudo niutil -createprop / /users/clamav uid 402
$ sudo niutil -createprop / /users/clamav gid 402
$ sudo niutil -createprop / /users/clamav passwd '*'
$ sudo niutil -createprop / /users/clamav realname 'Clam Antivirus'
$ sudo niutil -createprop / /users/clamav home /dev/null
$ sudo niutil -createprop / /users/clamav shell /dev/null
※NetInfo Managerを使ってGUIで作成してもかまいません。
</code></pre>
<h3>2.3 コンパイル・インストール</h3>
<p>
他の多くのソフトと同様の手順でコンパイルおよびインストールできるでしょう。GNU makeが必要になります。
</p>
<pre><code>
$ zcat clamav-0.23.tar.gz | tar xvf -
$ cd clamav-0.23
$ ./configure
$ make
$ sudo make install
</code></pre>
<h2>3. ウィルスのスキャン</h2>
<h3>3.1 clamscan</h3>
<p>
clamscanコマンドを使って、ウィルスに感染しているファイルがないか検査します。
</p>
<h4>3.1.1 主なコマンド実行例</h4>
<dl>
<dt>$ clamscan &lt;file&gt;</dt>
<dd>ファイルを検査します。</dd>
<dt>$ cat &lt;file&gt; | clamscan -</dt>
<dd>標準入力のデータを検査します。</dd>
<dt>$ clamscan</dt>
<dd>現在のディレクトリにあるファイルを検査します。</dd>
<dt>$ clamscan -r [&lt;dir&gt;]</dt>
<dd>ディレクトリとサブディレクトリにあるファイルを再帰的に検査します。</dd>
</dl>
<h3>3.2 圧縮ファイルのスキャン</h3>
<p>
圧縮されたファイル等、なんらかの形式で加工されたファイルを検査するためには、それらを一度元のファイルに戻す必要があります。たとえば、「clamscan /var/spool/mail」を実行しても、メールスプール内の添付ファイルを正しく検査することができません。また、MacOSXにおいて「clamscan -r ~/Library/Mail」を実行しても、同様にMail.appのメールデータを正しく検査することはできません。
</p>
<p>
ただし、一部の圧縮フォーマットについては、clamscanコマンドにそれぞれのオプションをつけることで外部コマンドを利用して解凍しながら検査することが可能です。このときに「-r」オプションを併用すると、再帰的に解凍しながら検査します。また、圧縮されたファイル自体がウィルスに感染しているかどうかも検査されます。
</p>
<h4>3.2.1 圧縮ファイル用の主なオプション</h4>
<dl>
<dt>--unzip[=/path/to/unzip]</dt>
<dd>.zip形式のファイルを検査します。</dd>
<dt>--unrar[=/path/to/unrar]</dt>
<dd>.rar形式のファイルを検査します。</dd>
<dt>--lha[=/path/to/lha]</dt>
<dd>.lzh形式のファイルを検査します。</dd>
<dt>--tar[=/path/to/tar]</dt>
<dd>.tar形式のファイルを検査します。GNU tarが必要です。</dd>
<dt>--tgz[=/path/to/tar]</dt>
<dd>.tgzおよび.tar.gz形式のファイルを検査します。GNU tarが必要です。</dd>
<dt>--jar[=/path/to/unzip]</dt>
<dd>.jar形式のファイルを検査します。</dd>
<dt>--deb[=/path/to/ar]</dt>
<dd>.deb形式のファイルを検査します。</dd>
</dl>
<h2>4. ウィルス定義データベース</h2>
<h3>4.1 データベース</h3>
<p>
Clam Antivirusのウィルス定義データベースは、デフォルトでは/usr/local/share/clamav/viruses.dbにインストールされます。最新のウィルスに対応するためにはこのファイルをこまめに更新する必要があります。
</p>
<p>
また、バージョン0.23以降では、このviruses.dbと同じディレクトリにexample.dbのようなファイル名の末尾に「.db」を含むファイルがある場合は、そのファイルもウィルス定義データベースとして使用するようになっています。つまり標準のウィルス定義データベースに加えて独自作成もしくはサードパーティ製のデータベースを併用することが可能です。
</p>
<h3>4.2 freshclam</h3>
<h3>4.3 oav-update</h3>
<h2>5. AMaViSを利用した電子メールのスキャン</h2>
<h3>5.1 AMaViS-perl</h3>
<p>
AMaViS-perlとClam Antivirusを連係させて使用すると、サーバサイドでの電子メールのウィルススキャンをさせることができます。
</p>
<p>
使用するためにはClam Antivirusのソースコードに含まれているパッチ(support/amavis/clamavis.patch)を使ってAMaViS-perlをClam Antivirusに対応させる必要があります。まずは<a href="http://www.amavis.org/">http://www.amavis.org/</a>からamavis-perl-11.tar.gzを入手します。それから以下のような手順でパッチをあてます。
</p>
<pre><code>
$ tar zxpvf amavis-perl-11.tar.gz
$ cp clam-0.23/support/amavis/clamavis.patch amavis-perl-11
$ cd amavis-perl-11
$ patch -p1 &lt; clamavis.patch
$ find . -exec touch 01010000 {} ;
</code></pre>
<p>
パッチをあてた後は、通常のAMaViS-perlのインストール手順と同じようにインストール・設定・使用することができます。AMaViS-perlについての詳細な情報については<a href="http://www.amavis.org/">http://www.amavis.org/</a>を調べて下さい。
</p>
<h3>5.2 AMaViS-ng</h3>
<p>
AMaViS-ngはパッチをあてるまでもなくデフォルトでClam Antivirusに対応しています。また、AMaViS-perlに比べて若干インストールが楽です。が、MIME構造の壊れたメールなどの配送を保留してしまったりするのが少し困りものです。
</p>
<p>
AMaViS-ngは<a href="http://sourceforge.net/projects/amavis">http://sourceforge.net/projects/amavis</a>から入手できます。インストール後に、amavis.confの次のような行のコメントを外します。
</p>
<pre><code>
virus-scanner = CLAM
</code></pre>
<p>
それから、同じくamavis.confの[CLAM]セクションにclamscanのpathを設定します。
</p>
<pre><code>
[CLAM]
clamscan = /usr/local/bin/clamscan
</code></pre>
<h2>6. ウィルスシグネチャ</h2>
<h3>6.1 ClamAV-Test-Signatureのシグネチャ</h3>
<p>
ClamAV-Test-SignatureはClam Antivirusに含まれているテスト用のウィルス(動作確認用のもので実際には害をもたらさない)です。ソースコードではtest/test1にあります。このファイルがどのようになっているか見てみましょう。
</p>
<pre><code>
$ cat test/test1
$CE<!-- -->liacmaTrESTuScikgsn$FREE-TEST-SIGNATURE$EEEEE$
</code></pre>
<p>
一方、このClamAV-Test-Signature用のシグネチャは次のようになっています。
</p>
<pre><code>
$ grep ClamAV-Test-Signature /usr/local/share/clamav/viruses.db
ClamAV-Test-Signature=2443456c6961636d615472455354755363696b67736e24465245452d544553542d5349474e4154555245244545454545240a
</code></pre>
<p>
「=」の左側がウィルスの名前、右側がウィルスのシグネチャ本体であることがわかると思います。では、このシグネチャはどのようにして作成されたのでしょうか。その前にとりあえずClamAV-Test-Signatureのファイルを16進数で出力してみましょう。これはSolarisでの実行例です。
</p>
<pre><code>
$ od -t x1 test1
0000000 24 43 45 6c 69 61 63 6d 61 54 72 45 53 54 75 53
0000020 63 69 6b 67 73 6e 24 46 52 45 45 2d 54 45 53 54
0000040 2d 53 49 47 4e 41 54 55 52 45 24 45 45 45 45 45
0000060 24 0a
0000062
</code></pre>
<p>
もうお分りいただけたと思います。シグネチャの正体はウィルス(の断片)をhexdumpしたものだったんですね。このClamAV-Test-Signatureの場合はファイルが小さいので全体をhexdumpしていますが、通常はファイルの一部を使います。
</p>
<h3>6.2 シグネチャの作成</h3>
<p>
シグネチャを作成するにはウィルスのデータをhexdumpすればよいことがわかりました。このシグネチャと一致する箇所をもつファイルをウィルスに感染しているとみなすわけです。
</p>
<p>
ところが、ウィルスに感染したファイルをそのままhexdumpしたものをシグネチャとして配布してしまうと、ウィルスそのものを配布しているのと変わりありません。また、シグネチャそのものが肥大化してしまうので、それを読みこむアンチウィルスソフトの負担が大きくなります。また、感染したファイルごとに形を変えるようなタイプのものに対しては効果がありません。
</p>
<p>
したがって、シグネチャの作成のために抽出する箇所は次のような条件を満たす必要があります。
</p>
<ul>
<li>手頃な長さであること</li>
<li>そのウィルスに感染したファイルに必ず含まれること</li>
<li>そのウィルスに感染していないファイルには含まれないこと</li>
<li>それだけでは無害であること</li>
</ul>
<p>
これらの条件をみたすようなシグネチャを作成するためには、まずウィルスに感染したファイルを入手する必要があります。また、同じウィルスに感染したファイルを、別の経路から複数入手するか、あるいは一つのウィルスを閉じられた環境で培養してみて、該当のウィルスの性質などについてより深く調べる必要があるでしょう。また、当然のことですが、たとえばWindowsに感染するウィルスのシグネチャをWindows上で作成するのは危険です。
</p>
<p>
シグネチャを作成したら、ウィルス定義データベースに登録しましょう。Clam Antivirusの標準のデータベースファイルはviruses.dbですが、このファイルに追加すると、データベースを更新するときに上書きされて失われてしまうので、たとえばlocal.dbというような名前のファイルを新規に作成し、そこに追加していくとよいでしょう。
</p>
<h3>6.3 sigtool</h3>
<p>
このように、「どの部分をシグネチャに採用するか」という問題のために、自力で良質なシグネチャを作成するのはやや困難であるといえるでしょう。Clam Antivirusに含まれるsigtoolコマンドは、このシグネチャの作成を支援するものです。
</p>
<p>
sigtoolは、ウィルスに感染したファイルを細切れにして、それを他のウィルススキャナにかけ、そのウィルススキャナが細切れにされたファイルからウィルスを検出するかを調べます。そういったことをくり返して、その他のウィルススキャナが、どの部分をウィルスとして検出するかを正確につきとめます。そしてその部分をhexdumpします。
</p>
<p>
sigtoolでシグネチャを作成するためには以下の条件が必要です。
</p>
<ul>
<li>ウィルスに感染したファイルがある</li>
<li>そのウィルスをClam Antivirusでは検出できない</li>
<li>ほかのウィルススキャナでは、そのウィルスを検出できる</li>
<li>そのウィルススキャナがコマンドラインでのインターフェースを持ち、なおかつ標準出力にウィルス検出時の固有のメッセージを出力する</li>
</ul>
<p>
仮にこの他のウィルススキャナのコマンド名を「otherscan」とし、ウィルスに感染したファイルを「virus.exe」とします。また、このotherscanコマンドがvirus.exeからウィルスを検出したとき「infected」という文字列が標準出力に出力するメッセージに含まれるものとします。
</p>
<p>
これらの条件下でsigtoolを次のように実行します。
</p>
<pre><code>
$ sigtool -c "otherscan" -f virus.exe -s "infected"
</code></pre>
<p>
このコマンドを実行すると、「virus.exe.sig」というファイルにシグネチャを出力します。これだけではまだOpenAntivirusのシグネチャのフォーマットの右辺だけで不充分ですので、適切なウィルスの識別名を左辺に設定します。
</p>
<h2>7. フリーのアンチウィルスについて</h2>
<p>
OpenAntiVirusをはじめとするフリーのアンチウィルスプロジェクトは、いまだに商用のものには、足もとさえ全く及びません。何もしないよりはましかもしれませんが、現在のところ、Clam AntivirusやOpenAntiVirus等を導入したからといって、十分であるとは到底言えない状況です。2002年8月16日の時点で、検出できるウィルスの種類は1800にも届いていません。また、OpenAntiVirusのウィルス定義データベースの現在の最終更新日付は7月1日で、1ヵ月半以上更新されていません。
</p>
<h2>8. この文書について</h2>
<h3>8.1 ライセンスなど</h3>
<p>
この文書はGNU General Public Licenseに基づいています。
</p>
<p>
この文書は小川真樹がClam Antivirusについて調べたもので、忘れないように記録したものをまとめたものです。
この文書の内容についての意見や感想、あるいは誤りの指摘については<a href="mailto:proc@mac.com">proc@mac.com</a>までご連絡下さい。
</p>
<h3>8.2 免責事項</h3>
<p>
ここに書かれてあるものは完全に無保証です。ここに書かれてあることをそのまま実行してそのとおりに動作する保証は全くありません。特にシグネチャの作成の部分については、他にまとまった資料らしいものをみつけられなかった(もしそういった資料について知っている方がいたら教えてください)こともあって、間違ったことを書いている可能性が比較的高いです。
</p>
<hr />
<p>
<a href="./">戻る</a>
</p>
</body>
</html>

View file

@ -0,0 +1,19 @@
#
# Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
EXTRA_DIST = clamscan.1 freshclam.1 sigtool.1 clamd.8 clamdscan.1 clamav.conf.5 clamav-milter.1 clamdoc.tex clamdoc.pdf DMS Spanish Japanese html FreeBSD-HowTo Portugese
man_MANS = clamscan.1 freshclam.1 sigtool.1 clamd.8 clamav.conf.5 clamdscan.1 clamav-milter.1

View file

@ -0,0 +1,373 @@
# Makefile.in generated by automake 1.6.1 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AS = @AS@
AWK = @AWK@
CC = @CC@
CFGDIR = @CFGDIR@
CLAMAVGROUP = @CLAMAVGROUP@
CLAMAVUSER = @CLAMAVUSER@
CLAMD_LIBS = @CLAMD_LIBS@
DBDIR = @DBDIR@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
FRESHCLAM_LIBS = @FRESHCLAM_LIBS@
GETENT = @GETENT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LIBCLAMAV_LIBS = @LIBCLAMAV_LIBS@
LIBCLAMAV_VERSION = @LIBCLAMAV_VERSION@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
STRIP = @STRIP@
TH_SAFE = @TH_SAFE@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
EXTRA_DIST = clamscan.1 freshclam.1 sigtool.1 clamd.8 clamdscan.1 clamav.conf.5 clamav-milter.1 clamdoc.tex clamdoc.pdf DMS Spanish Japanese html FreeBSD-HowTo Portugese
man_MANS = clamscan.1 freshclam.1 sigtool.1 clamd.8 clamav.conf.5 clamdscan.1 clamav-milter.1
subdir = docs
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu docs/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
man5dir = $(mandir)/man5
install-man5: $(man5_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man5dir)
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.5*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \
done
uninstall-man5:
@$(NORMAL_UNINSTALL)
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.5*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \
rm -f $(DESTDIR)$(man5dir)/$$inst; \
done
man8dir = $(mandir)/man8
install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man8dir)
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.8*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
done
uninstall-man8:
@$(NORMAL_UNINSTALL)
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.8*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \
rm -f $(DESTDIR)$(man8dir)/$$inst; \
done
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-man
install-exec-am:
install-info: install-info-am
install-man: install-man1 install-man5 install-man8
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-man1 install-man5 \
install-man8 install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool uninstall \
uninstall-am uninstall-info-am uninstall-man uninstall-man1 \
uninstall-man5 uninstall-man8
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,239 @@
Configuração e Instalação do CLAMAV
Introdução
Trata-se de um anti-vírus desenvolvido em gnuC que roda multiplataforma nos diversos sabores de Unix.
Tem como pretensão rodar como um anti-vírus de acesso a arquivos. Isto é ideal para servidores
SAMBA/NIS/MARS. Também é possível rodar este anti-vírus em conjunto com o AMAVIS e o MailScanner para proteger
servidores de Email e com o Apache para proteger servidores WEB.
Ambiente de teste
As configurações abaixo descritas foram realizadas em um Intel Celeron 1GHZ, 256MB Ram. As distribuições
usadas como teste foram:
Redhat Linux 7.3 - kernel 2.4.18
Conectiva Linux 8.0 - kernel 2.4.18
As duas distribuições foram instaladas na modalidade FULL .
Downloads necessários
ClamAV - http://clamav.elektrapro.com/stable/clamav-0.53.tar.gz
AMAVIS - http://umn.dl.sourceforge.net/sourceforge/amavis/amavis-ng_0.1.4.1.orig.tar.gz
MailScanner - http://www.sng.ecs.soton.ac.uk/mailscanner/downloads.shtml
Inicio
Vá para seu diretório favorito onde você deixa os fontes das coisas que compila e destarreie o arquivo
clamav-053.tar.gz
$cd tmp
$tar xzfv $HOME/mydownloads/clamav-053.tar.gz
Configurando o módulo DAZUKO.
Aqui um ponto muito importante. Para poder verificar o conteúdo de tudo que é acessado, o ClamAV se utiliza
de um módulo que trabalha em comunicação com o kernel do sistema. Sendo assim é necessários que os fontes
do kernel estejam devidamente instalados em seu computador. Para o RH 7.3 o pacote se chama
kernel-source-2.4.18-3.i386.rpm e está localizado no CD 2. No CL8 o pacote se chama kernel-source-2.4.18-3U8_4cl
e se encontra no CD 2.
Tendo os fontes do kernel instalados, vamos ao passo a passo para instalar o DAZUKO. Isto é coisa para gente
grande e por isso deve ser feito com o usuário root.
$pwd
/home/marcolino/tmp/clamav-053
$su -
#cd /home/marcolino/tmp/clamav-053
#cd support/dazuko
#make dazuko
#cp dazuko.o /usr/local/lib
Até aqui compilamos o módulo dazuko e copiamos ele para /usr/local/sbin . Coloquei aí porque não quis perder
tempo acertando o kernel para incluir ele diretamente junto com o fonte. Para fazer isso consulte o site
www.dazuko.org. Eu não fiz e tudo está funcionando.
Agora vamos instalar o DAZUKO. Continuamos como root.
#mknod -m 600 /dev/dazuko c 254 0
#insmod /usr/local/sbin/dazuko.o
É uma boa idéia carregar isso antes do ClamAv. Coloquei em meu script de start/stop para carregar. Depois você
poderá ver com isso ficou.
Configurando o ClamAV
Bom aqui é o ritual de sempre. Como root:
#cd /home/marcolino/tmp/clamav-053
#groupadd clamav
#adduser -g clamav -s/bin/false -c"ClamAV" clamav
#./configure --prefix=/usr --sysconfdir=/etc
#make
#make install
Tudo sem surpresas nas duas distros aqui. Se você tiver alguma dificuldade pode ter certeza que é a falta de
algum pacote de desenvolvimento. Como estou com as distros instaladas full, não posso dizer nada a
respeito :-( .
Acertando o /etc/clamav.conf
Abaixo eu descrevo brevemente o que deve ser mexido ou não neste arquivo OK.
Encontrar a linha "Example" e comentar.
Encontrar a linha "LogFile", descomentar e alterar para /var/log/clamd.log
Encontrar a linha "LogFile Max Size" e descomentar
Encontrar a linha "LogVerbose" e descomentar
Encontrar a linha "LogTime" e descomentar
Encontrar a linha "PidFile", descomentar e alterar para /var/run/clamav/clamav.pid
Encontrar a linha "DataDirectory" e descomentar
Encontrar a linha "LocalSocket" e comentar
Encontrar a linha "TCPSocket" e descomentar
Encontrar a linha "ClamukoScanOnLine" e descomentar
Encontrar a linha "ClamukoIncludePath" e alterar para /home
A linha Clamuko Include Path discrimina quais os diretório que serão scaneados com o antivírus. Sugiro para
servidores de arquivo que apenas o diretório /home seja scanneado ( se este é o lugar onde estão os arquivos
de usuário ;-) ) fazendo com que o sistema então tenha uma performance mais agradável scanneando apenas o que
realmente interessa.
Deve-se então criar o diretório /var/run/clamav e dar a ele direitos para o usuários clamav
#mkdir /var/run/clamav
#chown clamav:clamav /var/run/clamav
Bem para finalizar produzi um script para inicializar e parar o daemon do ClamAV. Reconheço que não
está muito bom mas é meu primeiro script feito do Zero OK. Melhorias serão bem vindas. Abaixo a listagem
#! /bin/sh
#
# clamd Start/Stop the clamav daemon.
#
# processname: clamd
# config: /etc/clamav.conf
# pidfile: /var/run/clamav/clamd.pid
# Source function library.
. /etc/rc.d/init.d/functions
# See how we were called.
case "$1" in
start)
gprintf "Starting %s: " "clamd"
insmod /usr/local/lib/dazuko.o
daemon clamd
echo
touch /var/lock/subsys/clamd
;;
stop)
gprintf "Stopping %s: " "clamd"
echo "QUIT\r" | telnet 127.0.0.1 3310
sleep 5
kill `cat /var/run/clamav/clamd.pid`
sleep 2
rmmod dazuko
echo
rm -f /var/lock/subsys/clamd
;;
status)
echo "PING\r" | telnet 127.0.0.1 3310
;;
reload)
echo "RELOAD\r" | telnet 127.0.0.1 3310
;;
*)
gprintf "Usage: %s {start|stop|status|reload}\n" "clamd"
exit 1
esac
exit 0
Aqui terminamos de configurar o ClamAV. Se você chegou até aqui, precisa ser orientado que:
Não é necessária nenhuma alteração para o anti-vírus atuar junto com um servidor de arquivos/WEB
qualquer.
Uma dica interessante ainda pode ser dada. Inclua isto em seu crontab
freshclam
Isto atualiza a base de dados do ClamAV.
Bom, agora vamos por para funcionar com um Servidor de EMAIL !!
Amavis ou MailScanner ?
Eu realmente não sei qual dos dois é melhor ou pior. Depende mais do gosto de cada um. Ambos são interpretados
já que rodam em perl e dependem de várias coisas estarem configuradas no perl para funcionar. Instalei os dois
e achei o MailScanner mais fácil de configurar.
Meu ambiente você já conhece. A única ressalva é que em meus teste utilizei o sendmail como MTA, por motivos
óbvios: se funcionar bem com o sendmail funcionará bem com quase todos os outros MTA's. Digo isso pela
complexidade de configuração que o sendmail apresenta e não pela funcionalidade ou qualidade OK ( antes que
isto vire um flame war :-) ). Outras alternativas óbvias seriam o postfix e o qmail. Fique a vontade.
Não me focarei na configuração do AMAVIS/MailScanner com o Sendmail mas sim na instalação do ClamAV como
Vírus Scanner para estes softwares.
Amavis.
Se tudo correr bem com a sua instalação, você terá um arquivo chamado amavis.conf em /etc/amavis. Basta então
editar este arquivo em seu editor favorito e descomentar a linha
virus-scanner = CLAM
Depois é só acertar a linha
clamscam = /usr/bin/clamscan
Moleza né ! BUG NA ÁREA !
Voce precisará acertar o código do Amavis para rodar com o ClamAV...
Abra em seu editor preferido o arquivo /usr/lib/perl5.6.1/site_perl/5.6.1/AMAVIS/AV/CLAM.pm
Vá na linha 49 - inclua um / após a palavra parts .
Para rodar legal recomendo que voce baixe e instale as sequintes bibliotecas e pacotes :
Config-INIFiles.tar.gz - CPAN ( www.cpan.org )
File-MMagic.tar.gz - CPAN ( www.cpan.org )
IO-stringy-2.108.tar.gz - CPAN ( www.cpan.org )
Archive-TAR-0.22.tar.gz - CPAN ( www.cpan.org )
Archive-ZIP-1.05.tar.gz - CPAN ( www.cpan.org )
lha-1.14i-4.i386.rpm - RPMFind.net ( www.rpmfind.net )
arc-5.21e-5.i386.rpm - RPMFind.net ( www.rpmfind.net )
unzoo-4.4-1.i386.rpm - RPMFind.net ( www.rpmfind.net )
unrar-3.0.1.i386.rpm - RPMFind.net ( www.rpmfind.net )
Pode ser que eu me esqueci de anotar alguma ... Caso você queira acresentar alguma coisa, esteja a vontade.
Se quiser que isto seja incluído neste texto, mande-me um email OK.
Basicamente estas bibliotecas acima servem para extração de arquivos em anexo ao email para então o AMAVIS
conseguir scannear.
MailScanner.
Bom este foi o mais BABA de tudo que enfrentei até aqui :-) . Puxei o arquivo, instalei e acertei o arquivo de
configuração. VOA-LÁ ! Talves tenha sido assim porque instalei o AMAVIS antes, não sei dizer ...
Acerte você também este arquivo. Vá em /etc/MailScanner/MailScanner.conf e edite conforme abaixo.
Localize a linha "Virus Scanners = " e coloque clamav
Localize a linha "Minimum Code Status = " e coloque unsupported
Pronto !!!!!!!!!!
Agradecimento e dados para contato.
Quero agradecer a Deus que me ajudou até aqui.
Contatos comigo podem ser conseguidos através do email marcolino@facil.com . Também é possível encontrar
gente boa na lista linuxabc@yahoogrupos.com.br .
Bom gente valeu.

View file

@ -0,0 +1,577 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE></TITLE>
<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Linux)">
<META NAME="AUTHOR" CONTENT=" ">
<META NAME="CREATED" CONTENT="20020611;12100300">
<META NAME="CHANGEDBY" CONTENT=" ">
<META NAME="CHANGED" CONTENT="20020830;11482600">
<STYLE>
<!--
@page { size: 21cm 27cm; margin: 2cm }
-->
</STYLE>
</HEAD>
<BODY>
<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif"><B>Sendmail
+ Amavis + ClamAv - Como</B></FONT></P>
<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">1.-
Sendmail ya funcionando.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">2.-
Obtener ClamAv de:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://clamav.elektrapro.com/"><FONT FACE="Bookman L, serif">http://clamav.elektrapro.com/</FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://www.konarski.edu.pl/~zolw/"><FONT FACE="Bookman L, serif">http://www.konarski.edu.pl/~zolw/</FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
de</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://freshmeat.net/"><FONT FACE="Bookman L, serif">http://freshmeat.net</FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">3.-
Obtener Amavis perl 11&gt;&gt; de:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://www.amavis.org/"><FONT FACE="Bookman L, serif">www.amavis.org</FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">4.-
Verificar si tenemos el siguiente software y en su caso instalarlo:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
perl (obviously)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
virus scanner software (obviously)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
file</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">A
file command which understands the -b option is required, e.g. the</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">one
from ftp://ftp.astron.com/pub/file/</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
arc</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
bunzip2 (part of the bzip2 package)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
lha (version 1.14g or later!)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
unarj</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
uncompress (standard on Unix and Unix-like systems)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
unrar</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
unzoo</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Para
verificar:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">-rpm
-q paquete o -dpkg -s paquete o debconf, yast, linuxconf, etc.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Para
instalar:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">-rpm
-i paquete o -dpkg -i paquete o debconf, yast, linuxconf, etc.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Para
encontrarlos (si no los tiene tu distro) ver referencias en:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://www.amavis.org/"><FONT FACE="Bookman L, serif">www.amavis.org</FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
usar</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://www.google.com/linux"><FONT FACE="Bookman L, serif">www.google.com/linux
<SPAN STYLE="text-decoration: none">;-)</SPAN></FONT></A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">*No
es necesario pero si deseable instalar todos los compresores.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">4.-
Modulos de Perl para amavis-perl :-P.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">IO-stringy</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Syslog</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">MailTools
</FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">MIME-Base64</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">MIME-tools
version 5.313 or better (!!)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Convert-UUlib</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Convert-TNEF
0.06 or better (!!)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Compress-Zlib</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Archive-Tar</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Archive-Zip</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">libnet</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Se
pueden obtener todos de <A HREF="http://www.cpan.org/">www.cpan.org</A></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Si
se tiene instalado el modulo CPAN la cosa es tan facil como:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">perl
-MCPAN -e shell</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">E
irle indicando uno a uno:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Unix::Syslog</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Convert::UUlib</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Convert::TNEF</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Compress::Zlib</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Archive::Tar</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Archive::Zip</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
G/GB/GBARR/MailTools-1.15.tar.gz</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
MIME::Tools</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">install
Bundle::libnet</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Ok
Con esto tenemos lo necesario para comenzar.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">5.-
Instalar el Scanner de virus (el programa encargado de buscar y
encontrar virus en archivos).</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Usaremos
el ClamAv por sus caracteristicas (GPL, C)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Las
siguientes instrucciones fueron tomadas y tradcidas del manual
incluido con el ClamAv.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Suponemos
que tienes acceso root.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">&#147;Si
estas instalando por primera vez, tienes que agregar a tu sistema un
nuevo grupo y un nuevo usuario(clamav):</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">#
groupadd clamav </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">#
useradd -g clamav -s /bin/false -c &quot;Clam Antivirus&quot; clamav</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Por
favor no le pongas contrase&ntilde;a a esta cuenta. Debe ser un
usuario normal sin privilegios. No lo agreges a ningun grupo
especial.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Despues
de esto extrae los archivos, configura y compila:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">$
tar zxpvf clamav-x.yz.tar.gz </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">$
cd clamav-x.yz $ ./configure; make </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">$
su -c &quot;make install&quot; </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">&iexcl;Eso
es todo !</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Prueba:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Ok.
Hagamos algunas pruebas. </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Intenta
scanear recursivamente el directorio de las fuentes de clamAv:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">$
clamscan -r -l scan.txt clam-x.yz </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Deberiamos
encontrar un virus en el archivo clam.x.yz/eicar.com.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Puedes
checarlo en el archivo creado: scan.txt</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif"><B>Soporte
para AmaViS-perl:</B></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Lo
primero que necesitas es amavis-perl-11.tar.gz, lo puedes obtener de
http://amavis.org, luego:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">$
tar zxpvf amavis-perl-11.tar.gz </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">$
cp clam-x.yz/support/amavis/clamavis.patch amavis-perl-11 </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">$
cd amavis-perl-11 </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">$
patch -p1 &lt; clamavis.patch </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">$
find . -exec touch 01010000 {} \; </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Ahora
por favor efectua una instalaci&oacute;n normal de Amavis.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><I>Consejo</I>:
Amavis usara clamscan con las opciones tipicas, lo cual esta bien
para la mayoria de los sistemas. Si quieres agregar otras opciones
(ej. descompresion, limites) por favor edita el archivo
/usr/sbin/amavis despues de la instalaci&oacute;n).&#148;</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Por
favor lee el manual del clam.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">El
autor de clamAv y del manual del cual traduje lo anterior es:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><SPAN STYLE="font-weight: medium"><FONT FACE="Bookman L, serif">Tomasz
Kojm &lt;<A HREF="mailto:zolw@konarski.edu.pl">zolw@konarski.edu.pl</A>&gt;</FONT></SPAN></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif"><B>6.-
Instalaci&oacute;n de Amavis-perl-11:</B></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Suponemos
que sendmail ya esta instalado y que existe /etc/sendmail.cf</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">(o
/etc/mail/sendmail.cf)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Yo
opte por la configuraci&oacute;nmanual, pero existe tambi&eacute;n la
via de m4.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Los
pasos , son los siguientes:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">1)
Copia el archivo /etc/sendmail.cf a /etc/sendmail.orig.cf</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">2)
Cambiar a mano sendmail.cf:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">a)
Abre /etc/sendmail.cf en tu editor favorito</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">b)
Cambia el directorio de la cola (queue) a:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">QueueDirectory=/var/spool/mqamavis</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">c)
Cambia el archivo de estado (status) a:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">StatusFile=/var/log/amavis.st</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">d)
Cambia el conjunto de reglas 0 (rule set 0) a:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">R$*
$: $&gt;Parse0 $1 initial parsing</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">R&lt;@&gt;
$#local $: &lt;@&gt; special case error msgs</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">R$*
$: $&gt;98 $1 handle local hacks</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">R$*
$#amavis $:$1</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">#R$*
$: $&gt;Parse1 $1 final parsing</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Ten
cuidado con los tabuladores. Aqu&iacute; esta el codigo de nuevo, en
lugar de [tab] prseiona la tecla tab :-)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">R$*[tab][tab]$:
$&gt;Parse0 $1[tab][tab]initial parsing</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">R&lt;@&gt;[tab][tab]$#local
$: &lt;@&gt;[tab][tab]special case error msgs</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">R$*[tab][tab]$:
$&gt;98 $1[tab][tab]handle local hacks</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">R$*[tab][tab]$#amavis
$:$1</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">#R$*[tab][tab]$:
$&gt;Parse1 $1[tab][tab]final parsing</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Agrega
la nueva definicion de mailer:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Mamavis,
P=/usr/sbin/amavis, F=mlsACDFMS5:/|@qhP, S=0, R=0</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">T=DNS/RFC822/X-Unix,</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">A=amavis
$f $u</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">3)Ejecuta:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">./configure
--enable-relay --enable-sendmail
--with-warnrecip=/home/amavis-perl-11/amavis/notify/recip</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">make
</FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">make
check</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">make
install </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">*Nota:
Puedes agregar mas opciones al ./configure. Lee el INSTALL de amavis.
</FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">4)
Crea el directorio /var/spool/mqamavis con los mismos permisos que </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">/var/spool/mqueue
pero el propietario y el grupo deben se amavis.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">*Nota:
Yo los deje con root : root y funciona.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">5)
Reinicia sendmail:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">killall
-HUP sendmail</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">o
si usas SuSE Linux:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">rcsendmail
restart</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Listo,
sendmail ya tiene soporte de amavis y clamscan para detectar correos
infectados.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Solo
resta que hagas pruebas enviando y recibiendo correos con archivos
adjuntos infectados.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Como
prueba puedes usar el archivo /home/clamav-0.14/test/eicar.com que NO
es un virus, y sirve para probar tu sistema antivirus. </FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Si
todo funciona el postmaster y el usuario que envio el archivo con
virus reciben un correo notificandoles VIRUS IN YOUR MAIL (VIRUS EN
TU CORREO).</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Con
lo cual la alarma esta funcionando.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><B><FONT SIZE=3><FONT FACE="Bookman L, serif">Precuacion
con la cola de correo</FONT></FONT></B>:</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Al
parecer amavis tiene problemas de correo que se queda atorado en la
cola cuando el envio no se puede realizar la primera vez, y ya no lo
vuelve a intentar enviar.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Para
corregir esto podemos hacer lo siguiente:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>/usr/sbin/sendmail
-C /etc/sendmail.orig.cf -q </FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>via
cron </FONT></FONT>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>Otra
solucion es:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>/usr/sbin/sendmail
-q5m -C /etc/mail/sendmail.orig.cf</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>En
este caso la cola de correo se vacia cada 5 minutos. Una buena idea
es agregar esta segunda opcion al archivo de inicio de sendmail en
/etc/init.d/sendmail</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>Por
ejemplo:</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>#
For amavis processing of stuck mails in original</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>#
queue [greynoso - 070502]</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>SENDMAIL_AMAVIS=&quot;-q30m
-C /etc/sendmail.orig.cf&quot;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>.
/etc/rc.status</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>rc_reset</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>case
&quot;$1&quot; in</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>start)</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>echo
-n &quot;Initializing SMTP port. (sendmail)&quot;</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>startproc
/usr/sbin/sendmail $SENDMAIL_ARGS</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>rc_status
-v</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>#</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>#
For amavis processing of stuck mails in original</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>#
queue [greynoso - 070502]</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><FONT SIZE=3>/usr/sbin/sendmail
$SENDMAIL_AMAVIS</FONT></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">....</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Etc.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif">Con
esto ya no debe haber problemas de correo atorado :-)</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif"><B>Auto-Actualizacion
con FreshClam:</B></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">En
tu cron agrega:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">#Actualizacion
dB Clam[Erick Lopez 2k2/07/16]</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">#45 1 * * * /usr/local/bin/freshclam|
/usr/bin/mail -s 'Actualizacion antivirus' virusalert</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Con
lo cual corre el freshclam a la 1:45 am y te envia un mail con el
status de la base de datos de virus.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><FONT FACE="Bookman L, serif"><B>Auto-Actualizacion
con oav-update:</B></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Actualmente
existe otra opcion para actualizar la base de datos de virus (la cual
recordemos es la de Open Antivirus ), esta opcion es mas flexible que
el freshclam, aunque al parecer (no la he probado aun) requiere mas
configuacion.</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif">Dicha
opcion es el oav-update que puedes conseguir en:</FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; font-weight: medium"><FONT FACE="Bookman L, serif"><A HREF="http://packages.debian.org/testing/utils/oav-update.html">http://packages.debian.org/testing/utils/oav-update.html</A></FONT></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Erick Iva&aacute;n L&oacute;pez
Carre&oacute;n</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><A HREF="http://www.fsl.org.mx/">www.fsl.org.mx</A></P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Creditos:</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Gerardo Reynoso Cobos
&lt;<A HREF="mailto:greynoso@technitrade.com">greynoso@technitrade.com</A>&gt;
Solucion al problema de correo pegado a la cola de amavis.</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
</P>
</BODY>
</HTML>

View file

@ -0,0 +1,49 @@
.TH "clamav-milter" "1" "June 21, 2003" "" "Clam AntiVirus"
.SH "NAME"
.LP
clamav\-milter \- milter compatible mail scanner
.SH "SYNOPSIS"
.LP
clamscan [options] socket_address
.SH "DESCRIPTION"
.LP
clamav\-milter is a filter for sendmail mail server. It uses a mail scanning engine built into clamd.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output the help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-c FILE, \-\-config\-file=FILE\fR
By default clamav\-milter uses a default configuration file, this option allows you to specify another one.
.TP
\fB\-x n, \-\-debug\-level=n\fR
Set the debug level to n (where n from [0..9]).
.TP
\fB\-b, \-\-bounce\fR
Send a failure message to the sender.
.TP
\fB\-l, \-\-local\fR
Also scan messages sent from LAN.
.TP
\fB\-o, \-\-outgoing\fR
Scan outgoing messages from this machine.
.TP
\fB\-\-server=ADDRESS, \-s ADDRESS\fR
IP address of server running clamd (when using TCPsocket).
.TP
\fB\-\-max\-children=n, \-m n\fR
Maximum number of children.
.SH "EXAMPLES"
.LP
clamav\-milter \-\-max\-children=2 \-obl local:/var/run/clmilter.sock
.SH "AUTHOR"
.LP
clamav\-milter was written by Nigel Horne <njh@bandsman.co.uk>, the manual page was created by Tomasz Kojm <zolw@konarski.edu.pl>.
.SH "SEE ALSO"
.LP
clamd(8), clamscan(1), freshclam(1), sigtool(1), clamav.conf(5)

View file

@ -0,0 +1,210 @@
.\" Manual page created by Tomasz Kojm, 1.10.2002.
.TH "clamav.conf" "5" "June 6, 2003" "Tomasz Kojm" "Clam AntiVirus"
.SH "NAME"
.LP
\fBclamav.conf\fR \- Configuration file for Clam AntiVirus Daemon
.SH "DESCRIPTION"
.LP
The clamav.conf configures the Clam AntiVirus daemon, clamd(8).
.SH "FILE FORMAT"
The file consists of comments and options with arguments. Each line that starts with a hash (\fB#\fR) symbol is ignored. Everything is case sensitive. Options are of the form \fBOption Argument\fR, some options don't use arguments. There are few types of the arguments:
.TP
\fBSTRING\fR
String without a blank characters.
.TP
\fBSIZE\fR
Size in bytes. You can use a 'M' or 'm' modifiers for megabytes and a 'K' or 'k' for kilobytes.
.TP
\fBNUMBER\fR
Unsigned integer.
.SH "OPTIONS"
.LP
When some option is not used (hashed or doesn't exist in the configuration file), clamd takes a default action.
.TP
\fBExample\fR
When this option is set, clamd will stop and ask you to modify the configuration file.
.TP
\fBLogFile STRING\fR
Enable logging to a specified file.
.br
Default: disabled.
.TP
\fBLogFileUnlock\fR
Disable the lock, that protects against running clamd with the same configuration multiple times. Enabling this option is not recommended.
.br
Default: disabled.
.TP
\fBLogFileMaxSize SIZE\fR
Limit the size of the log file. When SIZE is reached, the logger is automatically disabled. Value of 0 disables the limit.
.br
Default: 1M
.TP
\fBLogTime\fR
Log time information with each message.
.br
Default: disabled.
.TP
\fBLogSyslog\fR
Use system logger (can work together with LogFile).
.br
Default: disabled.
.TP
\fBPidFile STRING\fR
Save the process identifier of the listening daemon (main thread) to a specified file.
.br
Default: disabled.
.TP
\fBDataDirectory STRING\fR
Path to the directory containing database files.
.br
Default: hardcoded directory.
.TP
\fBLocalSocket STRING\fR
Path to the local (Unix) socket the daemon will listen on.
.br
Default: disabled.
.TP
\fBTCPSocket NUMBER\fR
TCP port number the daemon will listen on.
.br
Default: disabled.
.TP
\fBMaxConnectionQueueLength NUMBER\fR
Maximum length the queue of pending connections may grow to.
.br
Default: 15
.TP
\fBMaxThreads NUMBER\fR
Maximal number of a threads running at the same time.
.br
Default: 5.
.TP
\fBThreadTimeout NUMBER\fR
Stop thread\-scanner after specified time (in seconds). Value of 0 disables the timeout.
.br
Default: 180
.TP
\fBMaxDirectoryRecursion NUMBER\fR
Maximal depth the directories are scanned at.
.br
Default: disabled.
.TP
\fBFollowDirectorySymlinks\fR
Follow a directory symlinks. You should have enabled directory recursion limit to avoid a potential problems.
.br
Default: disabled.
.TP
\fBFollowFileSymlinks\fR
Follow a regular file symlinks.
.br
Default: disabled.
.TP
\fBSelfCheck NUMBER\fR
Do internal checks every NUMBER seconds. In some cases it's able to fix a problem (eg. rebuild a broken graph).
.br
Default: 3600
.TP
\fBUser STRING\fR
When started by root, drop priviledges to a specified user.
.br
Default: disabled.
.TP
\fBAllowSupplementaryGroups\fR
When started by root and the User option is activated, it will initialize all the groups from /etc/group for which user is a member.
.br
Default: disabled.
.TP
\fBForeground\fR
Don't fork into background. Useful in debugging.
.br
Default: disabled.
.TP
\fBStreamSaveToDisk\fR
When activated, input stream (see STREAM command) will be saved to disk before scanning \- this allows scanning within archives.
.br
Default: disabled.
.TP
\fBStreamMaxLength SIZE\fR
Close the connection if this limit is exceeded
.br
Default: disabled.
\fBScanMail\fR
Enable scanning of mail files.
.br
Default: disabled.
.TP
\fBScanArchive\fR
Enable archive scanning.
.br
Default: disabled.
.TP
\fBArchiveMaxFileSize SIZE\fR
Files in archives larger than this limit won't be scanned. Value of 0 disables the limit.
.br
Default: 10M
.TP
\fBArchiveMaxRecursion NUMBER\fR
Limit archive recursion level. Value of 0 disables the limit.
.br
Default: 5
.TP
\fBArchiveMaxFiles NUMBER\fR
Number of files to be scanned within archive. Value of 0 disables the limit.
.br
Default: 1000
.TP
\fBArchiveLimitMemoryUsage\fR
Use slower decompression algorithm which uses less memory. This option affects bzip2 decompressor only.
.br
Default: disabled
.TP
\fBClamukoScanOnLine\fR
Enable Clamuko \- on\-access scanner for Linux. Dazuko must be already running.
.br
Default: disabled.
.TP
\fBClamukoScanOnOpen\fR
Scan a file on open.
.br
Default: disabled.
.TP
\fBClamukoScanOnClose\fR
Scan a file on close.
.br
Default: disabled.
.TP
\fBClamukoScanOnExec\fR
Scan a file on execute.
.br
Default: disabled.
.TP
\fBClamukoIncludePath STRING\fR
Set the include paths (all files and directories in them will be scanned). You can have multiple ClamukoIncludePath options, but each directory must be added in a seperate option.
.br
Default: disabled. Required.
.TP
\fBClamukoExcludePath\fR
Set the exclude paths. All subdirectories are also excluded.
.br
Default: disabled.
.TP
\fBClamukoMaxFileSize SIZE\fR
Don't scan files larger than SIZE.
.br
Default: 5M
.TP
\fBClamukoScanArchive\fR
Enable archive scanning. It uses ArchiveMax* limits.
.br
Default: disabled.
.SH "FILES"
.LP
/etc/clamav.conf
.br
/usr/local/etc/clamav.conf
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamd(8), clamdscan(1), clamscan(1), freshclam(1), sigtool(1)

58
clamav-devel/docs/clamd.8 Normal file
View file

@ -0,0 +1,58 @@
.\" Manual page created by Tomasz Kojm, 29.09.2002
.TH "Clam Daemon" "8" "June 21, 2003" "Tomasz Kojm" "Clam AntiVirus"
.SH "NAME"
.LP
clamd \- an anti\-virus daemon
.SH "SYNOPSIS"
.LP
clamd [options]
.SH "DESCRIPTION"
.LP
The daemon listens for incoming connections on Unix or TCP socket and scans files or directories on demand. It's a part of the Clam AntiVirus package. It reads its configuration information from a clamav.conf file. It provides on\-access scanning feature (clamuko) under Linux.
.SH "COMMANDS"
.LP
clamd recognizes the following commands:
.TP
\fBPING\fR
Check the server's state. It should reply with "PONG".
.TP
\fBVERSION\fR
Print the version information.
.TP
\fBRELOAD\fR
Reload the databases.
.TP
\fBQUIT\fR
Perform a clean exit.
.TP
\fBSCAN file/directory\fR
Scan a file or directory (recursively) with archive support enabled (if not disabled in clamav.conf). A full path is required.
.TP
\fBRAWSCAN file/directory\fR
Scan a file or directory (recursively) with archive support disabled. A full path is required.
.TP
\fBCONTSCAN file/directory\fR
Scan a file or directory (recursively) with archive support enabled and continue scanning even when virus was found. A full path is required.
.TP
\fBSTREAM\fR
Scan stream \- on this command clamd will return "PORT number" and you can connect to that port and send a data to scan.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-c FILE, \-\-config\-file=FILE\fR
Read the configuration from FILE.
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamdscan(1), clamscan(1), freshclam(1), sigtool(1), clamav.conf(5)

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,67 @@
.\" Manual page created by Tomasz Kojm, 21.11.2002
.TH "Clamd client" "1" "November 21, 2002" "Tomasz Kojm" "Clam AntiVirus"
.SH "NAME"
.LP
clamdscan \- scan files/directories against viruses using Clam AntiVirus Daemon
.SH "SYNOPSIS"
.LP
clamscan [options] [file/directory]
.SH "DESCRIPTION"
.LP
clamdscan is a simple clamd client, which may be used as a clamscan replacement. clamdscan accepts all the options implemented in clamscan. It's a part of the Clam AntiVirus package.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-v, \-\-verbose\fR
Be verbose. This option causes clamscan to print many additional informations.
.TP
\fB\-\-quiet\fR
Be quiet \- only output error messages.
.TP
\fB\-\-stdout\fR
Write all messages to the standard output (stdout), instead of the standard error output (stderr). The buffer is automatically flushed (stdout unlike stderr is buffered), to avoid a race conditions on output.
.TP
\fB\-l FILE, \-\-log=FILE\fR
Save the scan report to FILE. By default the log isn't saved.
.TP
\fB\-\-log\-verbose\fR
Save an additional information (mostly needless) to the report file.
.TP
\fB\-\-disable\-summary\fR
Disable summary printing at the end of a scanning.
.SH "EXAMPLES"
.LP
.TP
(0) To scan a one file:
\fBclamdscan file\fR
.TP
(1) To scan a current directory:
\fBclamdscan\fR
.TP
(2) To scan all files in /home:
\fBclamdscan /home\fR
.SH "RETURN CODES"
.LP
0 : No virus found.
.TP
1 : Virus(es) found.
.TP
2 : Error occured.
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamscan(1), clamd(8), freshclam(1), sigtool(1), clamav.conf(5)

View file

@ -0,0 +1,186 @@
.\" Manual page created by Tomasz Kojm, 14/15 IV 2002
.TH "clamscan" "1" "October 1, 2002" "Tomasz Kojm" "Clam AntiVirus"
.SH "NAME"
.LP
clamscan \- scan files/directories against viruses
.SH "SYNOPSIS"
.LP
clamscan [options] [file/directory/\-]
.SH "DESCRIPTION"
.LP
clamscan is a console anti\-virus scanner. It's a part of the Clam AntiVirus package.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-v, \-\-verbose\fR
Be verbose. This option causes clamscan to print many additional informations.
.TP
\fB\-\-quiet\fR
Be quiet \- output only error messages.
.TP
\fB\-\-stdout\fR
Write all messages to the standard output (stdout), instead of the standard error output (stderr). The buffer is automatically flushed (stdout unlike stderr is buffered), to avoid a race conditions on output.
.TP
\fB\-d FILE/DIR, \-\-database=FILE/DIR\fR
Load the virus database from FILE or load all .db and .db2 files from DIR.
.TP
\fB\-l FILE, \-\-log=FILE\fR
Save the scan report to FILE. By default the log isn't saved.
.TP
\fB\-\-log\-verbose\fR
Save an additional information (mostly needless) to the report file.
.TP
\fB\-\-tempdir=DIRECTORY\fR
Create temporary files in DIRECTORY. Directory must be writeable for the 'clamav' user or unprivileged user running clamscan.
.TP
\fB\-r, \-\-recursive\fR
Scan directories recursively. All the files in the given directory will be scanned. \fBThis option affects on scanning subdirectories in archives, if you are using unpackers just turn it on.\fR
.TP
\fB\-\-disable\-summary\fR
Disable summary printing at the end of the scanning.
.TP
\fB\-\-exclude=PATT\fR
Don't scan file names containing PATT. It may be used multiple times.
.TP
\fB\-\-include=PATT\fR
Only scan file names containing PATT. It may be used multiple times.
.TP
\fB\-\-mbox\fR
Enable scanning of mbox and Maildir files. (also treat stdin as a mailbox, for backward compatibility).
\fB\-i, \-\-infected\fR
Print infected files only.
.TP
\fB\-\-remove\fR
Remove infected files. \fBBe careful.\fR
.TP
\fB\-\-move=DIRECTORY\fR
Move infected files into DIRECTORY. Directory must be writeable for the 'clamav' user or unprivileged user running clamscan.
.TP
\fB\-\-force\fR
With this option you may ignore some errors. \fBBe careful.\fR
.TP
EXTRACTION OPTIONS:
.TP
\fB\-\-disable\-archive\fR
Disable archive support built in libclamav.
.TP
\fB\-\-max\-files=#n\fR
Extract first #n files from each archive. This option should be used to protect your system against DoS attacks. Note: always few files more are extracted due to the limit implementation (expecially when archive contains small files). All file types are counted.
.TP
\fB\-\-max\-space=#n\fR
Extract first #n kilobytes from each archive. You may give the number in megabytes in format xM or xm, where x is a number.
.TP
\fB\-\-max\-recursion=#n\fR
Set the archive recursion level.
.TP
\fB\-\-unzip[=FULLPATH]\fR
With this option all zipped files are scanned. If you turn on this option without the argument, unzip program will be searched in $PATH. If unzip is outside $PATH, please supply it with =pathname. Remember about '=' between option and argument. (This is needed due to the implementation of getopt_long() and optional arguments to long options).
.TP
\fB\-\-unrar[=FULLPATH]\fR
Supports .rar files.
.TP
\fB\-\-unace[=FULLPATH]\fR
Supports .ace files.
.TP
\fB\-\-unarj[=FULLPATH]\fR
Supports .arj files.
.TP
\fB\-\-unzoo[=FULLPATH]\fR
Supports .zoo files.
.TP
\fB\-\-lha[=FULLPATH]\fR
Supports .lzh files.
.TP
\fB\-\-jar[=FULLPATH]\fR
clamscan uses unzip for .jar files, so optionally give a full path to unzip.
.TP
\fB\-\-deb[=FULLPATH]\fR
This option supports debian binary packages. Implies \-\-tgz, but doesn't conflict with \-\-tgz=FULLPATH. It requires ar utility.
.TP
\fB\-\-tar[=FULLPATH]\fR
This option supports non\-compressed archives.
.TP
\fB\-\-tgz[=FULLPATH]\fR
This option supports tar.gz and .tgz files. You need GNU tar, on non\-Linux system you probably have it as gtar. If it's in $PATH, please use \-\-tgz=gtar in other case please use a full pathname.
.SH "EXAMPLES"
.LP
.TP
(0) To scan one file:
\fBclamscan file\fR
.TP
(1) To scan current directory:
\fBclamscan\fR
.TP
(2) To scan all files in /home:
\fBclamscan \-r /home\fR
.TP
(3) Load the database from another file and limit the disk usage to 50 Mb:
\fBclamscan \-d /tmp/newclamdb \-\-max-space=50m \-r /tmp\fR
.TP
(4) Scan a data stream:
\fBcat testfile | clamscan \-\fR
.TP
(5) Scan the mail spool directory:
\fBclamscan \-r \-\-mbox /var/spool/mail\fR
.SH "RETURN CODES"
.LP
Note: some return codes may appear only in a one file mode (clamscan is started with file argument). These one are marked with \fB(ofm)\fR.
0 : No virus found.
.TP
1 : Virus(es) found.
.TP
40: Unknown option passed.
.TP
50: The database can't be initialized.
.TP
51: Wrong number of threads given.
.TP
52: Not supported file type.
.TP
53: Can't open directory.
.TP
54: Can't open file. (ofm)
.TP
55: Error reading file. (ofm)
.TP
56: Can't stat input file / directory.
.TP
57: Can't get absolute pathname of current working directory.
.TP
58: I/O error, check your filesystem.
.TP
59: Can't get information about current user from /etc/passwd.
.TP
60: Can't get information about user 'clamav' (default name) from /etc/passwd.
.TP
61: Can't fork.
.TP
63: Can't create temporary files/directories (check permissions).
.TP
64: Can't write to temporary directory, please specify another one.
.TP
70: Can't allocate and clear memory (calloc).
.TP
71: Can't allocate memory (malloc).
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamd(8), clamdscan(1), freshclam(1), sigtool(1), clamav.conf(5)

View file

@ -0,0 +1,104 @@
.\" Manual page created by Tomasz Kojm, 14/15 IV 2002
.TH "FreshClam" "1" "June 6, 2003" "Tomasz Kojm" "Clam AntiVirus"
.SH "NAME"
.LP
freshclam \- update virus databases
.SH "SYNOPSIS"
.LP
freshclam [options]
.SH "DESCRIPTION"
.LP
freshclam updates the virus database. It's a part of the Clam AntiVirus package. It requires an Internet connection.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-v, \-\-verbose\fR
Be verbose. This option causes freshclam to print many additional informations.
.TP
\fB\-\-quiet\fR
Be quiet \- output only error messages.
.TP
\fB\-\-stdout\fR
Write all messages to the standard output (stdout), instead of the standard error output (stderr).
.TP
\fB\-l FILE, \-\-log=FILE\fR
Save the download report to FILE. By default the log isn't saved.
.TP
\fB\-\-log\-verbose\fR
Save an additional information (mostly needless) to the report file.
.TP
\fB\-\-datadir=DIRECTORY\fR
Install the downloaded database in DIRECTORY. Directory must be writeable for 'clamav' user or unprivileged user running freshclam.
.TP
\fB\-u USER, \-\-user USER\fR
Run as USER. By default, when started by root freshclam drops the privileges and works as the 'clamav' user.
.TP
\fB\-d, \-\-daemon\fR
Run in a daemon mode. This option requires \-\-checks.
.TP
\fB\-c #n, \-\-checks=#n\fR
Check #n times per a day for the new database. #n must be between 1 and 50.
.TP
\fB\-\-http\-proxy=hostname[:port]\fR
Connect via a proxy server.
.TP
\fB\-\-proxy\-user=user:password\fR
Do proxy authorization for user. Password is required.
.TP
\fB\-\-daemon\-notify=/path/to/clamav.conf\fR
Notify the daemon about the new database. By default it reads hardcoded directory, but you can specify another one using a full path to clamav.conf. Local and TCP sockets are supported.
.TP
\fB\-\-on\-error\-execute=COMMAND\fR
Execute COMMAND if error occured. Remeber, that virus database freshness is the most important thing in anti\-virus system. With this option freshclam can alert you (eg. send SMS) when something is going wrong.
.TP
\fB\-\-on\-update\-execute=COMMAND\fR
Execute COMMAND after succesful update.
.SH "EXAMPLES"
.LP
.TP
(0) Download database to default directory:
\fBfreshclam\fR
.TP
(1) Download database to current directory:
\fBfreshclam \-\-datadir .\fR
.TP
(2) Run as daemon and check 2 times on day for new database:
\fBfreshclam \-d \-c 2\fR
.SH "RETURN CODES"
0 : Database succesfully updated.
.TP
1 : Database is up\-to\-date.
.TP
40: Unknown option passed.
.TP
50: Can't change directory.
.TP
51: Can't check MD5 sum of file.
.TP
52: Connection (network) problem.
.TP
53: Can't unlink file.
.TP
54: MD5 checksum of downloaded database isn't ok.
.TP
55: Error reading file.
.TP
60: Can't get information about clamav user from /etc/passwd.
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamd(8), clamdscan(1), clamscan(1), sigtool(1), clamav.conf(5)

View file

@ -0,0 +1,30 @@
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
.MATH { font-family: "Century Schoolbook", serif; }
.MATH I { font-family: "Century Schoolbook", serif; font-shape: italic }
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
/* implement both fixed-size and relative sizes */
SMALL.XTINY { font-size : xx-small }
SMALL.TINY { font-size : x-small }
SMALL.SCRIPTSIZE { font-size : smaller }
SMALL.FOOTNOTESIZE { font-size : small }
SMALL.SMALL { }
BIG.LARGE { }
BIG.XLARGE { font-size : large }
BIG.XXLARGE { font-size : x-large }
BIG.HUGE { font-size : larger }
BIG.XHUGE { font-size : xx-large }
/* heading styles */
H1 { }
H2 { }
H3 { }
H4 { }
H5 { }
/* mathematics styles */
DIV.displaymath { } /* math displays */
TD.eqno { } /* equation-number cells */
/* document-specific styles come next */

View file

@ -0,0 +1,206 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Footnotes</TITLE>
<META NAME="description" CONTENT="Footnotes">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node44.html">
<LINK REL="up" HREF="clamdoc.html">
</HEAD>
<BODY >
<DL>
<DT><A NAME="foot75">... moderated</A><A NAME="foot75"
HREF="node4.html#tex2html1"><SUP>1</SUP></A>
<DD>That means, the
subscribers are not allowed to write into the mailing list
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
<DT><A NAME="foot575">...clamav: </A><A NAME="foot575"
HREF="node11.html#tex2html10"><SUP>2</SUP></A>
<DD>Cygwin note:
If you don't have /etc/passwd, you don't need the <I>clamav</I> user/group.
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
<DT><A NAME="foot576">... manual.</A><A NAME="foot576"
HREF="node13.html#tex2html12"><SUP>3</SUP></A>
<DD>Please run <I>man
clamscan</I>
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
<DT><A NAME="foot233">... strings.</A><A NAME="foot233"
HREF="node19.html#tex2html17"><SUP>4</SUP></A>
<DD>Just like
the file(1) command.
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
<DT><A NAME="foot657">... broken.</A><A NAME="foot657"
HREF="node38.html#tex2html28"><SUP>5</SUP></A>
<DD>Only in one-file mode (in recursive mode those errors are
ignored)
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DL>
</BODY>
</HTML>

View file

@ -0,0 +1 @@
\relax

View file

@ -0,0 +1,236 @@
This is TeX, Version 3.14159 (Web2C 7.3.7) (format=latex 2002.10.16) 21 JUN 2003 05:02
**./images.tex
(./images.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, p
olish, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size12.clo
File: size12.clo 2001/04/21 v1.4e Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
) (/usr/share/texmf/tex/latex/base/ifthen.sty
Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
) (/usr/share/texmf/tex/latex/amsfonts/amssymb.sty
Package: amssymb 1996/11/03 v2.2b
(/usr/share/texmf/tex/latex/amsfonts/amsfonts.sty
Package: amsfonts 1997/09/17 v2.2e
\@emptytoks=\toks14
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(Font) U/euf/m/n --> U/euf/b/n on input line 133.
)) (/usr/share/texmf/tex/latex/misc/pslatex.sty
Package: pslatex 1996/07/24 v1.2 pslatex emulation (DPC)
LaTeX Font Info: Redeclaring symbol font `operators' on input line 65.
LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
(Font) OT1/cmr/m/n --> OT1/ptmcm/m/n on input line 65.
LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
(Font) OT1/cmr/bx/n --> OT1/ptmcm/m/n on input line 65.
LaTeX Font Info: Redeclaring symbol font `letters' on input line 66.
LaTeX Font Info: Overwriting symbol font `letters' in version `normal'
(Font) OML/cmm/m/it --> OML/ptmcm/m/it on input line 66.
LaTeX Font Info: Overwriting symbol font `letters' in version `bold'
(Font) OML/cmm/b/it --> OML/ptmcm/m/it on input line 66.
LaTeX Font Info: Redeclaring symbol font `symbols' on input line 67.
LaTeX Font Info: Overwriting symbol font `symbols' in version `normal'
(Font) OMS/cmsy/m/n --> OMS/pzccm/m/n on input line 67.
LaTeX Font Info: Overwriting symbol font `symbols' in version `bold'
(Font) OMS/cmsy/b/n --> OMS/pzccm/m/n on input line 67.
LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 68.
LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal'
(Font) OMX/cmex/m/n --> OMX/psycm/m/n on input line 68.
LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold'
(Font) OMX/cmex/m/n --> OMX/psycm/m/n on input line 68.
\symbold=\mathgroup6
\symitalic=\mathgroup7
LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 74.
LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal'
(Font) OT1/cmr/bx/n --> OT1/ptm/bx/n on input line 74.
LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold'
(Font) OT1/cmr/bx/n --> OT1/ptm/bx/n on input line 74.
LaTeX Font Info: Redeclaring math alphabet \mathit on input line 75.
LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal'
(Font) OT1/cmr/m/it --> OT1/ptm/m/it on input line 75.
LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
(Font) OT1/cmr/bx/it --> OT1/ptm/m/it on input line 75.
) (/usr/share/texmf/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks15
) (/usr/share/texmf/tex/latex/graphics/graphics.sty
Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
) (/usr/share/texmf/tex/latex/config/graphics.cfg
File: graphics.cfg 2001/08/31 v1.1 graphics configuration of teTeX/TeXLive
)
Package graphics Info: Driver file: dvips.def on input line 80.
(/usr/share/texmf/tex/latex/graphics/dvips.def
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
) (/usr/share/texmf/tex/latex/misc/wrapfig.sty
\wrapoverhang=\dimen105
\WF@size=\dimen106
\c@WF@wrappedlines=\count87
\WF@box=\box26
\WF@everypar=\toks16
Package: wrapfig 1999/10/12 v 3.3
) (/usr/share/texmf/tex/latex/latex2html/url.sty
Package: url 1999/03/02 ver 1.4 Verb mode for urls, email addresses, and file
names
) (/usr/share/texmf/tex/latex/misc/fancybox.sty
Package: fancybox 2000/09/19 1.3
Style option: `fancybox' v1.3 <2000/09/19> (tvz)
\@fancybox=\box27
\shadowsize=\dimen107
\@Sbox=\box28
\do@VerbBox=\toks17
\the@fancyput=\toks18
\this@fancyput=\toks19
\EndVerbatimTokens=\toks20
\Verbatim@Outfile=\write3
\Verbatim@Infile=\read1
) (/usr/share/texmf/tex/latex/titlesec/titlesec.sty
Package: titlesec 2001/01/23 v2.4 Sectioning titles
\ttl@box=\box29
\titlewidth=\dimen108
(/usr/share/texmf/tex/latex/titlesec/titlesec.new *** titlesec 2.4, loading pat
ch level 2 ***)) (/usr/share/texmf/tex/latex/graphics/color.sty
Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
(/usr/share/texmf/tex/latex/config/color.cfg
File: color.cfg 2001/08/31 v1.1 color configuration of teTeX/TeXLive
)
Package color Info: Driver file: dvips.def on input line 125.
(/usr/share/texmf/tex/latex/graphics/dvipsnam.def
File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
)) (/usr/share/texmf/tex/latex/fancyhdr/fancyhdr.sty
\headwidth=\dimen109
)
Package Fancyhdr Warning: fancyhdr's E option without twoside option is useless
on input line 27.
(/usr/share/texmf/tex/latex/base/inputenc.sty
Package: inputenc 2001/07/10 v0.99a Input encoding file
)
\sizebox=\box30
\lthtmlwrite=\write4
(./images.aux)
\openout1 = `images.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 142.
LaTeX Font Info: ... okay on input line 142.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 142.
LaTeX Font Info: ... okay on input line 142.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 142.
LaTeX Font Info: ... okay on input line 142.
LaTeX Font Info: Checking defaults for OMS/pzccm/m/n on input line 142.
LaTeX Font Info: Try loading font information for OMS+pzccm on input line 14
2.
(/usr/share/texmf/tex/latex/mathptm/omspzccm.fd
File: omspzccm.fd 1998/07/01 Fontinst v1.800 font definitions for OMS/pzccm.
)
LaTeX Font Info: ... okay on input line 142.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 142.
LaTeX Font Info: ... okay on input line 142.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 142.
LaTeX Font Info: ... okay on input line 142.
latex2htmlLength hsize=349.0pt
latex2htmlLength vsize=681.0pt
latex2htmlLength hoffset=0.0pt
latex2htmlLength voffset=0.0pt
latex2htmlLength topmargin=0.0pt
latex2htmlLength topskip=0.00003pt
latex2htmlLength headheight=0.0pt
latex2htmlLength headsep=0.0pt
latex2htmlLength parskip=0.0pt plus 1.0pt
latex2htmlLength oddsidemargin=31.0pt
latex2htmlLength evensidemargin=31.0pt
l2hSize :picture607:0.0pt::0.0pt::349.0pt.
[1
]
LaTeX Font Info: Try loading font information for OT1+ptmcm on input line 19
3.
(/usr/share/texmf/tex/latex/mathptm/ot1ptmcm.fd
File: ot1ptmcm.fd 1998/07/01 Fontinst v1.800 font definitions for OT1/ptmcm.
)
LaTeX Font Info: Try loading font information for OML+ptmcm on input line 19
3.
(/usr/share/texmf/tex/latex/mathptm/omlptmcm.fd
File: omlptmcm.fd 1998/07/01 Fontinst v1.800 font definitions for OML/ptmcm.
)
LaTeX Font Info: Try loading font information for OMX+psycm on input line 19
3.
(/usr/share/texmf/tex/latex/mathptm/omxpsycm.fd
File: omxpsycm.fd 1998/07/01 Fontinst v1.800 font definitions for OMX/psycm.
)
LaTeX Font Info: Try loading font information for U+msa on input line 193.
(/usr/share/texmf/tex/latex/amsfonts/umsa.fd
File: umsa.fd 1995/01/05 v2.2e AMS font definitions
)
LaTeX Font Info: Try loading font information for U+msb on input line 193.
(/usr/share/texmf/tex/latex/amsfonts/umsb.fd
File: umsb.fd 1995/01/05 v2.2e AMS font definitions
)
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 193.
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 193.
LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available
(Font) Font shape `OT1/ptm/b/n' tried instead on input line 193.
l2hSize :tex2html_wrap_inline670:8.09999pt::0.0pt::9.9239pt.
[2
]
l2hSize :tex2html_wrap_inline672:8.59999pt::8.59999pt::18.59053pt.
[3
]
l2hSize :tex2html_wrap_inline674:10.50275pt::0.0pt::5.60004pt.
[4
] (./images.aux) )
Here is how much of TeX's memory you used:
1945 strings out of 10823
23741 string characters out of 70674
64265 words of memory out of 263001
4865 multiletter control sequences out of 10000+0
13711 words of font info for 40 fonts, out of 400000 for 1000
34 hyphenation exceptions out of 1000
25i,5n,43p,205b,262s stack positions out of 300i,100n,500p,50000b,4000s
Output written on images.dvi (4 pages, 1132 bytes).

View file

@ -0,0 +1,33 @@
# LaTeX2HTML 2K.1beta (1.48)
# Associate images original text with physical files.
$key = q/=;MSF=1.6;LFS=12;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="20" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img2.png"
ALT="$=$">|;
$key = q/^5;MSF=1.6;LFS=12;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="13" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img4.png"
ALT="$^5$">|;
$key = q/{picture}(0,0)put(0,-1.5){{textcolor{grey1}{rule{12.9cm}{5.3mm}}{{textcolor{grey2}%{rule{9mm}{5.3mm}}{hss}{picture};LFS=12;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="625" HEIGHT="24" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img1.png"
ALT="\begin{picture}(0,0)
\put(0,-1.5){\textcolor{grey1}{\rule{12.9cm}{5.3mm}}\textcolor{grey2}%
{\rule{9mm}{5.3mm}}\hss}
\end{picture}">|;
$key = q/ge0;MSF=1.6;LFS=12;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="33" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img3.png"
ALT="$ \ge 0$">|;
1;

View file

@ -0,0 +1,234 @@
\batchmode
\documentclass[a4paper,titlepage,12pt]{article}
\RequirePackage{ifthen}
\usepackage{amssymb}
\usepackage{pslatex}
\usepackage[dvips]{graphicx}
\usepackage{wrapfig}
\usepackage{url}
\usepackage{fancybox}
\usepackage{titlesec}
\cornersize{.4}
\headheight 14pt
\usepackage{color}
\definecolor{grey1}{gray}{0.8}
\definecolor{grey2}{gray}{0.3}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
%
\renewcommand{\headrulewidth}{0pt}\fancyhead[RO]{\textbf{\sffamily {{\textcolor{white}{\thepage}}~}}}
\fancyhead[RE]{\footnotesize {\nouppercase{\rightmark~}}}
\fancyhead[LO]{\footnotesize {\unitlength=1mm\begin{picture}(0,0)
\put(0,-1.5){\textcolor{grey1}{\rule{12.9cm}{5.3mm}}\textcolor{grey2}%
{\rule{9mm}{5.3mm}}\hss}
\end{picture}
{\nouppercase{\leftmark}}}}
\date{}
%
\providecommand{\pl}{\vspace{.3cm}}%
\providecommand{\rc}[2]{\textbf{#1: } #2\\[4pt]}%
\providecommand{\up}[2]{\textbf{--#1: } #2\\[4pt]}%
\providecommand{\email}[1]{\texttt{#1}}%
\providecommand{\cons}[1]{\vspace{2mm} \noindent \ovalbox {\sffamily #1}
\vspace{2mm}}
\pagecolor[gray]{.7}
\usepackage[]{inputenc}
\makeatletter
\makeatletter
\count@=\the\catcode`\_ \catcode`\_=8
\newenvironment{tex2html_wrap}{}{}%
\catcode`\<=12\catcode`\_=\count@
\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
\expandafter\renewcommand\csname #1\endcsname}%
\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
\let\newedcommand\renewedcommand
\let\renewedenvironment\newedenvironment
\makeatother
\let\mathon=$
\let\mathoff=$
\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
\newbox\sizebox
\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
\setlength{\textwidth}{349pt}
\newwrite\lthtmlwrite
\makeatletter
\let\realnormalsize=\normalsize
\global\topskip=2sp
\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
\def\@float{\let\@savefreelist\@freelist\real@float}
\def\liih@math{\ifmmode$\else\bad@math\fi}
\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
\let\@largefloatcheck=\relax
\let\if@boxedmulticols=\iftrue
\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
\parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
\def\phantompar{\csname par\endcsname}\normalsize}%
\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
\let\ifinner=\iffalse \let\)\liih@math }%
\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
\expandafter\box\next\egroup}%
\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
\newcommand\lthtmllogmath{\lthtmltypeout{l2hSize %
:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
\lthtmlmathtype{#1}\lthtmlvboxmathA}%
\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
\let\@savefreelist\@freelist \lthtmlhboxmathB}%
\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
\global\let\@freelist\@savefreelist}%
\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
\lthtmldisplayA{#1}\let\@eqnnum\relax}%
\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
\vrule height1.5ex width0pt }%
\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
\newcommand\lthtmlindisplaymathZ{\egroup %
\centerinlinemath\lthtmllogmath\lthtmlsetmath}
\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
\kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
\kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
\ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\centerinlinemath{%
\dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
\advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1
\dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize
\ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
\else\expandafter\vss\fi}%
\providecommand{\selectlanguage}[1]{}%
\makeatletter \tracingstats = 1
\begin{document}
\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
\makeatletter
\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
\lthtmltypeout{}%
\makeatother
\setcounter{page}{1}
\onecolumn
% !!! IMAGES START HERE !!!
{\newpage\clearpage
\lthtmlpictureA{picture607}%
\begin{picture}(0,0)
\put(0,-1.5){\textcolor{grey1}{\rule{12.9cm}{5.3mm}}\textcolor{grey2}%
{\rule{9mm}{5.3mm}}\hss}
\end{picture}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline670}%
$=$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline672}%
$ \ge 0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline674}%
$^5$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{subsection}
\stepcounter{subsection}
\stepcounter{section}
\stepcounter{section}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

View file

@ -0,0 +1,199 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>clamdoc</TITLE>
<META NAME="description" CONTENT="clamdoc">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html36"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev_g.png">
<A NAME="tex2html34"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html37"
HREF="node1.html">Contents</A>
&nbsp <B> <A NAME="tex2html35"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<DIV ALIGN="CENTER">
<FONT SIZE="+3">Clam AntiVirus: User Manual
<BR> <BR>
<BR>
<BR>
<FONT SIZE="+2">version 0.60
<BR> <BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<FONT SIZE="+2">Tomasz Kojm
</FONT></FONT></FONT></DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html38"
HREF="node1.html">Contents</A>
<LI><A NAME="tex2html39"
HREF="node2.html">Introduction</A>
<UL>
<LI><A NAME="tex2html40"
HREF="node3.html">Features</A>
<LI><A NAME="tex2html41"
HREF="node4.html">Mailing lists</A>
<LI><A NAME="tex2html42"
HREF="node5.html">Virus submitting</A>
</UL>
<BR>
<LI><A NAME="tex2html43"
HREF="node6.html">Installation</A>
<UL>
<LI><A NAME="tex2html44"
HREF="node7.html">Requirements</A>
<LI><A NAME="tex2html45"
HREF="node8.html">Supported platforms</A>
<LI><A NAME="tex2html46"
HREF="node9.html">Actual versions</A>
<LI><A NAME="tex2html47"
HREF="node10.html">Binary packages</A>
<LI><A NAME="tex2html48"
HREF="node11.html">Installation</A>
<LI><A NAME="tex2html49"
HREF="node12.html">Configuration</A>
<LI><A NAME="tex2html50"
HREF="node13.html">Testing</A>
<LI><A NAME="tex2html51"
HREF="node14.html">FreshClam: Setting up auto-updating</A>
<LI><A NAME="tex2html52"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
</UL>
<BR>
<LI><A NAME="tex2html53"
HREF="node16.html">Usage</A>
<UL>
<LI><A NAME="tex2html54"
HREF="node17.html">Clam daemon</A>
<LI><A NAME="tex2html55"
HREF="node18.html">Clamuko</A>
<LI><A NAME="tex2html56"
HREF="node19.html">Archives and compressed files</A>
<LI><A NAME="tex2html57"
HREF="node20.html">Output format</A>
<LI><A NAME="tex2html58"
HREF="node21.html">Signature Tool</A>
</UL>
<BR>
<LI><A NAME="tex2html59"
HREF="node22.html">Compatible software</A>
<UL>
<LI><A NAME="tex2html60"
HREF="node23.html">clamav-milter</A>
<LI><A NAME="tex2html61"
HREF="node24.html">mod_clamav</A>
<LI><A NAME="tex2html62"
HREF="node25.html">TrashScan</A>
<LI><A NAME="tex2html63"
HREF="node26.html">AMaViS - "Next Generation"</A>
<LI><A NAME="tex2html64"
HREF="node27.html">amavisd-new</A>
<LI><A NAME="tex2html65"
HREF="node28.html">Qmail-Scanner</A>
<LI><A NAME="tex2html66"
HREF="node29.html">Sagator</A>
<LI><A NAME="tex2html67"
HREF="node30.html">ClamdMail</A>
<LI><A NAME="tex2html68"
HREF="node31.html">BlackHole</A>
<LI><A NAME="tex2html69"
HREF="node32.html">MailScanner</A>
<LI><A NAME="tex2html70"
HREF="node33.html">MIMEDefang</A>
<LI><A NAME="tex2html71"
HREF="node34.html">Exiscan</A>
</UL>
<BR>
<LI><A NAME="tex2html72"
HREF="node35.html">LibClamAV</A>
<UL>
<LI><A NAME="tex2html73"
HREF="node36.html">API</A>
</UL>
<BR>
<LI><A NAME="tex2html74"
HREF="node37.html">Problem solving</A>
<UL>
<LI><A NAME="tex2html75"
HREF="node38.html">Return codes</A>
</UL>
<BR>
<LI><A NAME="tex2html76"
HREF="node39.html">Technicals</A>
<UL>
<LI><A NAME="tex2html77"
HREF="node40.html">Security</A>
<LI><A NAME="tex2html78"
HREF="node41.html">Scan engine</A>
</UL>
<BR>
<LI><A NAME="tex2html79"
HREF="node42.html">Credits</A>
<LI><A NAME="tex2html80"
HREF="node43.html">Authors</A>
<LI><A NAME="tex2html81"
HREF="node44.html">Bibliography</A>
<LI><A NAME="tex2html82"
HREF="node45.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,26 @@
# LaTeX2HTML 2K.1beta (1.48)
# Associate internals original text with physical files.
$key = q/clamd/;
$ref_files{$key} = "$dir".q|node17.html|;
$noresave{$key} = "$nosave";
$key = q/cite_acwww/;
$ref_files{$key} = "$dir".q|node44.html|;
$noresave{$key} = "$nosave";
$key = q/clamuko/;
$ref_files{$key} = "$dir".q|node18.html|;
$noresave{$key} = "$nosave";
$key = q/cite_clr/;
$ref_files{$key} = "$dir".q|node44.html|;
$noresave{$key} = "$nosave";
$key = q/engine/;
$ref_files{$key} = "$dir".q|node41.html|;
$noresave{$key} = "$nosave";
1;

View file

@ -0,0 +1,45 @@
# LaTeX2HTML 2K.1beta (1.48)
# Associate labels original text with physical files.
$key = q/clamd/;
$external_labels{$key} = "$URL/" . q|node17.html|;
$noresave{$key} = "$nosave";
$key = q/cite_acwww/;
$external_labels{$key} = "$URL/" . q|node44.html|;
$noresave{$key} = "$nosave";
$key = q/clamuko/;
$external_labels{$key} = "$URL/" . q|node18.html|;
$noresave{$key} = "$nosave";
$key = q/cite_clr/;
$external_labels{$key} = "$URL/" . q|node44.html|;
$noresave{$key} = "$nosave";
$key = q/engine/;
$external_labels{$key} = "$URL/" . q|node41.html|;
$noresave{$key} = "$nosave";
1;
# LaTeX2HTML 2K.1beta (1.48)
# labels from external_latex_labels array.
$key = q/clamd/;
$external_latex_labels{$key} = q|3.1|;
$noresave{$key} = "$nosave";
$key = q/clamuko/;
$external_latex_labels{$key} = q|3.2|;
$noresave{$key} = "$nosave";
$key = q/engine/;
$external_latex_labels{$key} = q|7.2|;
$noresave{$key} = "$nosave";
1;

View file

@ -0,0 +1,179 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Contents</TITLE>
<META NAME="description" CONTENT="Contents">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node2.html">
<LINK REL="previous" HREF="clamdoc.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node2.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html91"
HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html89"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html83"
HREF="clamdoc.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html92"
HREF="node2.html">Introduction</A>
<B> Up:</B> <A NAME="tex2html90"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html84"
HREF="clamdoc.html">clamdoc</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<BR>
<H2><A NAME="SECTION00010000000000000000">
Contents</A>
</H2>
<!--Table of Contents-->
<UL>
<LI><A NAME="tex2html93"
HREF="node2.html">Introduction</A>
<UL>
<LI><A NAME="tex2html94"
HREF="node3.html">Features</A>
<LI><A NAME="tex2html95"
HREF="node4.html">Mailing lists</A>
<LI><A NAME="tex2html96"
HREF="node5.html">Virus submitting</A>
</UL>
<BR>
<LI><A NAME="tex2html97"
HREF="node6.html">Installation</A>
<UL>
<LI><A NAME="tex2html98"
HREF="node7.html">Requirements</A>
<LI><A NAME="tex2html99"
HREF="node8.html">Supported platforms</A>
<LI><A NAME="tex2html100"
HREF="node9.html">Actual versions</A>
<LI><A NAME="tex2html101"
HREF="node10.html">Binary packages</A>
<LI><A NAME="tex2html102"
HREF="node11.html">Installation</A>
<LI><A NAME="tex2html103"
HREF="node12.html">Configuration</A>
<LI><A NAME="tex2html104"
HREF="node13.html">Testing</A>
<LI><A NAME="tex2html105"
HREF="node14.html">FreshClam: Setting up auto-updating</A>
<LI><A NAME="tex2html106"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
</UL>
<BR>
<LI><A NAME="tex2html107"
HREF="node16.html">Usage</A>
<UL>
<LI><A NAME="tex2html108"
HREF="node17.html">Clam daemon</A>
<LI><A NAME="tex2html109"
HREF="node18.html">Clamuko</A>
<LI><A NAME="tex2html110"
HREF="node19.html">Archives and compressed files</A>
<LI><A NAME="tex2html111"
HREF="node20.html">Output format</A>
<LI><A NAME="tex2html112"
HREF="node21.html">Signature Tool</A>
</UL>
<BR>
<LI><A NAME="tex2html113"
HREF="node22.html">Compatible software</A>
<UL>
<LI><A NAME="tex2html114"
HREF="node23.html">clamav-milter</A>
<LI><A NAME="tex2html115"
HREF="node24.html">mod_clamav</A>
<LI><A NAME="tex2html116"
HREF="node25.html">TrashScan</A>
<LI><A NAME="tex2html117"
HREF="node26.html">AMaViS - "Next Generation"</A>
<LI><A NAME="tex2html118"
HREF="node27.html">amavisd-new</A>
<LI><A NAME="tex2html119"
HREF="node28.html">Qmail-Scanner</A>
<LI><A NAME="tex2html120"
HREF="node29.html">Sagator</A>
<LI><A NAME="tex2html121"
HREF="node30.html">ClamdMail</A>
<LI><A NAME="tex2html122"
HREF="node31.html">BlackHole</A>
<LI><A NAME="tex2html123"
HREF="node32.html">MailScanner</A>
<LI><A NAME="tex2html124"
HREF="node33.html">MIMEDefang</A>
<LI><A NAME="tex2html125"
HREF="node34.html">Exiscan</A>
</UL>
<BR>
<LI><A NAME="tex2html126"
HREF="node35.html">LibClamAV</A>
<UL>
<LI><A NAME="tex2html127"
HREF="node36.html">API</A>
</UL>
<BR>
<LI><A NAME="tex2html128"
HREF="node37.html">Problem solving</A>
<UL>
<LI><A NAME="tex2html129"
HREF="node38.html">Return codes</A>
</UL>
<BR>
<LI><A NAME="tex2html130"
HREF="node39.html">Technicals</A>
<UL>
<LI><A NAME="tex2html131"
HREF="node40.html">Security</A>
<LI><A NAME="tex2html132"
HREF="node41.html">Scan engine</A>
</UL>
<BR>
<LI><A NAME="tex2html133"
HREF="node42.html">Credits</A>
<LI><A NAME="tex2html134"
HREF="node43.html">Authors</A>
<LI><A NAME="tex2html135"
HREF="node44.html">Bibliography</A>
<LI><A NAME="tex2html136"
HREF="node45.html">About this document ...</A>
</UL>
<!--End of Table of Contents-->
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,86 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Binary packages</TITLE>
<META NAME="description" CONTENT="Binary packages">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node11.html">
<LINK REL="previous" HREF="node9.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node11.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html253"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html249"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html243"
HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html251"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html254"
HREF="node11.html">Installation</A>
<B> Up:</B> <A NAME="tex2html250"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html244"
HREF="node9.html">Actual versions</A>
&nbsp <B> <A NAME="tex2html252"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00034000000000000000">
Binary packages</A>
</H2>
There are high quality <I>deb</I> and <I>rpm</I> packages available
for Linux. The Debian package is maintained by Magnus Ekdahl and you will
find it on debian mirrors, <TT><A NAME="tex2html6"
HREF="http://www.debian.org">http://www.debian.org</A></TT>.
The RPM package is maintained by Arkadiusz Miskiewicz and is distributed
with Polish(ed) Linux Distribution (<TT><A NAME="tex2html7"
HREF="ftp://ftp.pld.org.pl">ftp://ftp.pld.org.pl</A></TT>). There is
also the RPM package for Mandrake available, it's maintained by Oden
Eriksson and can be found on Mandrake mirrors.
The binary packages for AIX are available in AIX PDSLIB, UCLA
<TT><A NAME="tex2html8"
HREF="http://aixpdslib.seas.ucla.edu/packages/clamav.html">http://aixpdslib.seas.ucla.edu/packages/clamav.html</A></TT>. The official
FreeBSD port is maintained by Masahiro Teramoto. The unofficial port
for OpenBSD (maintained by Flin Mueller) is available at:
<BR> <TT><A NAME="tex2html9"
HREF="http://www.activeintra.net/openbsd/article.php?id=5">http://www.activeintra.net/openbsd/article.php?id=5</A></TT>.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,148 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Installation</TITLE>
<META NAME="description" CONTENT="Installation">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node12.html">
<LINK REL="previous" HREF="node10.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node12.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html265"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html261"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html255"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html263"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html266"
HREF="node12.html">Configuration</A>
<B> Up:</B> <A NAME="tex2html262"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html256"
HREF="node10.html">Binary packages</A>
&nbsp <B> <A NAME="tex2html264"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00035000000000000000">
Installation</A>
</H2>
<P>
Please read the README file in the current version, because it probably
contains some important release notes.
If you are installing Clam AV for the first time, you have to add a new user
and group to your system - <I>clamav</I>: <A NAME="tex2html10"
HREF="footnode.html#foot575"><SUP>2</SUP></A>
<P>
<PRE>
# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
</PRE>
<P>
The above method works on Linux and Solaris, if you don't have
<I>groupadd, useradd</I> please consult your system manual - the section
about creating new users and groups.
If you are not a system administrator or won't be using <B>clamscan</B>
in superuser mode, you may omit this step with the option
<I>-disable-clamav</I> passed to the <I>configure</I> script:
<PRE>
$ ./configure --disable-clamav
</PRE>
This disables test for the <I>clamav</I> user and group. <B>clamscan</B>
still requires <I>clamav</I> for superuser mode. Please don't set a password
on this account, just assure it's locked with "<B>!</B>" in
<I>/etc/passwd</I> or <I>/etc/shadow</I>. It must be a normal, unprivileged
user. Don't add it to any supplementary groups.
<BR>
<BR>
<P>
After you have created the clamav user/group, extract the archive:
<PRE>
$ zcat clamav-x.yz.tar.gz | tar xvf -
$ cd clamav-x.yz
</PRE>
Assuming you want the configuration file installed in /etc, configure
the package as follows:
<PRE>
$ ./configure --sysconfdir=/etc
</PRE>
Currently <I>gcc</I> is required for the compilation. Support for other
compilers will be added in a near future.
<PRE>
$ make
$ su -c "make install"
</PRE>
In the last step the software is installed in the /usr/local directory
and the config file in /etc.
<B>WARNING: Never set SUID/SGID bit on Clam AntiVirus programs.</B>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html265"
HREF="node12.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html261"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html255"
HREF="node10.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html263"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html266"
HREF="node12.html">Configuration</A>
<B> Up:</B> <A NAME="tex2html262"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html256"
HREF="node10.html">Binary packages</A>
&nbsp <B> <A NAME="tex2html264"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,150 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Configuration</TITLE>
<META NAME="description" CONTENT="Configuration">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node13.html">
<LINK REL="previous" HREF="node11.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node13.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html277"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html273"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html267"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html275"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html278"
HREF="node13.html">Testing</A>
<B> Up:</B> <A NAME="tex2html274"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html268"
HREF="node11.html">Installation</A>
&nbsp <B> <A NAME="tex2html276"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00036000000000000000">
Configuration</A>
</H2>
If you are going to use the daemon, you need to configure it.
<P>
<PRE>
$ clamd
ERROR: Please edit the example config file
/etc/clamav.conf.
</PRE>
<P>
Now you know, where the configuration file is located ;). The format and
options of this file are fully described in the <I>clamav.conf(5)</I>
manual. clamd configuration is rather easy, the config file is well
commented. Remember, you must remove the "Example" directive.
<P>
Another feature of clamd is on-access scanning based on the Dazuko module,
available from <TT><A NAME="tex2html11"
HREF="http://dazuko.org">http://dazuko.org</A></TT>. <B>This is not required to
run clamd, furthermore you shouldn't run Dazuko on production systems</B>.
A special thread in clamd responsible for the communication with Dazuko
is called "Clamuko" (it's due to the funny name of Dazuko - I don't know
what Clamuko means). Clamuko is supported on Linux 2.2 and 2.4 only.
Dazuko instalation:
<P>
<PRE>
$ tar zxpvf dazuko-a.b.c.tar.gz
$ cd dazuko-a.b.c
$ make dazuko
or
$ make dazuko-smp (for smp kernels)
$ su
# insmod dazuko.o
# cp dazuko.o /lib/modules/`uname -r`/misc
# depmod -a
</PRE>
<P>
Depending on your Linux distribution you have to add "dazuko" entry to
<BR> <I>/etc/modules</I> or the following line:
<PRE>
modprobe dazuko
</PRE>
to some startup file to load dazuko at the boot time. You must also create
the <I>/dev/dazuko</I> device:
<PRE>
$ cat /proc/devices | grep dazuko
254 dazuko
$ su -c "mknod -m 600 /dev/dazuko c 254 0"
</PRE>
Now you must configure Clamuko in <I>clamav.conf</I>. Please check
<A HREF="node18.html#clamuko">3.2</A> section.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html277"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html273"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html267"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html275"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html278"
HREF="node13.html">Testing</A>
<B> Up:</B> <A NAME="tex2html274"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html268"
HREF="node11.html">Installation</A>
&nbsp <B> <A NAME="tex2html276"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,85 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Testing</TITLE>
<META NAME="description" CONTENT="Testing">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node14.html">
<LINK REL="previous" HREF="node12.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node14.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html289"
HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html285"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html279"
HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html287"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html290"
HREF="node14.html">FreshClam: Setting up auto-updating</A>
<B> Up:</B> <A NAME="tex2html286"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html280"
HREF="node12.html">Configuration</A>
&nbsp <B> <A NAME="tex2html288"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00037000000000000000">
Testing</A>
</H2>
<P>
OK. Let's do some tests. Try to scan the source directory recursively:
<PRE>
$ clamscan -r -l scan.txt clamav-x.yz
</PRE>
It should find the viruses in the clamav-x.yz/test directory. You may
check it in the created log - scan.txt. <B>You will find more about
clamscan options in the clamscan(1) manual. <A NAME="tex2html12"
HREF="footnode.html#foot576"><SUP>3</SUP></A></B>
To test clamd first start it and then use clamdscan (you can also connect
directly to clamd and run the SCAN command):
<PRE>
$ clamdscan -l scan.txt clamav-x.yz
</PRE>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,137 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>FreshClam: Setting up auto-updating</TITLE>
<META NAME="description" CONTENT="FreshClam: Setting up auto-updating">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node15.html">
<LINK REL="previous" HREF="node13.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node15.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html301"
HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html297"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html291"
HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html299"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html302"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
<B> Up:</B> <A NAME="tex2html298"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html292"
HREF="node13.html">Testing</A>
&nbsp <B> <A NAME="tex2html300"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00038000000000000000">
FreshClam: Setting up auto-updating</A>
</H2>
The <I>freshclam</I> utility is the default database updater for Clam
AntiVirus. It works in two modes:
<UL>
<LI>interactive - from command line
</LI>
<LI>as a daemon - works alone, silently
</LI>
</UL>
When started by the superuser it drops the privileges, by default it works
as <I>clamav</I>. <I>freshclam</I> downloads the database from the Clam
AntiVirus homepage and checks its consistency using MD5 sum.
process for Clam AntiVirus.
<B>Run <I>freshclam</I> (as root) without any parameters to check
is it working correctly</B>. If everything is OK, create the log file in
/var/log owned by <I>clamav</I>:
<PRE>
# touch /var/log/clam-update.log
# chmod 600 /var/log/clam-update.log
# chown clamav /var/log/clam-update.log
</PRE>
Now you can run <I>freshclam</I> as a daemon:
<PRE>
# freshclam -d -c 2 -l /var/log/clam-update.log
</PRE>
It will check for a new database 2 times a day. Please add the above line
to your startup scripts. The other way is to use the <I>cron</I> daemon.
You have to add a similar line to the crontab of <B>root</B> or
<B>clamav</B>:
<FONT SIZE="-1"> </FONT><PRE>
0 8 * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log
</PRE>
It will check for a new database daily at 8 am. You may need
to setup the proxy support on your system. You should set the environment
variable <I>$http_proxy</I>, eg.
<PRE>
export http_proxy="my.proxy.server:8080"
</PRE>
There is also <I>-http-proxy</I> and <I>-proxy-user</I> option available.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html301"
HREF="node15.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html297"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html291"
HREF="node13.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html299"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html302"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
<B> Up:</B> <A NAME="tex2html298"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html292"
HREF="node13.html">Testing</A>
&nbsp <B> <A NAME="tex2html300"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,92 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>FreshClam: Mirrors and mirrors.txt</TITLE>
<META NAME="description" CONTENT="FreshClam: Mirrors and mirrors.txt">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node14.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node16.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html311"
HREF="node16.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html307"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html303"
HREF="node14.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html309"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html312"
HREF="node16.html">Usage</A>
<B> Up:</B> <A NAME="tex2html308"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html304"
HREF="node14.html">FreshClam: Setting up auto-updating</A>
&nbsp <B> <A NAME="tex2html310"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00039000000000000000">
FreshClam: Mirrors and mirrors.txt</A>
</H2>
The main server is <TT><A NAME="tex2html13"
HREF="clamav.elektrapro.com">clamav.elektrapro.com</A></TT> and there are the following
mirrors available:
<UL>
<LI><TT><A NAME="tex2html14"
HREF="clamav.ozforces.com">clamav.ozforces.com</A></TT> - database mirror updated manually
</LI>
<LI><TT><A NAME="tex2html15"
HREF="clamav.essentkabel.com">clamav.essentkabel.com</A></TT> - full mirror of the main site
updated automatically
</LI>
<LI><TT><A NAME="tex2html16"
HREF="clamav.linux-sxs.org">clamav.linux-sxs.org</A></TT> - database mirror (rsync from ozforces)
</LI>
</UL>
In the database directory you will find <I>mirror.txt</I> file, which
freshclam reads each time it tries to download the new database. It
uses the first server from the file and switches to another one (and
remembers that position for some time) when the previous is not available.
You can modify that file if you will find some mirror faster, however
this is not recommended.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,87 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Usage</TITLE>
<META NAME="description" CONTENT="Usage">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node22.html">
<LINK REL="previous" HREF="node6.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node17.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html323"
HREF="node17.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html319"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html313"
HREF="node15.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html321"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html324"
HREF="node17.html">Clam daemon</A>
<B> Up:</B> <A NAME="tex2html320"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html314"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
&nbsp <B> <A NAME="tex2html322"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000">
Usage</A>
</H1>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html325"
HREF="node17.html">Clam daemon</A>
<LI><A NAME="tex2html326"
HREF="node18.html">Clamuko</A>
<LI><A NAME="tex2html327"
HREF="node19.html">Archives and compressed files</A>
<LI><A NAME="tex2html328"
HREF="node20.html">Output format</A>
<LI><A NAME="tex2html329"
HREF="node21.html">Signature Tool</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,152 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Clam daemon</TITLE>
<META NAME="description" CONTENT="Clam daemon">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node18.html">
<LINK REL="previous" HREF="node16.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node18.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html340"
HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html336"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html330"
HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html338"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html341"
HREF="node18.html">Clamuko</A>
<B> Up:</B> <A NAME="tex2html337"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html331"
HREF="node16.html">Usage</A>
&nbsp <B> <A NAME="tex2html339"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00041000000000000000"></A><A NAME="clamd"></A>
<BR>
Clam daemon
</H2>
<I>clamd</I> is a fully multi-threaded daemon, based on <I>libclamav</I>.
It's able to work in one of the two modes, using:
<UL>
<LI>Unix (local) sockets
</LI>
<LI>TCP sockets
</LI>
</UL>
The daemon is configured by the <I>clamav.conf</I> file. You will find
a description of all the options in the <B>clamav.conf(5)</B> manual.
<I>clamd</I> recognizes the following commands:
<UL>
<LI><B>PING</B>
<BR>
Check server's state. It should reply with "PONG".
</LI>
<LI><B>VERSION</B>
<BR>
Print the version information.
</LI>
<LI><B>RELOAD</B>
<BR>
Reload the databases.
</LI>
<LI><B>QUIT</B>
<BR>
Perform a clean exit.
</LI>
<LI><B>SCAN file/directory</B>
Scan a file or directory (recursively) with archive support. A
full path is required.
</LI>
<LI><B>RAWSCAN file/directory</B>
Scan a file or directory (recursively) with archive support
disabled. A full path is required.
</LI>
<LI><B>CONTSCAN file/directory</B>
Scan a file or directory (recursively) with archive
support enabled and continue scanning even when
virus was found. A full path is required.
</LI>
<LI><B>STREAM</B>
Scan stream - on this command clamd will return "PORT number"
and you can connect to that port and send a data to scan.
<P>
</LI>
</UL>
Internal threads (except clamuko) are ignoring all external signals.
The main thread handles <I>SIGTERM</I> and <I>SIGINT</I> signals
and performs a proper exit when one of them is caught.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html340"
HREF="node18.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html336"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html330"
HREF="node16.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html338"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html341"
HREF="node18.html">Clamuko</A>
<B> Up:</B> <A NAME="tex2html337"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html331"
HREF="node16.html">Usage</A>
&nbsp <B> <A NAME="tex2html339"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,134 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Clamuko</TITLE>
<META NAME="description" CONTENT="Clamuko">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node19.html">
<LINK REL="previous" HREF="node17.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node19.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html352"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html348"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342"
HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html350"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html353"
HREF="node19.html">Archives and compressed files</A>
<B> Up:</B> <A NAME="tex2html349"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html343"
HREF="node17.html">Clam daemon</A>
&nbsp <B> <A NAME="tex2html351"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00042000000000000000"></A><A NAME="clamuko"></A>
<BR>
Clamuko
</H2>
Clamuko is a special thread in <I>clamd</I>, that performs on-access
scanning under Linux. It was implemented as a thread in clamd because
of Dazuko implementation. Client (clamuko) - server (clamd) model is
currently not supported by Dazuko. There are some benefits from
current implementation - clamuko is sharing the database with clamd,
and it's updated with the RELOAD command. <B>You must obey the
following principles when using clamuko:</B>
<UL>
<LI>Always stop the daemon cleanly, with QUIT command or
SIGTERM signal. In other case, you can lose an access
to the protected files until the system is restarted.
</LI>
<LI>Never protect the directory your mail-scanner software
uses for attachments unpacking. Access to all infected
files will be blocked, and the scanner (even clamd)
won't be able to detect a virus. Infected mail will be
delivered.
</LI>
</UL>
You need to enable clamuko in <I>clamav.conf</I>. To protect directory
/home, please use the option:
<PRE>
ClamukoIncludePath /home
</PRE>
To protect the whole system:
<PRE>
ClamukoIncludePath /
ClamukoExcludePath /proc
ClamukoExcludePath /tempdir/of/mail/scanner
</PRE>
You can use clamuko to protect file access on Samba/Netatalk. NFS
is not supported (Dazuko doesn't intercept NFS access calls). Another
idea - you can build a database containing a signatures of the popular
exploits, it will protect you against script-kiddies.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html352"
HREF="node19.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html348"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html342"
HREF="node17.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html350"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html353"
HREF="node19.html">Archives and compressed files</A>
<B> Up:</B> <A NAME="tex2html349"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html343"
HREF="node17.html">Clam daemon</A>
&nbsp <B> <A NAME="tex2html351"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,183 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Archives and compressed files</TITLE>
<META NAME="description" CONTENT="Archives and compressed files">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node20.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html364"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html360"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html354"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html362"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html365"
HREF="node20.html">Output format</A>
<B> Up:</B> <A NAME="tex2html361"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html355"
HREF="node18.html">Clamuko</A>
&nbsp <B> <A NAME="tex2html363"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00043000000000000000">
Archives and compressed files</A>
</H2>
Clam AntiVirus depends on LibClamAV. It has built-in support for the
following formats:
<UL>
<LI>Zip
</LI>
<LI>Gzip
</LI>
<LI>RAR (2.0 only)
</LI>
</UL>
Archive files are detected by checking a magic strings.<A NAME="tex2html17"
HREF="footnode.html#foot233"><SUP>4</SUP></A> You need the zlib library for the Zip/Gzip support. Zip archives are
accessed with the zziplib library by Guido Draheim and Tomi Ollila.
RAR support is based on the UniquE RAR File Library by Christian Scheurer
and Johannes Winkelmann. Both of them are included and slightly modified
in the clamav sources. Unrarlib supports RAR 2.0 archives only and
according to Christian the new format (introduced in WinRAR 3.0) won't
be supported.
<P>
The daemon scans archives supported by libclamav only. Clamscan tries
to scan an archive with built-in code, but when it fails it's able
to switch to the external unpacker:
<PRE>
$ clamscan --unrar rarfail.rar
/home/zolw/Clam/test/rarfail.rar: RAR module failure.
UNRAR 3.00 freeware Copyright (c) 1993-2002 Eugene Roshal
Extracting from /home/zolw/Clam/test/rarfail.rar
Extracting test1 OK
All OK
/tmp/44694f5b2665d2f4/test1: ClamAV-Test-Signature FOUND
/home/zolw/Clam/test/rarfail.rar: Infected Archive FOUND
</PRE>
<P>
clamscan supports many popular compressors - it uses external programs
for each format. <B>If the scanner runs with superuser privileges
unpackers are executed with <I>clamav</I> privileges, which makes the
process far more secure.</B> It also makes sure, that <I>clamav</I> user
has read access to all scanned compressed files. <B>You should have
enabled recursive scanning with the <I>-r</I> option (<I>-recursive</I>),
if you want to scan the whole content of the archive (with subdirectories)</B>,
also all archives in archives will be recursively scanned - just everything. If files in archives are virus free the archive itself is scanned - just
for prevention (it may not be an archive). Please look at the options
below, each option has an optional argument - the absolute path to unpacker.
If it can't be found in <I>$PATH</I> please supply it. <I>Because Clam
AntiVirus uses the standard GNU options format, the long options with
optional arguments, you <B>must</B> remember about the <IMG
WIDTH="20" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$=$"> between option
and argument. So the proper way to supply the optional arguments is for
example -unzip=/path/to/unzip.</I> <BR>
<BR>
<P>
<B>-unzip: </B> You probably don't need this option, because Zip is supported
by libclamav. But if libclamav will fail to unzip some file,
it may be useful.
clamscan was tested with <I>UnZip 5.41 of 16 April 2000,
by Info-ZIP</I>.
<BR> <B>-unrar: </B> Tested with <I>UNRAR 3.00 freeware</I>.
<BR> <B>-unace: </B> It uses options supported by <I>UNACE v1.2 public version</I>,
not tested, but should work.
<BR> <B>-arj: </B> Tested with <I>arj 3.10b</I>.
<BR> <B>-zoo: </B> Tested with <I>zoo 2.1</I>.
<BR> <B>-lha: </B> Tested with <I>LHa for Unix V 1.14e</I>.
<BR> <B>-jar: </B> CA uses <I>unzip</I> for .jar files. Tested with <I>UnZip 5.41
of 16 April 2000, by Info-ZIP</I>.
<BR> <B>-tar: </B> This option supports non-compressed archives. Tested with
<I>GNU tar 1.13.17</I>.
<BR> <B>-deb: </B> This option supports debian binary packages. Tested with
<I>GNU ar
<BR>
2.12.90.0.14</I>. Implies -tgz , but doesn't conflict
with -tgz=FULLPATH.
<BR> <B>-tgz: </B> This option supports .tar.gz and .tgz files. You need <I>GNU
tar</I>, on non-Linux system you probably have it as <I>gtar</I>
and if this is in <I>$PATH</I> just use <I>-tgz=gtar</I> or
supply the full path to this command as an argument.
<BR>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html364"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html360"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html354"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html362"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html365"
HREF="node20.html">Output format</A>
<B> Up:</B> <A NAME="tex2html361"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html355"
HREF="node18.html">Clamuko</A>
&nbsp <B> <A NAME="tex2html363"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,94 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Introduction</TITLE>
<META NAME="description" CONTENT="Introduction">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node6.html">
<LINK REL="previous" HREF="node1.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node3.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html147"
HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html143"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html137"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html145"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html148"
HREF="node3.html">Features</A>
<B> Up:</B> <A NAME="tex2html144"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html138"
HREF="node1.html">Contents</A>
&nbsp <B> <A NAME="tex2html146"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00020000000000000000">
Introduction</A>
</H1>
<P>
Clam AntiVirus is an anti-virus toolkit for UNIX. The main purpose of this
software is the integration with mail servers (attachment scanning).
The package provides a flexible and scalable multi-threaded daemon, a
command line scanner, and a tool for automatic updating via Internet. The
programs are based on a shared library distributed with the Clam AntiVirus
package, which you can use with your own software. The virus database
is based on the virus database from OpenAntiVirus.org, but contains
additional signatures (including signatures for popular polymorphic viruses,
too) and is <B>kept up to date</B>.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html149"
HREF="node3.html">Features</A>
<LI><A NAME="tex2html150"
HREF="node4.html">Mailing lists</A>
<LI><A NAME="tex2html151"
HREF="node5.html">Virus submitting</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,144 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Output format</TITLE>
<META NAME="description" CONTENT="Output format">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node21.html">
<LINK REL="previous" HREF="node19.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node21.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html376"
HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html372"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html366"
HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html374"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html377"
HREF="node21.html">Signature Tool</A>
<B> Up:</B> <A NAME="tex2html373"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html367"
HREF="node19.html">Archives and compressed files</A>
&nbsp <B> <A NAME="tex2html375"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00044000000000000000">
Output format</A>
</H2>
<I>clamd</I> uses clamscan compatible (see below) output format.
<PRE>
zolw@Wierszokleta:~$ telnet localhost 3310
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SCAN /home/zolw/infected
/home/zolw/infected/sobre.com: W32/Magistr.B FOUND
Connection closed by foreign host.
</PRE>
In <B>SCAN</B> mode it closes the connection when first virus is found.
In the case of archives, the output is exactly the same as with normal
files:
<PRE>
SCAN /home/zolw/Clam/test/test2.zip
/home/zolw/Clam/test/test2.zip: ClamAV-Test-Signature FOUND
</PRE>
<B>CONTSCAN</B> displays all infected files found.
<BR>
Error messages are printed in the following format:
<PRE>
SCAN /no/such/file
/no/such/file: Can't stat() the file ERROR
</PRE>
and they can be easily parsed.
<P>
<I>clamscan</I> writes all messages (only help is written to <B>stdout</B> by default) to <B>stderr</B>. In some situations
you may want to redirect it to <B>stdout</B> with <I>-stdout</I>.
<I>stdout</I> in contrast to <I>stderr</I> is buffered, that's why
<I>clamscan</I> flushes this buffer after each message, to prevent
the creation of trashes on the output. During scanning it writes something
like this:
<PRE>
/TEST/test: OK
/TEST/Makefile: OK
/TEST/getopt.c: OK
/TEST/virfile: Phantom #1 FOUND
</PRE>
When a virus is found, its name is printed between <I>filename:</I> and
<I>FOUND</I>.
If a virus is found in an archive scanned with an external unpacker
it's noticed with <I>Infected Archive</I>. "Infected Archives" are not
counted as infected files - just files in them are. Please note the
difference between an internal unarchiving - because it's realized
transparently by the libclamav, clamscan doesn't even know the file is
an archive.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html376"
HREF="node21.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html372"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html366"
HREF="node19.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html374"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html377"
HREF="node21.html">Signature Tool</A>
<B> Up:</B> <A NAME="tex2html373"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html367"
HREF="node19.html">Archives and compressed files</A>
&nbsp <B> <A NAME="tex2html375"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,120 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Signature Tool</TITLE>
<META NAME="description" CONTENT="Signature Tool">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node20.html">
<LINK REL="up" HREF="node16.html">
<LINK REL="next" HREF="node22.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html386"
HREF="node22.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html382"
HREF="node16.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html378"
HREF="node20.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html384"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html387"
HREF="node22.html">Compatible software</A>
<B> Up:</B> <A NAME="tex2html383"
HREF="node16.html">Usage</A>
<B> Previous:</B> <A NAME="tex2html379"
HREF="node20.html">Output format</A>
&nbsp <B> <A NAME="tex2html385"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00045000000000000000">
Signature Tool</A>
</H2>
<I>sigtool</I> automates signature creation. If you have an infected file,
which isn't detected by ClamAV, but it is by another anti-virus scanner
working in the console, you can create the signature easily.
<I>Example of usage:</I>
Create a random file and put the <B>test1</B> file content into it. We
will use <I>clamscan</I> to generate the signature, it's just an example.
Scan it with <I>clamscan -stdout testfile</I>, the output is
<PRE>
testfile: ClamAV-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 7734
Scanned directories: 0
Scanned files: 1
Data scanned: 0.95 Mb
Infected files: 1
I/O buffer size: 131072 bytes
Time: 0.245 sec (0 m 0 s)
</PRE>
The unique string in this output is "ClamAV-Test-Signature". Run
<I>sigtool</I> with the following parameters:
<PRE>
$ sigtool -c "clamscan --stdout" -f testfile -s "ClamAV-Test"
</PRE>
The program will concatenate arguments for <I>-c (-command)</I> and
<I>-f (-file)</I>, that's why the scanner's options must be given in the
proper order. At the end it will generate a file <I>testfile.sig</I>,
which should contain 100 bytes in our example. It contains the proper
signature.
<PRE>
...
...
Detected at 12103, moving backward.
Detected at 11983, moving backward.
Detected at 11923, moving backward.
Not detected, increasing pos 11893 -&gt; 11923
Detected at 11923, moving backward.
Not detected, increasing pos 11908 -&gt; 11923
Detected at 11923, moving backward.
Not detected, increasing pos 11915 -&gt; 11923
Detected at 11923, moving backward.
Detected at 11919, moving backward.
Detected at 11917, moving backward.
Detected at 11916, moving backward.
Starting precise loop
*** Found signature end at 11916
The scanner was executed 46 times.
Signature length is 50, so length of hex string should be 100
Saving signature in testfile.sig file.
</PRE>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,104 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Compatible software</TITLE>
<META NAME="description" CONTENT="Compatible software">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node35.html">
<LINK REL="previous" HREF="node16.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node23.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html398"
HREF="node23.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html394"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html388"
HREF="node21.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html396"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html399"
HREF="node23.html">clamav-milter</A>
<B> Up:</B> <A NAME="tex2html395"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html389"
HREF="node21.html">Signature Tool</A>
&nbsp <B> <A NAME="tex2html397"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00050000000000000000">
Compatible software</A>
</H1>
The following software supports ClamAV. It's specified which elements
are supported, please note that if the program doesn't
support clamd you can use clamdscan instead of clamscan.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html400"
HREF="node23.html">clamav-milter</A>
<LI><A NAME="tex2html401"
HREF="node24.html">mod_clamav</A>
<LI><A NAME="tex2html402"
HREF="node25.html">TrashScan</A>
<LI><A NAME="tex2html403"
HREF="node26.html">AMaViS - "Next Generation"</A>
<LI><A NAME="tex2html404"
HREF="node27.html">amavisd-new</A>
<LI><A NAME="tex2html405"
HREF="node28.html">Qmail-Scanner</A>
<LI><A NAME="tex2html406"
HREF="node29.html">Sagator</A>
<LI><A NAME="tex2html407"
HREF="node30.html">ClamdMail</A>
<LI><A NAME="tex2html408"
HREF="node31.html">BlackHole</A>
<LI><A NAME="tex2html409"
HREF="node32.html">MailScanner</A>
<LI><A NAME="tex2html410"
HREF="node33.html">MIMEDefang</A>
<LI><A NAME="tex2html411"
HREF="node34.html">Exiscan</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>clamav-milter</TITLE>
<META NAME="description" CONTENT="clamav-milter">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node24.html">
<LINK REL="previous" HREF="node22.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node24.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html422"
HREF="node24.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html418"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html412"
HREF="node22.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html420"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html423"
HREF="node24.html">mod_clamav</A>
<B> Up:</B> <A NAME="tex2html419"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html413"
HREF="node22.html">Compatible software</A>
&nbsp <B> <A NAME="tex2html421"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00051000000000000000">
clamav-milter</A>
</H2>
<B>Location:</B> included in clamav package
<BR> <B>Supports:</B> clamd
<BR>
clamav-milter by Nigel Horne is a very fast email scanner designed for
sendmail. It's entirely written in C and uses ClamAV's internal mail
scanner (also written by Nigel).
<BR> <B>Installation:</B>
<BR>
You need libmilter development files. Configure ClamAV with
<PRE>
$ ./configure --enable-milter
</PRE>
and recompile. The program will be installed in
/usr/local/sbin/clamav-milter. The following instructions were adopted
from Nigel's INSTALL file: add to /etc/mail/sendmail.mc:
<PRE>
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clmilter.sock,
F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')
</PRE>
Check entries in clamav.conf of the form:
<PRE>
LocalSocket /var/run/clamd.sock
ScanMail
SaveStreamToDisk
</PRE>
Start clamav-milter:
<PRE>
/usr/local/sbin/clamav-milter -blo /var/run/clmilter.sock
</PRE>
and restart sendmail.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>mod_clamav</TITLE>
<META NAME="description" CONTENT="mod_clamav">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node25.html">
<LINK REL="previous" HREF="node23.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node25.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html434"
HREF="node25.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html430"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html424"
HREF="node23.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html432"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html435"
HREF="node25.html">TrashScan</A>
<B> Up:</B> <A NAME="tex2html431"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html425"
HREF="node23.html">clamav-milter</A>
&nbsp <B> <A NAME="tex2html433"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00052000000000000000">
mod_clamav</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html18"
HREF="http://software.othello.ch/mod_clamav">http://software.othello.ch/mod_clamav</A></TT>
<BR> <B>Supports:</B> libclamav, clamd
<BR>
mod_clamav is an Apache virus scanning filter. It was written
and is currently maintained by Andreas Müller. The project is very well
documented and the installation is quite easy.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>TrashScan</TITLE>
<META NAME="description" CONTENT="TrashScan">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node26.html">
<LINK REL="previous" HREF="node24.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node26.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html446"
HREF="node26.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html442"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html436"
HREF="node24.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html444"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html447"
HREF="node26.html">AMaViS - "Next Generation"</A>
<B> Up:</B> <A NAME="tex2html443"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html437"
HREF="node24.html">mod_clamav</A>
&nbsp <B> <A NAME="tex2html445"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00053000000000000000">
TrashScan</A>
</H2>
<B>Location:</B> clamav-sources/support/trashscan
<BR> <B>Supports:</B> clamscan
<BR>
<P>
This is a procmail based scanner from Trashware and it's extremely
easy to setup, however this is for single users only and not as
efficient as MTA based scanners.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,91 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>AMaViS - "Next Generation"</TITLE>
<META NAME="description" CONTENT="AMaViS - "Next Generation"">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node27.html">
<LINK REL="previous" HREF="node25.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node27.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html458"
HREF="node27.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html454"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html448"
HREF="node25.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html456"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html459"
HREF="node27.html">amavisd-new</A>
<B> Up:</B> <A NAME="tex2html455"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html449"
HREF="node25.html">TrashScan</A>
&nbsp <B> <A NAME="tex2html457"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00054000000000000000">
AMaViS - "Next Generation"</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html19"
HREF="http://sourceforge.net/projects/amavis">http://sourceforge.net/projects/amavis</A></TT>
<BR> <B>Supports:</B> clamscan
<BR>
AMaViS-ng is a rewritten, more modular version of amavis-perl/amavisd,
developed by Hilko Bengen. Home site:
<BR> <B>Installation:</B>
<BR>
<P>
Please download the newest version (at least 0.1.4).
After installation (which is quite easy), please uncomment the following
line in amavis.conf:
<PRE>
virus-scanner = CLAM
</PRE>
and eventually change the path to clamscan in the <I>[CLAM]</I> section:
<PRE>
[CLAM]
clamscan = /usr/local/bin/clamscan
</PRE>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,81 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>amavisd-new</TITLE>
<META NAME="description" CONTENT="amavisd-new">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node28.html">
<LINK REL="previous" HREF="node26.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node28.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html470"
HREF="node28.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html466"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html460"
HREF="node26.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html468"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html471"
HREF="node28.html">Qmail-Scanner</A>
<B> Up:</B> <A NAME="tex2html467"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html461"
HREF="node26.html">AMaViS - "Next Generation"</A>
&nbsp <B> <A NAME="tex2html469"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00055000000000000000">
amavisd-new</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html20"
HREF="http://www.ijs.si/software/amavisd">http://www.ijs.si/software/amavisd</A></TT>
<BR> <B>Supports:</B> clamd, clamscan
<BR>
amavisd-new is a rewritten version of amavis maintained by
Mark Martinec.
<BR> <B>Installation:</B>
<BR>
clamscan is enabled automatically if clamscan binary is found
at amavisd-new starup time. clamd is activated by uncommenting
its entry in the @av_scanners list, file /etc/amavisd.conf.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Qmail-Scanner</TITLE>
<META NAME="description" CONTENT="Qmail-Scanner">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node29.html">
<LINK REL="previous" HREF="node27.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node29.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html482"
HREF="node29.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html478"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html472"
HREF="node27.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html480"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html483"
HREF="node29.html">Sagator</A>
<B> Up:</B> <A NAME="tex2html479"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html473"
HREF="node27.html">amavisd-new</A>
&nbsp <B> <A NAME="tex2html481"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00056000000000000000">
Qmail-Scanner</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html21"
HREF="http://qmail-scanner.sf.net">http://qmail-scanner.sf.net</A></TT>
<BR> <B>Supports:</B> clamscan
<BR>
You must increase softlimit value or wait for a daemon support.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,78 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Sagator</TITLE>
<META NAME="description" CONTENT="Sagator">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node30.html">
<LINK REL="previous" HREF="node28.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node30.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html494"
HREF="node30.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html490"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html484"
HREF="node28.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html492"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html495"
HREF="node30.html">ClamdMail</A>
<B> Up:</B> <A NAME="tex2html491"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html485"
HREF="node28.html">Qmail-Scanner</A>
&nbsp <B> <A NAME="tex2html493"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00057000000000000000">
Sagator</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html22"
HREF="http://www.salstar.sk/sagator">http://www.salstar.sk/sagator</A></TT>
<BR> <B>Supports:</B> clamscan, clamd, libclamav
<BR>
This program is an email antivirus/antispam gateway. It is an interface
to the postfix (or any other smtpd), which runs antivirus
and/or spamchecker. Its modular architecture can use any
combination of antivirus/spamchecker according to configuration.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,96 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Features</TITLE>
<META NAME="description" CONTENT="Features">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node4.html">
<LINK REL="previous" HREF="node2.html">
<LINK REL="up" HREF="node2.html">
<LINK REL="next" HREF="node4.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html162"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html158"
HREF="node2.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html152"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html160"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html163"
HREF="node4.html">Mailing lists</A>
<B> Up:</B> <A NAME="tex2html159"
HREF="node2.html">Introduction</A>
<B> Previous:</B> <A NAME="tex2html153"
HREF="node2.html">Introduction</A>
&nbsp <B> <A NAME="tex2html161"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00021000000000000000">
Features</A>
</H2>
<P>
<UL>
<LI>GNU GPL v2 license
</LI>
<LI>POSIX compliant, portable
</LI>
<LI>Secure
</LI>
<LI>Very fast
</LI>
<LI>Multi-threaded
</LI>
<LI>User friendly
</LI>
<LI>On-access scanning (Linux only)
</LI>
<LI>Detects over 7000 viruses, worms and trojans
</LI>
<LI>Supports compressed files and archives
</LI>
<LI>Built-in support for RAR (2.0), Zip, Gzip, Bzip2
</LI>
</UL>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>ClamdMail</TITLE>
<META NAME="description" CONTENT="ClamdMail">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node31.html">
<LINK REL="previous" HREF="node29.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node31.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html506"
HREF="node31.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html502"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html496"
HREF="node29.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html504"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html507"
HREF="node31.html">BlackHole</A>
<B> Up:</B> <A NAME="tex2html503"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html497"
HREF="node29.html">Sagator</A>
&nbsp <B> <A NAME="tex2html505"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00058000000000000000">
ClamdMail</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html23"
HREF="http://clamdmail.sf.net">http://clamdmail.sf.net</A></TT>
<BR> <B>Supports:</B> clamd
<BR>
A mail processing client for ClamAV. Small, fast and easy to install.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>BlackHole</TITLE>
<META NAME="description" CONTENT="BlackHole">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node32.html">
<LINK REL="previous" HREF="node30.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node32.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html518"
HREF="node32.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html514"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html508"
HREF="node30.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html516"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html519"
HREF="node32.html">MailScanner</A>
<B> Up:</B> <A NAME="tex2html515"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html509"
HREF="node30.html">ClamdMail</A>
&nbsp <B> <A NAME="tex2html517"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00059000000000000000">
BlackHole</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html24"
HREF="http://www.groovy.org/blackhole.shtml">http://www.groovy.org/blackhole.shtml</A></TT>
<BR> <B>Supports:</B> clamscan, clamd
<BR>
BlackHole is an advanced spam / virus filter for Qmail, Postfix, Sendmail,
Exim and Courier written by Chris Kennedy. This tool is for advanced
administrators (installation is hard).
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,78 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>MailScanner</TITLE>
<META NAME="description" CONTENT="MailScanner">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node33.html">
<LINK REL="previous" HREF="node31.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node33.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html530"
HREF="node33.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html526"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html520"
HREF="node31.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html528"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html531"
HREF="node33.html">MIMEDefang</A>
<B> Up:</B> <A NAME="tex2html527"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html521"
HREF="node31.html">BlackHole</A>
&nbsp <B> <A NAME="tex2html529"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000510000000000000000">
MailScanner</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html25"
HREF="http://www.mailscanner.info">http://www.mailscanner.info</A></TT>
<BR> <B>Supports:</B> clamscan
<BR>
MailScanner scans all e-mail for viruses, spam and attacks against
security vulnerabilities. It is not tied to any particular virus
scanner, but can be used with any combination of 14 different virus
scanners, allowing sites to choose the "best of breed" virus scanner.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>MIMEDefang</TITLE>
<META NAME="description" CONTENT="MIMEDefang">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node34.html">
<LINK REL="previous" HREF="node32.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node34.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html542"
HREF="node34.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html538"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html532"
HREF="node32.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html540"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html543"
HREF="node34.html">Exiscan</A>
<B> Up:</B> <A NAME="tex2html539"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html533"
HREF="node32.html">MailScanner</A>
&nbsp <B> <A NAME="tex2html541"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000511000000000000000">
MIMEDefang</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html26"
HREF="http://www.roaringpenguin.com/mimedefang">http://www.roaringpenguin.com/mimedefang</A></TT>
<BR> <B>Supports:</B> clamscan, clamd
<BR>
This is an efficient mail scanner for Sendmail/milter.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Exiscan</TITLE>
<META NAME="description" CONTENT="Exiscan">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node33.html">
<LINK REL="up" HREF="node22.html">
<LINK REL="next" HREF="node35.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html552"
HREF="node35.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html548"
HREF="node22.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html544"
HREF="node33.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html550"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html553"
HREF="node35.html">LibClamAV</A>
<B> Up:</B> <A NAME="tex2html549"
HREF="node22.html">Compatible software</A>
<B> Previous:</B> <A NAME="tex2html545"
HREF="node33.html">MIMEDefang</A>
&nbsp <B> <A NAME="tex2html551"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000512000000000000000">
Exiscan</A>
</H2>
<B>Location:</B> <TT><A NAME="tex2html27"
HREF="http://duncanthrax.net/exiscan">http://duncanthrax.net/exiscan</A></TT>
<BR> <B>Supports:</B> clamscan, clamd
<BR>
exiscan is a patch against exim version 4, providing support for content
scanning in email messages received by exim. Four different scanning
facilities are supported: antivirus, antispam, regular expressions, and
file extensions.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,82 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>LibClamAV</TITLE>
<META NAME="description" CONTENT="LibClamAV">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node37.html">
<LINK REL="previous" HREF="node22.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node36.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html564"
HREF="node36.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html560"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html554"
HREF="node34.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html562"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html565"
HREF="node36.html">API</A>
<B> Up:</B> <A NAME="tex2html561"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html555"
HREF="node34.html">Exiscan</A>
&nbsp <B> <A NAME="tex2html563"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00060000000000000000">
LibClamAV</A>
</H1>
libclamav may be used to add a virus protection into your software.
The library is thread-safe, automatically recognizes and scans an
archives. Scanning is very fast - in most cases it won't be noticeable.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html566"
HREF="node36.html">API</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,209 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>API</TITLE>
<META NAME="description" CONTENT="API">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node35.html">
<LINK REL="up" HREF="node35.html">
<LINK REL="next" HREF="node37.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html575"
HREF="node37.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html571"
HREF="node35.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html567"
HREF="node35.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html573"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html576"
HREF="node37.html">Problem solving</A>
<B> Up:</B> <A NAME="tex2html572"
HREF="node35.html">LibClamAV</A>
<B> Previous:</B> <A NAME="tex2html568"
HREF="node35.html">LibClamAV</A>
&nbsp <B> <A NAME="tex2html574"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00061000000000000000">
API</A>
</H2>
Each program using libclamav must include <I>clamav.h</I> header file:
<PRE>
#include &lt;clamav.h&gt;
</PRE>
The first step is an engine initialization. There are three functions
available:
<PRE>
int cl_loaddb(const char *filename, struct cl_node **root,
int *virnum);
int cl_loaddbdir(const char *dirname, struct cl_node **root,
int *virnum);
char *cl_retdbdir(void);
</PRE>
<I>cl_loaddb()</I> loads one database per time, <I>cl_loaddbdir()</I>
loads all <I>.db</I> and .db2 files from the directory <I>dirname</I>.
<I>cl_retdbdir()</I> returns hardcoded database directory path.
The database will be saved under <I>root</I> and the number of the loaded
signatures will be <B>added</B> to <I>virnum</I>. Pointer to the tree
structure (trie, see <A HREF="node41.html#engine">7.2</A>) must initially point to the NULL. If you
don't want to save the number of signatures loaded pass the NULL as the
third argument. <I>cl_loaddb</I> functions return 0 on success and
other value on failure.
<PRE>
struct cl_node *root = NULL;
int ret;
ret = cl_loaddbdir(cl_retdbdir(), &amp;root, NULL);
</PRE>
There's elegant way to print libclamav's error codes:
<PRE>
char *cl_perror(int clerror);
</PRE>
<I>cl_perror()</I> returns a (statically allocated) string describing
<I>clerror</I> code:
<PRE>
if(ret) {
printf("cl_loaddbdir() error: %s\n", cl_perror(ret));
exit(1);
}
</PRE>
When database is loaded, you must create the proper trie with:
<PRE>
void cl_buildtrie(struct cl_node *root);
</PRE>
In our example:
<PRE>
cl_buildtrie(root);
</PRE>
OK, now you can scan a buffer, descriptor or file with:
<PRE>
int cl_scanbuff(const char *buffer, unsigned int length,
char **virname, const struct cl_node *root);
int cl_scandesc(int desc, char **virname, unsigned long int
*scanned, const struct cl_node *root, const struct cl_limits
*limits, int options);
int cl_scanfile(const char *filename, char **virname,
unsigned long int *scanned, const struct cl_node *root,
const struct cl_limits *limits, int options);
</PRE>
All the functions save a virus name address under <I>virname</I> pointer.
<I>virname</I> points to the name in the trie structure, thus it can't be
released directly. <I>cl_scandesc()</I> and <I>cl_scanfile()</I> can
increase <I>scanned</I> value in CL_COUNT_PRECISION units. They also
support archive limits:
<PRE>
struct cl_limits {
int maxreclevel;
int maxfiles;
long int maxfilesize;
};
</PRE>
The last argument configures scan engine. Currently it supports
<B>CL_ARCHIVE</B> (enables archive scanning), <B>CL_RAW</B>
(disables archive scanning) and <B>CL_MAIL</B> (enables mbox
and Maildir scanning).
The functions return 0 (<B>CL_CLEAN</B>) when no virus is found,
<B>CL_VIRUS</B> when virus is found and other value on failure.
<PRE>
struct cl_limits limits;
char *virname;
/* maximal number of files in archive */;
limits.maxfiles = 100
/* maximal archived file size == 10 Mb */
limits.maxfilesize = 10 * 1048576;
/* maximal recursion level */
limits.maxreclevel = 8;
if((ret = cl_scanfile("/home/zolw/test", &amp;virname, NULL, root,
&amp;limits, CL_ARCHIVE)) == CL_VIRUS) {
printf("Detected %s virus.\n", virname);
} else {
printf("No virus detected.\n");
if(ret != CL_CLEAN)
printf("Error: %s\n", cl_perror(ret));
}
</PRE>
When you don't need to scan more files, the trie should be released
with:
<PRE>
void cl_freetrie(struct cl_node *root);
</PRE>
You will find some examples in clamav sources. Each program using
libclamav must be linked against it:
<PRE>
gcc -Wall ex1.c -o ex1 -lclamav
</PRE>
Enjoy !
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html575"
HREF="node37.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html571"
HREF="node35.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html567"
HREF="node35.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html573"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html576"
HREF="node37.html">Problem solving</A>
<B> Up:</B> <A NAME="tex2html572"
HREF="node35.html">LibClamAV</A>
<B> Previous:</B> <A NAME="tex2html568"
HREF="node35.html">LibClamAV</A>
&nbsp <B> <A NAME="tex2html574"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,79 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Problem solving</TITLE>
<META NAME="description" CONTENT="Problem solving">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node39.html">
<LINK REL="previous" HREF="node35.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node38.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html587"
HREF="node38.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html583"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html577"
HREF="node36.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html585"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html588"
HREF="node38.html">Return codes</A>
<B> Up:</B> <A NAME="tex2html584"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html578"
HREF="node36.html">API</A>
&nbsp <B> <A NAME="tex2html586"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00070000000000000000">
Problem solving</A>
</H1>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html589"
HREF="node38.html">Return codes</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,145 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Return codes</TITLE>
<META NAME="description" CONTENT="Return codes">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node37.html">
<LINK REL="up" HREF="node37.html">
<LINK REL="next" HREF="node39.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html598"
HREF="node39.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html594"
HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html590"
HREF="node37.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html596"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html599"
HREF="node39.html">Technicals</A>
<B> Up:</B> <A NAME="tex2html595"
HREF="node37.html">Problem solving</A>
<B> Previous:</B> <A NAME="tex2html591"
HREF="node37.html">Problem solving</A>
&nbsp <B> <A NAME="tex2html597"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00071000000000000000">
Return codes</A>
</H2>
Return codes are very useful, especially in system scripts. You may
check the return code from <I>clamscan</I>, by running the following
command directly after the scanner exits:
<PRE>
$ echo $?
</PRE>
Here is a list of return codes from <I>clamscan</I>:
<BR>
<P>
<B>0: </B> No virus was found.
<BR> <B>1: </B> Virus(es) detected.
<BR> <B>40: </B> Unknown option was passed to <I>clamscan</I>. Please check
<I>clamscan -help</I> or manual page for available options.
<BR> <B>50: </B> Problem with initialization of virus database. Probably
it doesn't exist in the default place or wrong file was passed
to <I>-database</I>.
<BR> <B>51: </B> Wrong number of threads was passed to <I>-threads</I>. It
must be a natural number <IMG
WIDTH="33" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="img3.png"
ALT="$ \ge 0$">.
<BR> <B>52: </B> Not supported file type. Scanner supports regular files,
directories and symlinks.
<BR> <B>53: </B> Can't open directory.
<BR> <B>54: </B> Can't open file.<IMG
WIDTH="13" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img4.png"
ALT="$^5$">
<BR> <B>55: </B> Error reading file. Probably the medium you are reading is broken.
<A NAME="tex2html28"
HREF="footnode.html#foot657"><SUP>5</SUP></A>
<BR> <B>56: </B> Can't stat input file or directory. File / directory you want to
scan doesn't exist.
<BR> <B>57: </B> Can't get absolute pathname of current working directory. Your
current pathname is longer then 200 characters. When clamscan
is started without a input file / directory it scans the current
directory. For some reasons it needs absolute pathnames, the buffer
is hardcoded to 200 characters and that should be sufficient.
<BR> <B>58: </B> I/O error. Please check the filesystem.
<BR> <B>59: </B> Can't get information about current user (running clamscan).
<BR> <B>60: </B> Can't get information about user <I>clamav</I>. User <I>clamav</I>
(default unprivileged user) doesn't exist in /etc/passwd.
<BR> <B>61: </B> Can't fork. Can't create new process, please check your limits.
<BR> <B>63: </B> Can't create temporary file or directory. Please check permissions.
<BR> <B>64: </B> Can't write to temporary directory. Please specify another one.
<BR> <B>70: </B> Can't allocate and clear memory. This is a critical error, please
check your system.
<BR> <B>71: </B> Can't allocate memory. Look above.
<BR>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html598"
HREF="node39.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html594"
HREF="node37.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html590"
HREF="node37.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html596"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html599"
HREF="node39.html">Technicals</A>
<B> Up:</B> <A NAME="tex2html595"
HREF="node37.html">Problem solving</A>
<B> Previous:</B> <A NAME="tex2html591"
HREF="node37.html">Problem solving</A>
&nbsp <B> <A NAME="tex2html597"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,81 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Technicals</TITLE>
<META NAME="description" CONTENT="Technicals">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node42.html">
<LINK REL="previous" HREF="node37.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node40.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html610"
HREF="node40.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html606"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html600"
HREF="node38.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html608"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html611"
HREF="node40.html">Security</A>
<B> Up:</B> <A NAME="tex2html607"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html601"
HREF="node38.html">Return codes</A>
&nbsp <B> <A NAME="tex2html609"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00080000000000000000">
Technicals</A>
</H1>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html612"
HREF="node40.html">Security</A>
<LI><A NAME="tex2html613"
HREF="node41.html">Scan engine</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Mailing lists</TITLE>
<META NAME="description" CONTENT="Mailing lists">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node5.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="node2.html">
<LINK REL="next" HREF="node5.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html174"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html170"
HREF="node2.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html164"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html172"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html175"
HREF="node5.html">Virus submitting</A>
<B> Up:</B> <A NAME="tex2html171"
HREF="node2.html">Introduction</A>
<B> Previous:</B> <A NAME="tex2html165"
HREF="node3.html">Features</A>
&nbsp <B> <A NAME="tex2html173"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00022000000000000000">
Mailing lists</A>
</H2>
There are three mailing lists available:
<UL>
<LI><B>announce@clamav.elektrapro.com</B> - info about new versions
<BR> (including debian package releases), moderated<A NAME="tex2html1"
HREF="footnode.html#foot75"><SUP>1</SUP></A>.
</LI>
<LI><B>users@clamav.elektrapro.com</B> - user questions
</LI>
<LI><B>devel@clamav.elektrapro.com</B> - developement
</LI>
<LI><B>virusdb@clamav.elektrapro.com</B> - database update information
</LI>
</UL>
<P>
You can subscribe by sending an empty email to
<BR>
listname-subscribe@clamav.elektrapro.com, or via www at
<BR> <TT><A NAME="tex2html2"
HREF="http://clamav.elektrapro.com/ml">http://clamav.elektrapro.com/ml</A></TT>
<BR>
After subscribing you must reply to a special message sent at your address.
<P>
Mailing lists are archived at:
<BR> <TT><A NAME="tex2html3"
HREF="http://archive.elektrapro.com/clamav.elektrapro.com/users/">http://archive.elektrapro.com/clamav.elektrapro.com/users/</A></TT>
<BR> <TT><A NAME="tex2html4"
HREF="http://archive.elektrapro.com/clamav.elektrapro.com/devel/">http://archive.elektrapro.com/clamav.elektrapro.com/devel/</A></TT>
<BR>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Security</TITLE>
<META NAME="description" CONTENT="Security">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node41.html">
<LINK REL="previous" HREF="node39.html">
<LINK REL="up" HREF="node39.html">
<LINK REL="next" HREF="node41.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html624"
HREF="node41.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html620"
HREF="node39.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html614"
HREF="node39.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html622"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html625"
HREF="node41.html">Scan engine</A>
<B> Up:</B> <A NAME="tex2html621"
HREF="node39.html">Technicals</A>
<B> Previous:</B> <A NAME="tex2html615"
HREF="node39.html">Technicals</A>
&nbsp <B> <A NAME="tex2html623"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00081000000000000000">
Security</A>
</H2>
Clam AntiVirus cares about security. Dangerous operations in clamscan
(such as extracting, temporary file creation, unlink() operations) are
executed with <I>clamav</I> privileges. <B>But there are no programs
without bugs.</B> This is a young project and everything is possible. In some
places it uses the <I>snprintf()</I> function, some older systems (C
libraries) however the buffer length in this function isn't checked. This
example shows, that you should check your system first. Never set SUID/SGID
bits on Clam AntiVirus executables. If the SUID bit is set and
<I>clamscan</I> is owned by root, every file on the system may be modified
with the <I>-log</I> option. Normal users may use <I>clamscan</I> to scan
their files, other files shouldn't interest them. Clam AntiVirus Daemon
was written with security in mind - it doesn't allow external unpackers
(uses only libclamav unarchivers) and contains some additional protections.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Scan engine</TITLE>
<META NAME="description" CONTENT="Scan engine">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node40.html">
<LINK REL="up" HREF="node39.html">
<LINK REL="next" HREF="node42.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html634"
HREF="node42.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html630"
HREF="node39.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html626"
HREF="node40.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html632"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html635"
HREF="node42.html">Credits</A>
<B> Up:</B> <A NAME="tex2html631"
HREF="node39.html">Technicals</A>
<B> Previous:</B> <A NAME="tex2html627"
HREF="node40.html">Security</A>
&nbsp <B> <A NAME="tex2html633"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00082000000000000000"></A><A NAME="engine"></A>
<BR>
Scan engine
</H2>
New versions of Clam AntiVirus are using a mutation of Aho-Corasick
pattern matching algorithm. This algorithm uses a finite state pattern
matching automaton [<A
HREF="node44.html#clr">1</A>]. The algorithm itself is a generalization of
the Knuth-Morris-Pratt algorithm. Please look at <I>matcher.h</I> for data
type definitions. The automaton is represented by the trie. Trie is
a rooted tree with some specific properties [<A
HREF="node44.html#acwww">2</A>]. Each node
of the trie represents some state of the automaton. In the implementation,
the node is defined as following:
<PRE>
struct node {
int islast;
struct patt *list;
int maxpatlen;
struct node *next[NUM_CHILDS], *trans[NUM_CHILDS], *fail;
};
</PRE>
[To be continued...]
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,348 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Credits</TITLE>
<META NAME="description" CONTENT="Credits">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node43.html">
<LINK REL="previous" HREF="node39.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node43.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html646"
HREF="node43.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html642"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html636"
HREF="node41.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html644"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html647"
HREF="node43.html">Authors</A>
<B> Up:</B> <A NAME="tex2html643"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html637"
HREF="node41.html">Scan engine</A>
&nbsp <B> <A NAME="tex2html645"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00090000000000000000">
Credits</A>
</H1>
In alphabetical order:
<UL>
<LI>AIX PDSLIB, University of California at Los Angeles
<BR> <TT><A NAME="tex2html29"
HREF="http://aixpdslib.seas.ucla.edu">http://aixpdslib.seas.ucla.edu</A></TT> - binary packages for AIX
</LI>
<LI>Kamil Andrusz &lt;wizz(.at.)mniam.net&gt; - OpenBSD support
patch
</LI>
<LI>Jean-Edouard BABIN &lt;Jeb(.at.)jeb.com.fr&gt; - NetBSD support;
made his NetBSD box available to me.
</LI>
<LI>Marc Baudoin &lt;babafou(.at.)babafou.eu.org&gt; - NetBSD
testing
</LI>
<LI>Hilko Bengen &lt;bengen(.at.)vdst-ka.inka.de&gt; - support for
Clam AntiVirus in his AMaViS - "Next Generation"
</LI>
<LI>Patrick Bihan-Faou &lt;patrick(.at.)mindstep.com&gt; - support
for -with-user/group in the configure script.
</LI>
<LI>Eric I. Lopez Carreon &lt;elopezc(.at.)technitrade.com&gt; -
Spanish
<BR>"Sendmail + AMaViS + ClamAV Installation" how-to
</LI>
<LI>Nicholas Chua &lt;nicholas(.at.)ncmbox.net&gt; - big database
updates
</LI>
<LI>Damien Curtain &lt;damien(.at.)pagefault.org&gt; - fix for the
-remove option in clamscan (it didn't work with internal
archivers); implementation of the -move option in clamscan,
mirroring support in freshclam.
</LI>
<LI>Krisztian Czako &lt;slapic(.at.)linux.co.hu&gt; - virus
signatures.
</LI>
<LI>Diego d'Ambra &lt;da@softcom.dk&gt; - virus samples.
</LI>
<LI>Alejandro Dubrovsky &lt;s328940(.at.)student.uq.edu.au&gt; -
patch for including and excluding multiple patterns.
</LI>
<LI>Magnus Ekdahl &lt;magnus(.at.)debian.org&gt; - Debian
<BR> (<TT><A NAME="tex2html30"
HREF="http://www.debian.org">http://www.debian.org</A></TT>) package maintainer; fixes and
improvements.
</LI>
<LI>Jason Englander &lt;jason(.at.)englanders.cc&gt; - bug report:
clamd recursive scanning of the directories on non standard
file systems; configure script support for id checking. Database
maintainer.
</LI>
<LI>Oden Eriksson &lt;oden.eriksson(.at.)kvikkjokk.net&gt; -
Mandrake
<BR>
package maintainer.
</LI>
<LI>Edison Figueira Junior &lt;edison(.at.)brc.com.br&gt; - money
donation.
</LI>
<LI>David Ford &lt;david+cert(.at.)blue-labs.org&gt; - gcc 3.x
support fix.
</LI>
<LI>Piotr Gackiewicz &lt;gacek(.at.)intertele.pl&gt; - bug report:
clamd
<BR>
THREXIT bug
</LI>
<LI>Nick Gazaloff &lt;nick(.at.)sbin.org&gt; - socket descriptors
leak fix in clamd.
</LI>
<LI>Wieslaw Glod &lt;wkg(.at.)x2.pl&gt; - bug report: FreeBSD
compile problem in 0.22.
</LI>
<LI>Matthew A. Grant &lt;grantma(.at.)anathoth.gen.nz&gt; -
OpenAntiVirus Update script (<I>oav-update</I>)
</LI>
<LI>Hrvoje Habjanic &lt;hrvoje.habjanic(.at.)zg.hinet.hr&gt; -
syslog support patch for clamd; virus provider.
</LI>
<LI>Michal Hajduczenia &lt;michalis(.at.)mat.uni.torun.pl&gt; - Clam
title logo.
</LI>
<LI>Paul Hoadley &lt;paulh(.at.)logixsquad.net - "Installing
qmail-scanner, Clam AntiVirus and SpamAssassin under FreeBSD"
how-to.
</LI>
<LI>Thomas W. Holt Jr. &lt;twh(.at.)cohesive.net&gt; -
information about ClamAV compiling on Solaris 2.6 and Cobalt
MIPS boxes.
</LI>
<LI>Douglas J Hunley &lt;doug(.at.)hunley.homeip.net&gt; -
<BR>
clamav.linux-sxs.org mirror, ideas.
</LI>
<LI>Kurt Huwig &lt;kurt(.at.)iku-netz.de&gt; - smart suggestions,
ScannerDaemon (OpenAntiVirus) author.
</LI>
<LI>Dave Jones &lt;dave(.at.)kalkbay.co.za&gt; - bug report: problem
in option parser.
</LI>
<LI>Kazuhiko &lt;kazuhiko(.at.)fdiary.net&gt; - Qmail-Scanner 0.12
support patch.
</LI>
<LI>Robbert Kouprie &lt;robbert(.at.)exx.nl&gt; - patch for unrarlib
buffer overflow.
</LI>
<LI>Henk Kuipers &lt;henk(.at.)opensourcesolutions.nl&gt; - bug
report:
<BR>
0.50 compile problem.
</LI>
<LI>Nigel Kukard &lt;nkukard(.at.)lbsd.net&gt; - virus signatures.
</LI>
<LI>Dr Andrzej Kurpiel &lt;akurpiel(.at.)mat.uni.torun.pl&gt; -
choice of
<BR>
this project from my list.
</LI>
<LI>Dennis Leeuw &lt;dleeuw(.at.)made-it.com&gt; - <I>"Debian
GNU/Linux Mail Server"</I> how-to, <B>corrections of this
document</B>.
</LI>
<LI>Free Oscar &lt;freeoscar(.at.)wp.pl&gt; - hex2str() enhancement
</LI>
<LI>Martin Lesser &lt;admin-debian(.at.)bettercom.de&gt; - patch for
the
<BR>
http-proxy problem in 0.51.
</LI>
<LI>Peter N Lewis &lt;peter(.at.)stairways.com.au&gt; - Mac OS X
data type problem bugfix.
</LI>
<LI>Mike Loewen &lt;mloewen(.at.)sturgeon.cac.psu.edu&gt; - bug
report:
<BR>
clamscan 0.24 compile error on Solaris 8; various
Solaris and AIX tips.
</LI>
<LI>Stefan Martig &lt;sm(.at.)officeco.ch&gt; - bug report:
/proc/cpuinfo problem analysis on Linux/Alpha, providing me with
access to the Linux/Alpha system.
</LI>
<LI>Brian May &lt;bam(.at.)debian.org&gt; - bug report: clamd
writing to an undefined file.
</LI>
<LI>Ken McKittrick &lt;klmac(.at.)usadatanet.com&gt; - intensive
FreeBSD
<BR>
testing, hdd donation.
</LI>
<LI>Chris van Meerendonk &lt;cvm(.at.)castel.nl&gt; - virus
samples, clamav.essentkabel.com mirror.
</LI>
<LI>Arkadiusz Miskiewicz &lt;misiek(.at.)pld.org.pl&gt; - Polish(ed)
Linux
<BR>
Distribution (<TT><A NAME="tex2html31"
HREF="http://www.pld.org.pl">http://www.pld.org.pl</A></TT>) rpm package
maintainer; fixes and ideas.
</LI>
<LI>Doug Monroe &lt;doug(.at.)planetconnect.com&gt; - Qmail-Scanner
problem analysis.
</LI>
<LI>Hendrik Muhs &lt;Hendrik.Muhs(.at.)student.uni-magdeburg.de&gt; -
<BR>
pattern matcher optimization.
</LI>
<LI>Luca 'NERvOus' Gibelli &lt;nervous(.at.)nervous.it&gt; -
ElektraPro.com administrator.
</LI>
<LI>Wojciech Noworyta &lt;wnow(.at.)konarski.edu.pl&gt; - bug
report: buffer overflow in clamscan's help under Windows.
</LI>
<LI>Joe Oaks &lt;joe.oaks(.at.)hp.com&gt; - HPUX support.
</LI>
<LI>Washington Odhiambo &lt;wash(.at.)wananchi.com&gt; - extensive
mbox
<BR>
code testing, bug reports.
</LI>
<LI>Masaki Ogawa &lt;proc(.at.)mac.com&gt; - Mac OS X support,
Japanese documentation.
</LI>
<LI>Martijn van Oosterhout &lt;kleptog(.at.)svana.org&gt; - code
analysis and suggestions.
</LI>
<LI>OpenAntiVirus.org Team - virus database.
</LI>
<LI>Eric Parsonage eric(.at.)eparsonage.com - "Installing
qmail-scanner, Clam Antivirus and SpamAssassin under FreeBSD"
how-to.
</LI>
<LI>Oliver Paukstadt &lt;pstadt(.at.)stud.fh-heilbronn.de&gt; - bug
report: crash with strange Zip archives.
</LI>
<LI>Kristof Petr &lt;Kristof.P(.at.)fce.vutbr.cz&gt; - bug report:
socket descriptors leak in clamd; file decriptors leak in
clamd, clamscan and libclamav.
</LI>
<LI>Ed Phillips &lt;ed(.at.)UDel.Edu&gt; - patch for the internal
logger in clamd.
</LI>
<LI>Andreas Piesk &lt;Andreas.Piesk(.at.)heise.de&gt; - clamd:
<BR>
ScannerDaemonOutputFormat option.
</LI>
<LI>Ant La Porte &lt;ant(.at.)dvere.net&gt; - proxy support
enhancement.
</LI>
<LI>Sergei Pronin &lt;sp(.at.)finndesign.fi&gt; - bug report:
access problems in superuser mode.
</LI>
<LI>Thomas Quinot &lt;thomas(.at.)cuivre.fr.eu.org&gt; - patch for
<BR>
non-default prefix and incoherent database location
specification in defaults.h of clamscan and freshclam.
</LI>
<LI>David Sanchez &lt;dsanchez(.at.)veloxia.com&gt; - bug report:
thread deadlocking
<BR>
in a critical error situation.
</LI>
<LI>Martin Schitter - bug report: libclamav crash on certain
zip files.
</LI>
<LI>Enrico Scholz
&lt;enrico.scholz(.at.)informatik.tu-chemnitz.de&gt; -
daemonize() enhancements.
</LI>
<LI>Dr Zbigniew Szewczak &lt;zssz(.at.)mat.uni.torun.pl&gt; - ideas,
suggestions and time spent on discussing some aspects of ClamAV.
</LI>
<LI>Gernot Tenchio &lt;g.tenchio(.at.)telco-tech.de&gt; - proxy
authorization support in freshclam.
</LI>
<LI>Masahiro Teramoto &lt;markun@onohara.to&gt; - official FreeBSD
port maintainer.
</LI>
<LI>Trashware trashware(.at.)gmx.net - TrashScan
</LI>
<LI>Troy Wollenslegel &lt;troy(.at.)intranet.org&gt; - bug report:
handling inaccessible directories in archives.
</LI>
<LI>Andoni Zubimendi &lt;andoni(.at.)lpsat.net&gt; - fix for
segmentation
<BR>
fault in 0.12 (NULL pointer dereference).
</LI>
</UL>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html646"
HREF="node43.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html642"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html636"
HREF="node41.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html644"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html647"
HREF="node43.html">Authors</A>
<B> Up:</B> <A NAME="tex2html643"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html637"
HREF="node41.html">Scan engine</A>
&nbsp <B> <A NAME="tex2html645"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Authors</TITLE>
<META NAME="description" CONTENT="Authors">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node44.html">
<LINK REL="previous" HREF="node42.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node44.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html658"
HREF="node44.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html654"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html648"
HREF="node42.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html656"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html659"
HREF="node44.html">Bibliography</A>
<B> Up:</B> <A NAME="tex2html655"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html649"
HREF="node42.html">Credits</A>
&nbsp <B> <A NAME="tex2html657"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION000100000000000000000">
Authors</A>
</H1>
Nigel Horne &lt;njh(.at.)bandsman.co.uk&gt; is an active ClamAV developer
responsible for the mbox code in libclamav and clamav-milter. I take care
most of these things are working ;) If you have some questions, feel free
to mail us.
<BR>
<P>
Tomasz Kojm &lt;zolw(.at.)konarski.edu.pl&gt;
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,75 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Bibliography</TITLE>
<META NAME="description" CONTENT="Bibliography">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node45.html">
<LINK REL="previous" HREF="node43.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node45.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html670"
HREF="node45.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html666"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html660"
HREF="node43.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html668"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html671"
HREF="node45.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html667"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html661"
HREF="node43.html">Authors</A>
&nbsp <B> <A NAME="tex2html669"
HREF="node1.html">Contents</A></B>
<BR><BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000110000000000000000">
Bibliography</A>
</H2><DL COMPACT><DD><P></P><DT><A NAME="clr">1</A>
<DD>
Cormen, Leiserson, Rivest: <I>Introduction to Algorithms</I>,
Chapter 34, MIT Press.
<P></P><DT><A NAME="acwww">2</A>
<DD>
<FONT SIZE="-1"> <TT><A NAME="tex2html32"
HREF="http://www-sr.informatik.uni-tuebingen.de/~buehler/AC/AC.html">http://www-sr.informatik.uni-tuebingen.de/~buehler/AC/AC.html</A></TT></FONT>:
Aho-Corasick algorithm description
</DL><BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,79 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>About this document ...</TITLE>
<META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node44.html">
<LINK REL="up" HREF="clamdoc.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html676"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html672"
HREF="node44.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html678"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Up:</B> <A NAME="tex2html677"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html673"
HREF="node44.html">Bibliography</A>
&nbsp <B> <A NAME="tex2html679"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION000120000000000000000">
About this document ...</A>
</H1>
<P>
This document was generated using the
<A HREF="http://www-texdev.mpce.mq.edu.au/l2h/docs/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2K.1beta (1.48)
<P>
Copyright &#169; 1993, 1994, 1995, 1996,
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
Computer Based Learning Unit, University of Leeds.
<BR>
Copyright &#169; 1997, 1998, 1999,
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT><A NAME="tex2html33"
HREF="../clamdoc.tex">clamdoc.tex</A></TT>
<P>
The translation was initiated by Tomasz Kojm on 2003-06-21
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Virus submitting</TITLE>
<META NAME="description" CONTENT="Virus submitting">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="previous" HREF="node4.html">
<LINK REL="up" HREF="node2.html">
<LINK REL="next" HREF="node6.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html184"
HREF="node6.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html180"
HREF="node2.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html176"
HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html182"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html185"
HREF="node6.html">Installation</A>
<B> Up:</B> <A NAME="tex2html181"
HREF="node2.html">Introduction</A>
<B> Previous:</B> <A NAME="tex2html177"
HREF="node4.html">Mailing lists</A>
&nbsp <B> <A NAME="tex2html183"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00023000000000000000">
Virus submitting</A>
</H2>
If you have a virus that is not detected by ClamAV with the latest database,
please send it (as a normal attachment) to:
<DIV ALIGN="CENTER">
virus@clamav.elektrapro.com
</DIV>
If your system doesn't allow you to send infected files, please
archive the virus sample into a zip archive with password: <I>virus</I>
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Installation</TITLE>
<META NAME="description" CONTENT="Installation">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node16.html">
<LINK REL="previous" HREF="node2.html">
<LINK REL="up" HREF="clamdoc.html">
<LINK REL="next" HREF="node7.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html196"
HREF="node7.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html192"
HREF="clamdoc.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html186"
HREF="node5.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html194"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html197"
HREF="node7.html">Requirements</A>
<B> Up:</B> <A NAME="tex2html193"
HREF="clamdoc.html">clamdoc</A>
<B> Previous:</B> <A NAME="tex2html187"
HREF="node5.html">Virus submitting</A>
&nbsp <B> <A NAME="tex2html195"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00030000000000000000">
Installation</A>
</H1>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html198"
HREF="node7.html">Requirements</A>
<LI><A NAME="tex2html199"
HREF="node8.html">Supported platforms</A>
<LI><A NAME="tex2html200"
HREF="node9.html">Actual versions</A>
<LI><A NAME="tex2html201"
HREF="node10.html">Binary packages</A>
<LI><A NAME="tex2html202"
HREF="node11.html">Installation</A>
<LI><A NAME="tex2html203"
HREF="node12.html">Configuration</A>
<LI><A NAME="tex2html204"
HREF="node13.html">Testing</A>
<LI><A NAME="tex2html205"
HREF="node14.html">FreshClam: Setting up auto-updating</A>
<LI><A NAME="tex2html206"
HREF="node15.html">FreshClam: Mirrors and mirrors.txt</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,74 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Requirements</TITLE>
<META NAME="description" CONTENT="Requirements">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node8.html">
<LINK REL="previous" HREF="node6.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node8.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html217"
HREF="node8.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html213"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html207"
HREF="node6.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html215"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html218"
HREF="node8.html">Supported platforms</A>
<B> Up:</B> <A NAME="tex2html214"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html208"
HREF="node6.html">Installation</A>
&nbsp <B> <A NAME="tex2html216"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00031000000000000000">
Requirements</A>
</H2>
You will need the <I>zlib</I> and <I>zlib-devel</I> packages and the
<I>gcc</I> compiler (both 2.9x and 3.x are supported). You can install
the <I>bzip2</I> library (and its development files) to get bzip2
support, but this is not required.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,102 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Supported platforms</TITLE>
<META NAME="description" CONTENT="Supported platforms">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node9.html">
<LINK REL="previous" HREF="node7.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node9.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html229"
HREF="node9.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html225"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html219"
HREF="node7.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html227"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html230"
HREF="node9.html">Actual versions</A>
<B> Up:</B> <A NAME="tex2html226"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html220"
HREF="node7.html">Requirements</A>
&nbsp <B> <A NAME="tex2html228"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00032000000000000000">
Supported platforms</A>
</H2>
Clam AntiVirus is prepared for the installation on the following
operating systems / architectures (tested platforms in brackets):
<UL>
<LI>GNU/Linux 2.2/2.4 (All flavours, Intel/SPARC/Alpha/zSeries/S/390)
</LI>
<LI>Solaris 2.6/7/8/9 (Intel/SPARC)
</LI>
<LI>FreeBSD 4.5/6/7 5.0 (Intel/Alpha)
</LI>
<LI>OpenBSD 3.0/1/2 (Intel)
</LI>
<LI>AIX 4.1/4.2/4.3/5.1 (RISC 6000)
</LI>
<LI>HPUX 11.0
</LI>
<LI>SCO UNIX
</LI>
<LI>Mac OS X
</LI>
<LI>BeOS
</LI>
<LI>Cobalt MIPS boxes (RAQ1, RAQ2, QUBE2)
</LI>
<LI>Windows/Cygwin
</LI>
</UL>
<P>
Some features may not be available with your operating system. If you have
run Clam AntiVirus on the system not listed above, please let us know.
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,80 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Actual versions</TITLE>
<META NAME="description" CONTENT="Actual versions">
<META NAME="keywords" CONTENT="clamdoc">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="clamdoc.css">
<LINK REL="next" HREF="node10.html">
<LINK REL="previous" HREF="node8.html">
<LINK REL="up" HREF="node6.html">
<LINK REL="next" HREF="node10.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html241"
HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html237"
HREF="node6.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html231"
HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html239"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html242"
HREF="node10.html">Binary packages</A>
<B> Up:</B> <A NAME="tex2html238"
HREF="node6.html">Installation</A>
<B> Previous:</B> <A NAME="tex2html232"
HREF="node8.html">Supported platforms</A>
&nbsp <B> <A NAME="tex2html240"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00033000000000000000">
Actual versions</A>
</H2>
Clam AntiVirus can be obtained from: <BR> <DIV ALIGN="CENTER">
<TT><A NAME="tex2html5"
HREF="http://clamav.elektrapro.com">http://clamav.elektrapro.com</A></TT>
<BR>
<BR>
</DIV>
<P>
The site is sponsored by ElektraPro.com
<P>
<BR><HR>
<ADDRESS>
Tomasz Kojm
2003-06-21
</ADDRESS>
</BODY>
</HTML>

View file

@ -0,0 +1,54 @@
.\" Manual page created by Tomasz Kojm, 29.06.2002
.TH "sigtool" "1" "October 1, 2002" "Tomasz Kojm" "Clam Antivirus"
.SH "NAME"
.LP
sigtool \- generate virus signature
.SH "SYNOPSIS"
.LP
sigtool [options]
.SH "DESCRIPTION"
.LP
sigtool generates virus signature using an external anti\-virus scanner, which is able to detect the virus. It's a part of the Clam AntiVirus package. Its purpose is the simplification of signature creation process when infected file and console scanner which recognizes it are available. Its speed depends on scanner, and file and signature sizes. sigtool may generate hexadecimal strings from input data, also.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Output help information and exit.
.TP
\fB\-V, \-\-version\fR
Print the version number and exit.
.TP
\fB\-\-quiet\fR
Be quiet \- output only error messages.
.TP
\fB\-\-stdout\fR
Write all messages to standard output (stdout), instead of standard error output (stderr).
.TP
\fB\-\-hex\-dump\fR
Read data from stdin and write hex string to stdout.
.TP
\fB\-c, \-\-command\fR
Scanner command with options. Remember about quotes, if the argument string contains spaces. Command should contain everything except infected file.
.TP
\fB\-f, \-\-file\fR
Infected file.
.TP
\fB\-s, \-\-string\fR
Unique string from anti\-virus scanner's output when it detects the virus. In most cases it should be the virus name.
.SH "EXAMPLES"
.LP
.TP
(0) Generate hex string from testfile and save it to testfile.hex:
\fBcat testfile | sigtool \-\-hex\-dump > testfile.hex\fR
.TP
(1) Please check clamdoc for example of usage.
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Tomasz Kojm <zolw@konarski.edu.pl>
.SH "SEE ALSO"
.LP
clamd(8), clamdscan(1), clamscan(1), freshclam(1), clamav.conf(5)

View file

@ -0,0 +1,28 @@
#
# Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
# Fixes by Arkadiusz Miskiewicz <misiek@pld.org.pl>
# Masaki Ogawa <proc@mac.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
EXTRA_DIST = clamav.conf
CFGINST = @CFGDIR@
if INSTALL_CONF
install:
$(mkinstalldirs) $(DESTDIR)$(CFGINST)
@$(INSTALL_DATA) clamav.conf $(DESTDIR)$(CFGINST)
endif

Some files were not shown because too many files have changed in this diff Show more